النتيجة الرئيسية: مساحة عمل متعددة الوكلاء مؤتمتة بالكامل مع ذاكرة FTS5 المستمرة، و21 مهارة مخصصة، و24 مهمة تنسيق cron نشطة
الملخص: قمت بهندسة ونشر شبكة وكلاء مستقلة تعمل على خادم افتراضي خاص (VPS) مخصص على Google Cloud. يعمل النظام كمنفذ رقمي موحد، حيث يقوم بتوجيه الاتصالات عبر بوابات دردشة متعددة (Telegram، Discord، WhatsApp، البريد الإلكتروني) إلى نواة معرفية واحدة مدعومة بـ Obsidian مع ذاكرة مستمرة عبر الجلسات. بالإضافة إلى ذلك، تم تكوين Oz للاتصال مباشرة بمشروعي Hermes Agent لتنسيق سير العمل الموزع.
المشكلة
التحدي:
تشتت القنوات المتعددة: إدارة تدفقات المعلومات المتباينة عبر قنوات اتصال متعددة.
التنفيذ الذاتي عالي السرعة: الحاجة إلى تنفيذ مستمر ومجدول للنسخ الاحتياطي ورسائل البريد الإلكتروني وتحديثات النظام وتدقيق الملفات.
فقدان ذاكرة الجلسة: تفتقر وكلاء LLM التقليديون إلى ذاكرة مستمرة، مما يضعف استمرارية المحادثات عبر الأيام أو الأسابيع.
تعقيد ملفات Obsidian: الحفاظ على الاتساق الهيكلي وتنسيقات المخططات وتوجيه الملاحظات لملف Obsidian يحتوي على أكثر من 230 ملفًا.
الثغرات الأمنية: تهديدات عالية من بوابات الرسائل العامة تتطلب دفاعًا صارمًا ضد حقن التوجيهات (Prompt Injection) وضوابط الوصول.
الجمهور: مساحة عمل الإنتاجية الشخصية، ومساعد قاعدة المعرفة، ومشغل النظام المؤتمت.
القيود:
قيود واجهة برمجة تطبيقات محركات البحث: لا يُسمح بمفاتيح API للبحث، مما يجبر النظام على الاعتماد على طبقة تجريد مخصصة لاستخراج البيانات من محركات بحث متعددة.
حدود الخادم الافتراضي (VPS): تم نشره على VPS بـ 4 معالجات وذاكرة 15 جيجابايت بدون مساحة تبديل (swap)، مما يتطلب إدارة دقيقة للذاكرة.
حظر المصادقة: تقتصر جميع عمليات GitHub على مصادقة مفتاح SSH بسبب بيئات العملاء غير المصادق عليها.
تخزين البيانات: يقتصر على الملفات المسطحة المحلية (Markdown، JSON، SQLite) بدلاً من قواعد البيانات الخارجية الموزعة.
النهج والقرارات
البنية: نمط الموزع المركزي حيث يعمل Oz كمنسق رئيسي، ويقوم بتوجيه المهام الواردة ديناميكيًا إلى وكلاء فرعيين متخصصين بناءً على تعقيد المهمة.
القرارات الرئيسية:
تكامل Claude-Mem: تم تنفيذ قاعدة بيانات SQLite + FTS5 لحقن سياق الجلسات السابقة تلقائيًا في العمليات النشطة.
التخزين المعتمد أولاً على Obsidian: اختيار ملفات markdown المسطحة لسهولة التصور والنقل والتحليل اليدوي للرسوم البيانية.
سلسلة تراجع متعددة النماذج: إعداد DeepSeek V4 Flash كمحرك رئيسي اقتصادي، مع مسارات تراجع إلى نماذج Google Gemini وGrok لضمان استمرارية الخدمة.
المقايضات:
الاستعلام الدوري (Polling) مقابل Webhooks: تم اختيار فحص البريد الإلكتروني القائم على cron وإشارات البقاء (Keepalive) (مجانية وبدون إعدادات في بوابة OpenClaw) ولكن مع إدخال زمن وصول يصل إلى 8 ساعات لفحص البريد الإلكتروني.
قاعدة معرفية من ملفات مسطحة: يتطلب Markdown وSQLite إدارة أقل للبنية التحتية ولكنه يحد من تجميع استعلامات العقد المتعددة في الوقت الفعلي مقارنة بقواعد البيانات المتجهة الكاملة.
النتائج الرئيسية والأثر
النتيجة: تشغيل ناجح لمنفذ مستقل يتعامل مع عمليات الحفظ التلقائي اليومية (autocommit)، ومعالجة البريد الإلكتروني، والأتمتة في الخلفية، وأرشفة الملاحظات.
المقارنة: استبدال المجلات المحدثة يدويًا، والجمع المعقد للبيانات من تطبيقات متعددة، والمحادثات المنفصلة بمساعد مساحة عمل ذكي ومستمر وموحد.
الأثر: تحقيق عمليات مؤتمتة قوية مع قدرات تراجع تضمن الخدمة المستمرة حتى أثناء انقطاع النموذج الأساسي.
المقاييس الأساسية
المقياس
القيمة
المصدر / التفاصيل
النموذج اللغوي الأساسي
DeepSeek V4 Flash
openclaw.json (agents.defaults)
سجل النماذج
27 نموذجًا (3 مزودين)
تجمع التراجع المخصص (DeepSeek، Gemini، Grok)
مهام Cron النشطة
24 مجدولة
مخرجات cron list
مخزن Obsidian
232 ملاحظة (37 ميجابايت)
مساحة العمل الشخصية وقاعدة الذاكرة
قاعدة بيانات الذاكرة
323 إدخالاً (11 ميجابايت)
نظام SQLite + FTS5 من Claude-Mem
المهارات المخصصة
21 مهارة لمساحة العمل
الإضافات المخصصة ونصوص الأتمتة البرمجية
موارد الخادم
4 معالجات / 15 جيجابايت ذاكرة
Google Cloud VPS (Ubuntu 22.04 LTS)
استهلاك الذاكرة
~1.8 جيجابايت / 15 جيجابايت
متوسط استهلاك الذاكرة أثناء الخمول
زمن الاستجابة
1 - 3 ثوانٍ
تخزين مؤقت نشط لـ DeepSeek (يصل إلى 15 ثانية للتشغيل البارد متعدد الوكلاء)
imap-smtp-email: يدمج iCloud SMTP مع توجيه إلزامي لسلسلة النسخة الكربونية (oz@franzdomingo.dev → قائمة CC) ويتم تنفيذه عبر نصوص Node.js المساعدة.
multi-search-engine: يجمع 16 محرك بحث (عالمي وإقليمي) دون الحاجة لمفاتيح API نشطة.
self-improving-agent: يدعم استمرارية التعلم عن طريق حفظ التجارب مباشرة في دليل .learnings/ لتشكيل معلمات التنفيذ المستقبلية.
prompt-injection-guard: تصنيف الرسائل في الوقت الفعلي، والتحقق من صحة هاش كلمة المرور، والكشف عن الانتحال.
التحقق: يتم مراقبته من خلال جولات الوكلاء المعزولة والمحددة بالجلسة، والتزام Git التلقائي، وعمليات بث سجلات Telegram الدورية.
التحسينات: تم تنفيذ توجيه يراعي التكلفة، حيث يتم إرسال المهام البسيطة إلى النماذج الاقتصادية والاحتفاظ بنماذج التفكير المتميزة للمهام ذات الخطوات المتعددة.
التأملات والدروس المستفادة
ما يمكن فعله بشكل مختلف: سأستكشف نقل بعض إجراءات الاستعلام الدوري إلى تكاملات webhooks لتحقيق زمن وصول أقل للمدخلات (مثل تحديثات البريد الإلكتروني) بدلاً من الاعتماد فقط على الاستعلام المجدول.
النجاحات: أثبت نمط الموزع المركزي موثوقية عالية، حيث عزل مسارات العمل المتخصصة (الكتابة، الاسترجاع، البرمجة) في بيئات وكلاء فرعيين مخصصة ونظيفة.
الدروس: هياكل الملفات المسطحة سهلة النقل وفعالة للغاية على النطاق المتوسط (~200+ ملاحظة)، ولكن مع اقتراب المخزن من 1000+ ملاحظة، سيتطلب الفهرسة والاسترجاع الانتقال إلى ذاكرة تخزين مؤقت منظمة لقاعدة البيانات.
مساهماتي
بنية الأنظمة ونشرها: قمت بإعداد ونشر بيئة تشغيل Node.js/OpenClaw على Google Cloud، وإدارة تكوينات الوصول عبر SSH، وإدارة عمليات VPS، وروابط systemd المخصصة.
هندسة المهارات: قمت بتطوير مكتبة مساحة العمل المكونة من 21 مهارة من الصفر، وتطبيق مرحلات بريد iCloud، وأدوات البحث بدون مفاتيح، وأدوات PDF، وقواعد بيانات حقن الذاكرة.
تصميم الأمن والسلامة: قمت ببناء النظام الفرعي لحماية حقن التوجيهات (Prompt Injection Guard)، مع الحفاظ على أمن الوصول عبر النقاط الطرفية العامة المكشوفة (بوت Telegram، وسيرفرات Discord).
تصميم خط أتمتة العمليات: إعداد مجدول التشغيل cron المكون من 24 مهمة لتنفيذ النسخ الاحتياطي اليومي، ومزامنة الأكواد، وإشارات التحقق من صحة النظام (Heartbeats).
بنية المشروع
يستخدم النظام نمط الموزع المركزي لتوجيه وتنفيذ المدخلات من خلال ثلاث طبقات تشغيلية رئيسية:
الطبقة
المكونات
الدور وتدفق البيانات
بوابات الدخول
Telegram، Discord، WhatsApp، WebChat
تعمل كواجهة مستخدم، وتتلقى الاستعلامات وتنسق الاستجابات المناسبة لكل قناة.
التوجيه المركزي
وكيل Oz الرئيسي (الموزع)
يقيم تعقيد البيانات، ويحدد مسار التوزيع، ويدير دورة حياة الوكلاء المنفذين.
مجموعة التنفيذ
أكثر من 15 وكيلاً فرعيًا متخصصًا
ينفذ مهام مساحة العمل المخصصة (الاسترجاع، البرمجة، التنفيذ، الأمن).
موزع Oz الرئيسي — نقطة قرار واحدة. يقيم تعقيد البيانات الواردة (بسيط = 0 توزيع، معقد = 1-2، فائق = 5+) ويفوض المهمة للمختص المناسب. يحافظ على حدود العمق: لا يسمح بأكثر من 5 استدعاءات أدوات متتالية دون التحقق من المستخدم.
ثلاثي المخزن — يمتلك ثلاثة وكلاء متخصصين دورة حياة مخزن Obsidian:
Librarian (أمين المكتبة) — يمتلك فهرس المخزن، ومسارات البحث والاسترجاع. لا يقوم Oz بالبحث المباشر أبدًا؛ حيث يؤكد Librarian المسارات، ثم يتعامل Oz مع المخرجات. يقوم بتشغيل مهمة أرشفة يومية خاصة به.
Writer (الكاتب) — متخصص في تنسيق النثر والتقارير وملفات التوثيق. مدرب على أساليب همنغواي، وأورويل، وسترونك آند وايت، وكينغ. يتحكم في القواعد، واختيار النبرة، وفرض مبدأ "أظهر ولا تخبر". ينتج جميع المحتويات المكتوبة في المخزن.
Keeper (الحارس) — يتعامل مع قوالب البيانات التعريفية، والامتثال للواجهة الأمامية للملفات (frontmatter)، وأرشفة الملاحظات القديمة. يقوم بتشغيل مهمة صيانة كل 3 أيام. يفرض بنية مخزن قابلة للتطوير بشكل كبير عبر الملاحظات والأدلة.
محرك Claude-Mem — يتصل مباشرة بقاعدة بيانات SQLite المحلية (FTS5، تدار عبر systemd)، ويجلب تضمينات البحث ويحقن التاريخ المستمر عبر الجلسات في توجيهات LLM. يقوم بتخزين طلبات السياق مؤقتًا لمدة 60 ثانية لتجنب الضغط الزائد. قاطع الدائرة (circuit breaker): 3 إخفاقات متتالية = فترة تهدئة لمدة 30 ثانية. يجب على الوكلاء المستبعدين (coder, math-solver, front-end-developer, multimedia-specialist) الاستعلام يدويًا عبر نقطة نهاية curl. تتوفر واجهة ويب خاصة للتصفح اليدوي. يرجى ملاحظة أن هذه الآلية تقلل بشكل كبير من الاستهلاك الإجمالي للرموز (tokens).
مجموعة الوكلاء الفرعيين المنفذين (14 مختصًا مسمى + Oz) — يمتلك جميع الوكلاء عبر الشبكة إمكانية الوصول إلى Claude Code وGemini CLI وAntigravity، وكل منهم مجهز بمهاراته المدمجة المقابلة:
Prompt-engineer / Prompt-injection-guard ← بنية التوجيهات + الفحص الأمني
PM / Infra-engineer / QA-engineer / Data-engineer / SRE-watchdog / Tech-writer ← أدوار على مستوى المؤسسة
بوابات القنوات — 4 نشطة (Telegram: 3 مجموعات، Discord: سيرفر واحد مقيد بالإشارات، WhatsApp: رسائل مباشرة مفتوحة، WebChat), و2 معطلة (Signal، SMS). يعمل البريد الإلكتروني كمهارة خارجية (iCloud SMTP)، وليس كبوابة.
مظروف الموارد: 4 معالجات، وذاكرة 15 جيجابايت، وقرص صلب 49 جيجابايت (ممتلئ بنسبة 63%)، Node v22.22.2، ونظام تشغيل Ubuntu 22.04 LTS على GCP. 24 مهمة cron مجدولة.
ملاحظة تشغيلية واستضافة:
يتم استضافة Oz بشكل نشط على Google Cloud Platform ويعمل محليًا على جهاز MacBook Air للمطور. تظل الشيفرة المصدرية والمستودع الخاص بها سرية وخاصة.