التدقيق
كيف يعمل Slopographic
تعمل التطبيقات في متصفحك. تسرد هذه الصفحة ميزات المتصفح التي تستخدمها، وكل طلب شبكي يمكن أن ترسله، وما يُحفظ على جهازك، حتى تستطيع التحقق من كل ادعاء بنفسك. وقد جرى التحقق من كل عبارة هنا بمقارنتها بالشيفرة المصدرية في المستودع العام.
الخلاصة في سطور
- تبقى ملفاتك على جهازك. ليس للتطبيقات خادم يستقبلها، ولا توجد شيفرة ترفع ملفاً تفتحه أو تحفظه. الاستثناء الوحيد هو نسخة توافق على أن يرسلها زر الذكاء الاصطناعي إلى خدمة ذكاء اصطناعي وصلتها بنفسك.
- الملفات التي تختارها على القرص تُقرأ وتُكتب عبر واجهة File System Access في المتصفح، في المجلدات التي تختارها. انظر واجهات المتصفح.
- تُحفظ البيانات في تخزين المتصفح الخاص على هذا الجهاز (IndexedDB وlocalStorage). انظر ما الذي يُخزَّن.
- تغادر بعض الطلبات الموقع، لكن فقط في الحالات المذكورة في كل طلب صادر: تنزيل تؤكده، ونسخة احتياطية سحابية تربطها، وخدمة ذكاء اصطناعي تربطها بمفتاحك الخاص، وأسعار الصرف التي تفعّلها، والتحليلات أو الإعلانات التي تقبلها.
- يعمل زر الذكاء الاصطناعي بنموذج على جهازك، أو بخادم على حاسوبك مثل Ollama أو LM Studio، أو بمفتاحك الخاص لخدمة مثل Claude أو ChatGPT أو Gemini. ومع المفتاح، ينتقل ما تطلبه من متصفحك مباشرةً إلى ذلك المزوّد. انظر زر الذكاء الاصطناعي.
- تحمّل الصفحة الرئيسية شيفرة Google Analytics في كل زيارة مع ضبط التحليلات على "مرفوض". تحمّلها الصفحات الأخرى فقط بعد أن تقبل التحليلات. وتُحمَّل الإعلانات فقط بعد أن تقبلها.
بلغة بسيطة
أين تذهب ملفاتي؟
لا مكان. حين تفتح صورة أو ملف PDF أو جدول بيانات، يقرؤه التطبيق داخل علامة تبويب المتصفح هذه. لا توجد خطوة رفع، ولا خادم لـ Slopographic يمكن أن يستقبلها. ما تحفظه يذهب إلى قرصك أنت، أو إلى تخزين هذا المتصفح على هذا الجهاز. ولا تُرسل نسخة إلى خدمة ذكاء اصطناعي إلا إذا ربطتها بمفتاحك الخاص وسمحت بذلك (انظر زر الذكاء الاصطناعي).
لماذا ينزّل التطبيق شيئاً أحياناً؟
بعض الميزات تحتاج إلى ملف كبير لا يستخدمه معظم الناس: نموذج ذكاء اصطناعي (لإزالة الخلفية أو قراءة النص أو تفريغ الكلام)، أو محرك الفيديو (لتحويل فيديو)، أو خط لنظام كتابة آخر. لا تُجلب هذه الملفات إلا حين تستخدم الميزة، بعد أن يخبرك التطبيق بما هي وما حجمها، وتُحفظ في المتصفح فيحدث ذلك مرة واحدة. ملفاتك أنت لا تدخل ضمن هذا الطلب أبداً.
هل يعمل دون اتصال؟
نعم، بعد الزيارة الأولى. يحتفظ المتصفح بملفات الموقع الخاصة به، فتُفتح التطبيقات وتعمل دون اتصال. الشيء الوحيد الذي يحتاج شبكة هو تنزيل لم تُنفّذه بعد (نموذج أو خط).
هل أحتاج إلى تثبيت أي شيء؟
لا. افتح التطبيق في المتصفح على هاتفك أو جهازك اللوحي أو حاسوبك وابدأ. يبقى يعمل دون إنترنت بعد زيارتك الأولى. أتريد أيقونة على شاشتك الرئيسية؟ على iPhone أو iPad، اضغط مشاركة ثم "إضافة إلى الشاشة الرئيسية". على Android، افتح قائمة المتصفح واضغط "إضافة إلى الشاشة الرئيسية". على الحاسوب، انقر أيقونة التثبيت في شريط العنوان. لا تحتاج إلى App Store أو Google Play، وتبقى ملفاتك على جهازك.
ماذا يرسل زر الذكاء الاصطناعي، وإلى أين؟
يعتمد ذلك على النموذج الذي تختاره. النموذج على جهازك (يحتاج WebGPU ويُنزَّل مرة واحدة) يجيب داخل علامة التبويب هذه، ولا يغادر جهازك أي شيء تسأل عنه. Ollama وLM Studio والخوادم المشابهة تعمل على حاسوبك، أو على حاسوب في شبكتك تُعدّه أنت. ومع مفتاحك الخاص لخدمة مثل Claude أو ChatGPT أو Gemini أو OpenRouter أو Groq، تنتقل رسائلك من متصفحك مباشرةً إلى ذلك المزوّد، دون أي خادم لـ Slopographic في الوسط، وتسري شروطه وأسعاره. لا تُرسل نسخة من ملف أو صورة لعملك إلا بعد أن تسأل اللوحة وتسمح بذلك (يمكنك السماح لطلب واحد، أو لزيارة، أو دائماً، والتراجع عن ذلك في أذونات الذكاء الاصطناعي). الصور التي يصنعها الذكاء الاصطناعي أو يعدّلها (توليد صورة، تعديل بالذكاء الاصطناعي) تحتاج إلى خدمة صور تربطها، مثل OpenAI أو Gemini أو OpenRouter بمفتاحك الخاص: لا شيء في المتصفح يرسمها. النماذج على جهازك وعلى حاسوبك الخاص لا تكلّف شيئاً؛ ولدى Gemini وGroq وMistral باقات مجانية، ولدى OpenRouter نماذج مجانية (تعلّمها اللوحة بعبارة "Free"). يُحفظ المفتاح في علامة التبويب هذه حتى تغلقها، أو في هذا المتصفح فقط إذا وضعت علامة على "تذكّر على هذا الجهاز". أما OpenRouter فيمكنك أيضاً الضغط على "تسجيل الدخول عبر OpenRouter" بدلاً من لصق مفتاح: ينتقل متصفحك إلى openrouter.ai، فتسمح بالوصول هناك، وعند العودة تطلب هذه الصفحة من OpenRouter نفسه مفتاحاً لهذا المتصفح. يجري تسجيل الدخول مباشرةً بين متصفحك وOpenRouter، ولا يمر شيء عبر خوادم Slopographic. يُدفع ثمن المفتاح من أرصدتك الخاصة في OpenRouter، ويُحفظ تماماً كما يُحفظ المفتاح الملصوق؛ يمكنك تحديد حد له أو إلغاؤه في openrouter.ai/settings/keys، و"نسيان المفتاح" ينزعه من هذا المتصفح.
هل يستطيع وكيل ذكاء اصطناعي استخدام التطبيقات؟
في متصفح يدعم WebMCP، نعم: يستطيع مساعد داخل المتصفح، أو وكيل على حاسوبك متصل عبر ملحق متصفح، تشغيل أوامر التطبيق وتحويلات File convert وسير العمل، وفتح الملفات أو حفظها أو تنزيلها. يشير إلى ملفاتك بمعرّفات؛ ويعمل التشغيل في علامة التبويب هذه، ولا ترفع التطبيقات شيئاً، مع أن الوكيل يرى ما تعيده الأدوات. أي شيء يحذف عملك أو يستبدله يسألك أولاً. WebMCP مسودة مبكرة: لدى Chrome تجربة له (الإصدارات من 149 إلى 156) وخلف علامة، ولدى Edge خلف علامة، أما Firefox وSafari فلا يدعمانه بعد. أوقفه من الإعدادات، أو من المساعدة، وكلاء الذكاء الاصطناعي.
هل أستطيع التحقق من هذا بنفسي؟
نعم. الشيفرة المصدرية عامة، والأقسام أدناه تسرد كل ميزة متصفح تستخدمها التطبيقات وكل طلب يمكنها إرساله، مع الملف الذي يقوم بذلك. يمكنك أيضاً فتح أدوات المطوّر في متصفحك، والذهاب إلى تبويب الشبكة (Network) ومراقبته: فتح ملفاتك وحفظها لا يرسل شيئاً.
استخدم Slopographic من Claude Code وتطبيقات الذكاء الاصطناعي الأخرى
قريباً: يستطيع تطبيق ذكاء اصطناعي على حاسوبك، مثل Claude Code وCodex وCursor وVS Code وClaude Desktop، أن يستخدم تطبيق Slopographic المفتوح في متصفحك: أوامره الحقيقية وتحويلاته وسير عمله، فتدخل ملفاتك وتخرج النتائج ملفات على حاسوبك. يعمل ذلك عبر خادم Slopographic MCP، وهو برنامج صغير يشغّله تطبيق الذكاء الاصطناعي على حاسوبك. لا يحتاج إلى حساب، ولا إلى تثبيت أكثر من تطبيق الذكاء الاصطناعي نفسه.
- Claude Code: اكتب
/plugin marketplace add slopographic/claude-plugin، ثم/plugin install slopographic@slopographic. افعل ذلك مرة واحدة. - اكتب
/slopographic:slop-connect(أضف اسم تطبيق، مثلphotoslop، إن شئت). يفتح Claude Code موقع Slopographic في متصفحك، ويعرض رمزاً قصيراً. - يسألك Chrome مرة واحدة إن كان يُسمح لهذا الموقع باستخدام التطبيقات والخدمات على هذا الجهاز. اختر سماح: هكذا تصل الصفحة إلى Claude Code على حاسوبك. تتحدث الصفحة مع حاسوبك وحده (127.0.0.1)، لا مع شبكتك.
- اكتب الرمز في الصفحة. ستعرض الصفحة بعدها "Claude Code متصل · قطع الاتصال" في الزاوية. اضغط "قطع الاتصال"، أو أغلق علامة التبويب، لإنهائه.
كل علامة تبويب تُقرن على حدة، والرمز يعمل مرة واحدة. لا يستطيع أي شيء آخر على حاسوبك استخدام الصفحة دونه. وتظل الإجراءات التي تحذف عملك أو تستبدله تسألك في الصفحة، كما في لوحة الذكاء الاصطناعي. يمكن لأي صفحة من Slopographic أن تتصل من لوحة الأوامر: Ctrl+K (⌘K على Mac)، ثم "الاتصال بتطبيق ذكاء اصطناعي…".
يظهر إعداد تطبيقات الذكاء الاصطناعي الأخرى (Codex وGemini CLI وCursor وVS Code وWindsurf وClaude Desktop) هنا حين تعمل السكربتات.
محادثات ChatGPT لا تستطيع الوصول إلا إلى خوادم الإنترنت، لذلك لا يمكنها استخدام هذا الخادم المحلي بعد. أما Codex في تطبيق ChatGPT المكتبي فيستطيع ذلك.
واجهات المتصفح، ومواصفة كل واحدة
مسارات الملفات هي الأماكن الرئيسية التي تُستخدم فيها كل واجهة. ابحث في المستودع عن اسم الواجهة للعثور على البقية.
| واجهة المتصفح | ما تُستخدم له | موقعها في الشيفرة | المواصفة |
|---|---|---|---|
File System Access: window.showDirectoryPicker، FileSystemDirectoryHandle، createWritable | الأقراص المحلية في Slop Drive، ومجلد النسخ الاحتياطي للمزامنة السحابية، واستيراد مجلد المعرض (للقراءة فقط)، وتحميل مجلد نموذج ذكاء اصطناعي من القرص. في Chrome وEdge فقط. الكتابة تستبدل الملف فقط حين يُغلق. | drive/js/core/prov-dir.js, drive/js/ui/prov-drives.js, shared/sync/providers/local.js, gallery/js/io/source.js, shared/ai/webllm.js | wicg.github.io/file-system-access · MDN |
| IndexedDB | ملفات Slop Drive، ومقابض المجلدات، وسجلات الأعمال، وتخزين الخطوط ونماذج الذكاء الاصطناعي، ورموز تسجيل الدخول المشفّرة. القائمة الكاملة في ما الذي يُخزَّن. | shared/hub.js, drive/js/core/drives-store.js, shared/data/store.js, shared/sync/tokens.js, shared/library/store.js | w3.org/TR/IndexedDB · MDN |
| localStorage | إعدادات صغيرة: اختيارك للموافقة، وإعدادات المزامنة السحابية، وإعدادات كل تطبيق، وتفضيلات عرض Drive. | shared/consent/state.js, shared/sync/config.js, shared/profile/profile.js, drive/js/core/util.js | WHATWG HTML, Web Storage · MDN |
| sessionStorage | حالة تسجيل الدخول محفوظة فقط أثناء إعادة توجيه تسجيل الدخول السحابي. تُمسح حين تُغلق علامة التبويب. | shared/sync/sync.js | WHATWG HTML, Web Storage |
| Origin Private File System | غير مستخدمة. ليس في الشيفرة أي استدعاء لـ navigator.storage.getDirectory. | لا شيء | WHATWG File System |
| Service Workers | العمل دون اتصال. تُسجَّل من كل صفحة تطبيق بعد تحميلها. تجيب فقط على طلبات GET من الأصل نفسه. | service-worker.js, shared/pwa.js | w3.org/TR/service-workers · MDN |
| Cache Storage | نسخ محفوظة من ملفات الموقع نفسه، وملفات نماذج القص، وملفات نماذج محادثة الذكاء الاصطناعي بعد تنزيلها. | service-worker.js, shared/cutout/loader.js, shared/ai/webllm.js | W3C Service Workers, Cache objects · MDN |
| Web App Manifest | يتيح للمتصفح تثبيت الموقع كتطبيق. يصرّح بالاسم والأيقونات وصفحة البداية. | manifest.webmanifest | w3.org/TR/appmanifest · MDN |
Storage Manager: navigator.storage.persist()، estimate() | يطلب من المتصفح الاحتفاظ بتخزين هذا الموقع بعد التثبيت أو في الوضع المستقل. يسألك Slop Storage قبل أن يسأل المتصفح. ويعرض مدى امتلاء التخزين. | shared/pwa.js, shared/storage/storage.js | WHATWG Storage · MDN |
| Web Workers | تشغيل الأعمال الثقيلة خارج الصفحة: قص الصور، والتكبير، واستدلال AI Tools، وبناء PDF. | shared/cutout/cutout.js, upscale/js/engine/engine.js, aitools/common.js, pdf/js/io/build.js | WHATWG HTML, Workers · MDN |
| WebAssembly | يشغّل ONNX Runtime Web المرفق مع AI Tools والتكبير وImage to 3D وكشف الوجوه والقص، بخيط تنفيذ واحد. مكتبة WebLLM في تطبيق المحادثة مبنية على WebAssembly أيضاً. | aitools/workers/ort.js, upscale/js/engine/worker.js, img3d/js/model/depth.js, shared/faces/index.js, shared/ai/webllm.js | WebAssembly Core spec · MDN |
| WebGPU | يتحقق تطبيق المحادثة مما يستطيع حاسوبك تشغيله، ويطلب عامل القص محوّلاً لوحدة معالجة الرسوم. يشغّل نموذج المحادثة على وحدة معالجة الرسوم، في Slop AI وفي لوحة الذكاء الاصطناعي في كل تطبيق. | shared/ai/sysinfo.js, shared/cutout/worker.js, shared/ai/webllm.js | w3.org/TR/webgpu · MDN |
| WebGL 2 | المعاينة ثلاثية الأبعاد وتصحيح الألوان في SlopCut. | 3d/js/render/stage.js, drive/js/core/render3d.js, slopcut/js/render/grade.js | Khronos WebGL 2.0 spec · MDN |
| Canvas 2D وOffscreenCanvas | الرسم وتحرير الصور والتصدير في كل تطبيق تقريباً. | نحو 130 ملفاً تستدعي getContext('2d')، مثل photoslop/js/io/save.js | WHATWG HTML, Canvas · MDN |
| File وBlob، والسحب والإفلات | فتح الملفات التي تختارها أو تُسقطها على الصفحة. لا تغادر الملفات الصفحة إلا إذا حفظتها أو شاركتها. | shared/drop/, shared/preview/chrome.js | W3C File API · MDN |
Web Crypto: crypto.subtle | تحقق SHA-256 لكل ملف يُنزَّل قبل حفظه، وAES-GCM لرموز تسجيل الدخول المشفّرة. | shared/cutout/loader.js, shared/library/store.js, shared/sync/tokens.js | w3.org/TR/WebCryptoAPI · MDN |
| Notifications | إشعارات المتصفح للتذكيرات، فقط بعد أن تضغط الزر للسماح بها. | reminders/js/app.js, shared/reminders/engine.js | WHATWG Notifications · MDN |
| BroadcastChannel | رسائل بين علامات التبويب المفتوحة لهذا الموقع (القناة slopographic). تبقى داخل المتصفح. | shared/hub.js | WHATWG HTML, Broadcasting · MDN |
Web Share: navigator.share() | ورقة المشاركة في النظام، فقط حين تضغط مشاركة. ثم يرسل النظام الملف إلى التطبيق الذي تختاره. | shared/preview/chrome.js, ai/js/ui/speccard.js | w3.org/TR/web-share · MDN |
WebMCP: document.modelContext.registerTool() | يعرض على وكيل ذكاء اصطناعي في المتصفح إجراءات التطبيق كأدوات (أوامره، وعمليات الملفات، والملفات بمعرّفاتها)، فقط حين تتوفر الواجهة في المتصفح ويكون الإعداد "السماح لوكلاء الذكاء الاصطناعي باستخدام هذا التطبيق" مفعّلاً. تعمل الأدوات داخل الصفحة. رمز تجربة النسخة الأصلية موجود في رأس كل صفحة. | shared/agent/webmcp.js, shared/agent/workspace.js, shared/agent/boot.js | W3C Web Machine Learning CG draft · Chrome |
| WebSocket | الرابط إلى تطبيق ذكاء اصطناعي على حاسوبك (خادم Slopographic MCP)، فقط بعد أن تختار "الاتصال بتطبيق ذكاء اصطناعي…". يتصل بـ ws://127.0.0.1، أي بهذا الحاسوب وحده. | shared/agent/bridge.js | WHATWG WebSockets |
| Fetch | كل طلب شبكي في التطبيقات. القائمة الكاملة في الطلبات الصادرة. | نحو 35 موضع استدعاء لـ fetch( في نحو 30 ملفاً (بعضها تعليقات) | WHATWG Fetch · MDN |
ما يُخزَّن على هذا الجهاز
كل ما يلي محفوظ في هذا المتصفح، على هذا الجهاز. لا يُرسل أي شيء هنا إلى خادم. لكل موقع تخزينه الخاص، فالتطبيق نفسه في متصفح آخر له نسخته الخاصة.
| الاسم | النوع | ما يحتويه | يُضبط في |
|---|---|---|---|
slop-drive | IndexedDB | ملفات ومجلدات Slop Drive، بما فيها محتويات الملفات. | shared/hub.js |
slop-drive-folders | IndexedDB | الأقراص المحلية المسمّاة: مقبض كل مجلد واسمه. إزالة قرص تنسى المقبض فقط. | drive/js/core/drives-store.js |
slop-sync, slop-sync-local | IndexedDB | رموز تسجيل الدخول السحابية المشفّرة (AES-GCM بمفتاح غير قابل للاستخراج). ومقبض مجلد النسخ الاحتياطي المختار. | shared/sync/tokens.js, shared/sync/providers/local.js |
slop-data | IndexedDB | سجلات الأعمال: العملاء والمنتجات والمخزون والفواتير والمدفوعات وقيود دفتر الأستاذ (shared/data/schema.js). | shared/data/store.js |
slop-library | IndexedDB | الخطوط المثبّتة من "الحصول على المزيد" وملفات الخطوط التي تضيفها. | shared/library/store.js |
slop-aitools, slop-ai | IndexedDB | نماذج AI Tools التي ثبّتها، والمحادثات في تطبيق محادثة الذكاء الاصطناعي. | aitools/models.js, ai/js/core/store.js |
slop-session | IndexedDB | العرض المفتوح لكل تطبيق والمسودات غير المحفوظة، فتعود الزيارة التالية من حيث توقفت. | shared/session/session.js |
slop-consent | localStorage | اختياراتك للتحليلات والإعلانات وأسعار الصرف. مُعطّلة حتى تختار. | shared/consent/state.js |
slop-sync | localStorage | إعدادات المزامنة السحابية: معرّفات عميل OAuth الخاصة بك وأوقات آخر مزامنة. لا تُحفظ الرموز هنا. | shared/sync/config.js |
slop-ai-keys | IndexedDB | مفاتيح الذكاء الاصطناعي الخاصة بك، فقط حين تضع علامة على "تذكّر على هذا الجهاز". ومن دونها يبقى المفتاح في علامة التبويب (sessionStorage) ويزول حين تغلقها. وتُستثنى من النسخ الاحتياطية. | shared/ai/cloud/keys.js |
slop-ai.cloud, slop-ai.imagegen, slop-ai.permissions | localStorage | الخدمة ونموذج الذكاء الاصطناعي الذي اخترته، وحد الإنفاق، وإعدادات الصور، وأذونات الذكاء الاصطناعي التي منحتها. لا يُحفظ مفتاح أبداً. | shared/ai/cloud/keys.js, shared/ai/imagegen/core.js, shared/ai/permissions.js |
slop-ai.signin | sessionStorage | أثناء تسجيل الدخول عبر OpenRouter: قيمة PKCE لمرة واحدة والحالة (state) اللتان تثبتان أن تسجيل الدخول بدأ في علامة التبويب هذه. تُستخدمان مرة واحدة، وتزولان حين تغلق علامة التبويب، ولا يُحفظ فيهما مفتاح أبداً. | shared/ai/cloud/signin.js |
slop.agents | localStorage | القيمة "off" حين تعطّل "السماح لوكلاء الذكاء الاصطناعي باستخدام هذا التطبيق". لا يُحفظ شيء حين يكون مفعّلاً. | shared/agent/boot.js |
slop.bridge | sessionStorage | حين تكون علامة التبويب هذه مقرونة بتطبيق ذكاء اصطناعي على حاسوبك: المنفذ ورمز الاقتران، حتى يبقى الاتصال بعد إعادة التحميل. يزولان حين تقطع الاتصال أو تغلق علامة التبويب. | shared/agent/bridge.js |
slop-profile | localStorage | إعدادات كل تطبيق غيّرتها عن الافتراضي. | shared/profile/profile.js |
slop-drive.prefs, slop-drive.theme | localStorage | تفضيلات عرض Slop Drive والسمة. | drive/js/core/util.js |
slopographic-v38 | Cache Storage | نسخ محفوظة من ملفات الموقع نفسه، ليعمل الموقع دون اتصال. | service-worker.js |
slop-cutout-v1 | Cache Storage | ملفات نماذج القص، بعد التحقق من SHA-256 الخاص بها. | shared/cutout/loader.js |
ملفات تعريف الارتباط (Cookies): شيفرة الموقع لا تكتب أي ملف تعريف ارتباط (ليس في المستودع أي استدعاء لـ document.cookie). اختيارك للموافقة محفوظ في localStorage، لا في ملف تعريف ارتباط. وقد تضبط سكربتات التحليلات والإعلانات الخاصة بجوجل ملفات تعريف ارتباط خاصة بها حين تعمل. يبيّن قسم ملفات تعريف الارتباط والتحليلات متى تعمل.
الطلبات الصادرة: كل مكان يمكن أن يذهب إليه طلب
القائمة أدناه كاملة للمستودع: مأخوذة من بحث في كل fetch( وXMLHttpRequest وعناوين السكربتات والصور، ومن كل رابط خارجي في الشيفرة. وباستثناء سكربتات التحليلات والإعلانات التي تُحمَّل فقط كما هو مذكور أدناه، لا تحمّل التطبيقات أي سكربتات أو خطوط أو أوراق أنماط من طرف ثالث. ولا توجد خطوط ولا iframes من طرف ثالث.
| الوجهة | أي تطبيق أو جزء | السبب | متى يحدث |
|---|---|---|---|
www.googletagmanager.com (Google Analytics، المعرّف G-HW6FWQVFK3) | الصفحة الرئيسية (index.html)؛ والصفحات الأخرى عبر shared/consent/consent-mode.js | قياس مشاهدات الصفحات | الصفحة الرئيسية: في كل زيارة، مع ضبط التحليلات على "مرفوض" حتى تقبل. الصفحات الأخرى: فقط بعد أن تقبل التحليلات. |
pagead2.googlesyndication.com (AdSense) | الصفحات التي فيها أماكن إعلانات (shared/ads/ads.js) | الإعلانات | فقط بعد أن تقبل الإعلانات. يُحمَّل بالمحمِّل الوحيد في shared/consent/consent-mode.js. |
huggingface.co، ومضيفا تخزينه hf.co وxethub.hf.co | محادثة الذكاء الاصطناعي (shared/ai/webllm.js، ai/js/core/engine.js)؛ وAI Tools وتطبيقات OCR (aitools/model-registry.js، aitools/models.js) | ملفات النماذج: OCR (PP-OCRv4)، والوسوم، ونماذج المحادثة | بعد أن تضغط "تنزيل"، أو تثبّت نموذجاً من "الحصول على المزيد"، وتؤكد حجمه وترخيصه. يتحقق AI Tools من SHA-256 لكل ملف، ويجب أن يأتي الملف من مضيف Hugging Face أو من مستودع slopographic/cdn. |
cdn.jsdelivr.net (jsDelivr، فقط /gh/slopographic/cdn@ بإصدار ثابت) | كل ملف من مستودع slopographic/cdn (shared/cdn/assets.js): حزم "الحصول على المزيد"، ونماذج الكلام والتعرف الضوئي، ومحركات HEIC وRAW للكاميرا وثلاثية الأبعاد والفيديو | نسخة أسرع ومخبّأة من المستودع أدناه؛ الملفات التي تتجاوز 20 ميغابايت تأتي من raw.githubusercontent.com | اللحظات نفسها في الصف أدناه. إن لم يرد jsDelivr أو أرسل بايتات خاطئة، يُجلب الملف نفسه من raw.githubusercontent.com ويُتحقق منه بالطريقة نفسها. |
raw.githubusercontent.com | محادثة الذكاء الاصطناعي (shared/ai/webllm.js، ونوى GPU)؛ حزم "الحصول على المزيد" (shared/library/packs.json) | نوى نموذج المحادثة؛ وملفات الخطوط من github.com/google/fonts (OFL)؛ وخطوط اللغات (Noto، OFL) لكتابة أنظمة أخرى مثل العربية والصينية والهندية؛ ونموذج Real-ESRGAN 4x لـ Slop Upscale، ونموذج العمق لـ Image to 3D، ونماذج الكلام لـ Slop Transcribe وAI Tools (Whisper وKB-Whisper وNB-Whisper؛ aitools/speech-models.js)، من مستودع slopographic/cdn | حين تضغط "تنزيل" في "الحصول على المزيد" أو في حوار اللغة والنموذج وتؤكد، أو حين تحمّل نموذج محادثة. ويُنزَّل خط اللغة أيضاً حين تكتب نصاً بنظام كتابة يحتاجه (في Slop PDF مثلاً): يسألك التطبيق أولاً، إلا إذا اخترت تنزيل خطوط اللغات تلقائياً (shared/fonts/jit.js). يُتحقق من كل ملف عبر SHA-256 قبل حفظه. |
accounts.google.com, oauth2.googleapis.com, www.googleapis.com | مزامنة سحابية إلى Google Drive الخاص بك (shared/sync/providers/gdrive.js، pkce.js، config.js) | تسجيل الدخول، ثم نسخ احتياطي لملف واحد واستعادته، في مجلد اختياري. يستخدم نطاق drive.file، الذي يصل فقط إلى الملفات التي يُنشئها هذا التطبيق أو التي تختارها. | فقط حين تربط بمعرّف عميل OAuth الخاص بك، وحين تضغط زر نسخ احتياطي أو مزامنة. |
www.dropbox.com, api.dropboxapi.com, content.dropboxapi.com | مزامنة سحابية إلى Dropbox (shared/sync/providers/dropbox.js) | كما في Google Drive، ولكن مع Dropbox | فقط حين تربط وتضغط زر نسخ احتياطي أو مزامنة. |
data-api.ecb.europa.eu | أسعار الصرف (shared/data/rates-ecb.js، يُفتح من الإعدادات، ويقرؤه Ledger وCalculator) | أسعار اليورو المرجعية اليومية من البنك المركزي الأوروبي | فقط حين تكون فئة الأسعار مفعّلة وتضغط "تحديث". التحديث عند الفتح يعمل فقط إن فعّلته أيضاً. |
| عنوان صورة سُحبت من موقع آخر | PhotoSlop (photoslop/js/app/tabs.js) | يفتح الصورة المسحوبة في علامة تبويب جديدة | فقط حين تسحب صورة من صفحة أخرى إلى PhotoSlop. |
slopographic.com (الموقع نفسه) | كل صفحة، وشعار الصفحة الرئيسية، والـ Service Worker | ملفات الموقع نفسه | في كل زيارة. لا يُطلب أي شيء آخر من هذا الأصل. |
خدمة الذكاء الاصطناعي التي تربطها بمفتاحك الخاص: مثل api.anthropic.com، وapi.openai.com، وgenerativelanguage.googleapis.com، وopenrouter.ai، أو api.groq.com، أو العنوان الذي تكتبه لـ Ollama أو LM Studio أو خادم آخر | لوحة الذكاء الاصطناعي (shared/ai/cloud/، وقائمة الخدمات في shared/ai/cloud/catalog/)؛ صور الذكاء الاصطناعي (shared/ai/imagegen/) | رسائلك، وأدوات التطبيق ونتائجها، ونسخة من ملف أو صورة فقط بعد أن تسمح بذلك؛ وفي صور الذكاء الاصطناعي، الوصف، وفي حالة التعديل الصورة (بحد أقصى 1536 بكسل) | فقط بعد أن تضيف مفتاحك الخاص أو عنوان خادم وترسل طلباً. النموذج على جهازك لا يرسل شيئاً. |
openrouter.ai/auth (صفحة تذهب إليها) وopenrouter.ai/api/v1/auth/keys | تسجيل الدخول عبر OpenRouter في لوحة الذكاء الاصطناعي (shared/ai/cloud/signin.js) | إلى صفحة تسجيل الدخول: عنوان هذه الصفحة لتعود إليه، وتحدٍّ من نوع PKCE، وحالة عشوائية (state). إلى عنوان المفاتيح: الرمز لمرة واحدة الذي منحه OpenRouter وقيمة PKCE؛ يرد OpenRouter بمفتاح لهذا المتصفح. مباشرةً بين متصفحك وOpenRouter، دون خوادم Slopographic. | فقط حين تضغط "تسجيل الدخول عبر OpenRouter". |
127.0.0.1 (حاسوبك أنت) | الاتصال بتطبيق ذكاء اصطناعي (shared/agent/bridge.js) | تتحدث الصفحة مع خادم Slopographic MCP الذي شغّله تطبيق الذكاء الاصطناعي: أدوات التطبيق ونتائجها، والملفات التي تطلب إرسالها أو حفظها | فقط بعد أن تختار "الاتصال بتطبيق ذكاء اصطناعي…" وتكتب الرمز الذي يعرضه تطبيق الذكاء الاصطناعي. يسألك Chrome أولاً. |
| روابط فقط: Patreon وYouTube وVimeo | رابط التبرع (shared/consent/donate.js)، وروابط فيديو الملاحظات (notes/js/video.js) | يفتح الموقع في علامة تبويب جديدة حين تنقر عليه | فقط حين تنقر. يظهر الفيديو في الملاحظة كرابط، لا كمشغّل مدمج ولا كصورة مصغّرة. |
أمران يبدوان كاستخدام للشبكة لكنهما ليسا كذلك: tools/vendor-codemirror.mjs يجلب حزماً من cdn.jsdelivr.net حين يشغّله المطوّر يدوياً لتحديث الشيفرة المرفقة، والتطبيقات لا تحمّل تلك الشبكة أبداً. وعارض البريد (eml/js/frame.js) يمنع الصور والسكربتات البعيدة في الرسالة بسياسة أمان المحتوى (CSP)، فلا يحمّل فتح رسالة أي صورة أو سكربت بعيد.
ملفات تعريف الارتباط والتحليلات
- يخزّن شيفرة الموقع: اختيار موافقة في localStorage (
slop-consent)، مع ضبط التحليلات والإعلانات والأسعار على "مرفوض" حتى تختار. ويمكن مسح التخزين من المتصفح في أي وقت. - لا تخزّن شيفرة الموقع أي شيء من هذا: لا ملف تعريف ارتباط ولا حساب. المستودع لا يكتب أي ملف تعريف ارتباط أبداً.
- Google Analytics: في الصفحة الرئيسية، يُحمَّل الوسم مع ضبط
analytics_storageعلى "مرفوض". يُفعَّل فقط حين تقبل التحليلات. وفي الصفحات الأخرى يُحمَّل فقط بعد أن تقبل. - قد تضبط سكربتات Google الخاصة بها ملفات تعريف ارتباط خاصة بها حين تعمل. ذلك قرار من Google، لا من شيفرة Slopographic. تُظهر خطوات التدقيق أدناه ما يخزّنه المتصفح فعلياً.
- الإعلانات: تُحمَّل AdSense فقط بعد أن تقبل الإعلانات. رفضها يترك أماكن الإعلانات فارغة.
العمل دون اتصال
بعد زيارة واحدة، تحتفظ Cache Storage بملفات الموقع الخاصة به عبر الـ Service Worker (service-worker.js، وقائمة ملفاته في sw-precache.js). تُفحص الصفحات عبر الشبكة أولاً، ثم تُؤخذ من الذاكرة المخبأة، ثم تُعرض صفحة دون اتصال. ملفاتك لا تكون في ذاكرة Service Worker المخبأة: هي في المجلد الذي اخترته، أو في IndexedDB. تستمر التطبيقات في العمل والشبكة مغلقة. وتحتاج التنزيلات (النماذج وحزم الخطوط المذكورة أعلاه) إلى الشبكة في المرة الأولى.
كيف تتحقق من ذلك بنفسك
- تبويب الشبكة، مع تحميل الصفحة. افتح التطبيق، واضغط F12 (أو Cmd+Option+I على Mac)، وافتح تبويب Network. فعّل "Preserve log"، ثم أعد التحميل. اقرأ عمود Domain. في الزيارة العادية ينبغي أن ترى
slopographic.comفقط، إضافةً إلى نطاقات تحليلات Google في الصفحة الرئيسية. - تبويب الشبكة، دون اتصال. في تبويب Network، افتح قائمة التحكم في السرعة (Throttling) واختر Offline. أعد التحميل، ثم افتح ملفاً وعدّله واحفظه. ينبغي أن يعمل التطبيق. وأي شيء يحتاج إلى تنزيل يقول ذلك.
- تبويب التطبيق، التخزين. في Chrome أو Edge، افتح تبويب Application. تحت Storage، انظر Local storage وSession storage وIndexedDB وCookies وCache Storage وService workers. قارن ما تراه بالجداول في هذه الصفحة.
- اقبل أو ارفض، ثم قارن. ارفض التحليلات والإعلانات في شريط الموافقة، وأعد التحميل، وتحقق من تبويب الشبكة مرة أخرى. ثم اقبلها، وانظر أي طلبات تظهر.
- اقرأ الشيفرة المصدرية. الشيفرة عامة في مستودع slopographic على GitHub. ابحث فيها عن
fetch(أوindexedDB.openأوlocalStorageأوshowDirectoryPickerلتتحقق من أي صف في هذه الصفحة. شيفرة الموافقة فيshared/consent/، والمزامنة السحابية فيshared/sync/، وقوائم التنزيل فيshared/library/وaitools/.
مجلدات القرص المحلية (File System Access API) تحتاج إلى Chrome أو Edge. وFirefox وSafari لا توفرها، والتطبيقات تقول ذلك حيث ينطبق.