عن المشروع

Shoggoth هو أداة تطوير متعددة الوظائف ذاتية الاستضافة، مخصصة للاستخدام الشخصي، وتُبنى من خدمات محاكاة تم تنفيذها على K3s وقابلة للوصول عبر نطاق قابل للتكوين (s.local بشكل افتراضي). يصف المشروع نفسه بأنه تجريبي ومرحلته الأولى، مصمم للشبكة المحلية مع عدم اهتمام صريح بالأمن، ويتم تكييفه لسلاسل Ubuntu/C++/Python ونمط العمل "الكل كود" دون استخدام بيئة تطوير متكاملة. تهدف الأهداف المعلنة إلى بيئة حيث يعمل وكيل البرمجة كعضو في الفريق، يقوم بتنفيذ المهام المعينة والمشاركة في مراجعات الكود، مع توفير جميع المكونات كبرمجيات مفتوحة المصدر قابلة للتشغيل الذاتي واستبدالها ببرامج مشابهة. يُشير ملف README إلى التباين مع أدوات البرمجة الوكيلية من النوع Kanban، موضحًا تركيزه على دمج المكونات الخارجية وتوسيع نطاق الوظائف، بينما تكون سير العمل الوكيلية أقل تطورًا مقارنةً ببعض البدائل. المجموعات الخدمية الموضحة: الشبكة - خادم VPN WireGuard مع واجهة إدارة ويب، ووكيل عكس Angie ينتهي من TLS ويقدم الوصول HTTPS إلى واجهة VPN من خارج الشبكة، وCoreDNS لتوجيه أسماء النطاقات وقائمة الحظر DNS. التخزين المؤقت - وكيل تخزين الحزم Debian/Ubuntu apt، وسجل الحاويات zot مع تخزين مؤقت للسحب، وكيل تخزين حزم Python وكاش بناء ccache/sccache، حيث يتم تقديم الأخيرين بواسطة Angie. التطوير - مجموعة Gitea (خادم Git، استضافة ثابتة Git Pages، مشغل أعمال Actions)، تنسيق عمليات Kestra، خدمة عامل Docker-in-Docker مع طرفية ويب تفاعلية تعتمد على ttyd وtmux وQwen Code، وCDash لوحات نتائج الاختبار. إدارة المشاريع - خادم Redmine. الذكاء الاصطناعي والوكلاء - وكيل LiteLLM مع بوابة MCP، خادم النماذج المحلية LocalAI، خادم Gitea MCP، وخادم Basic Memory MCP. المراقبة - مجموعة Grafana تستخدم مكدس LGTM: Loki للسجلات، Tempo للتتبع، VictoriaMetrics للقياسات، ومجموعة OpenTelemetry Collector للإدخال. الهوية والأمان - دليل OpenLDAP مع واجهة ويب، بالإضافة إلى OpenBao لإدارة السرية. البنية والتشغيل: يتكون النظام من ملفات K3s في مجلد shoggoth/k3s، وأدوات للتحكم عن بعد في النشر عبر أهداف Makefile (up, down, log, ssh, sync_restart)، وسكريبت إعداد يعمل على أجهزة العميل لإنشاء ملفات التكوين، وتهيئة وكيل تخزين الحزم Docker والسجل، وتحديث /etc/hosts، وتثبيت إعدادات ذاكرة التخزين المؤقت apt، والحصول على رموز واجهة برمجية للخدمات. يجمع حاوية العامل بين بيئة بناء ccws مع مترجمات وأدوات تحليل ثابتة، وكوكب Qwen Code وكيل الطريقة، وأدوات مخصصة لـ shoggoth، وهي مخصصة للبناء التلقائي والسير الوكيلية غير التفاعلية مثل البرمجة أو المراجعة، والتطوير التفاعلي. تستخدم المصادقة OpenLDAP مع ثلاث حسابات (admin لإدارة الدليل وتسجيل الدخول إلى Grafana، sldapauth كحساب ربط الخدمة، sslave للبناء التلقائي والאוטומاتيون)، وملفات مجموعتين (المسؤولون، مرتبطون بسياسة shoggoth-admin في OpenBao، وshoggoth-auth لحسابات ربط الخدمات). يُعتبر OpenBao مصدرًا للكلمات المرور، والتي تُنشأ تلقائيًا عند التشغيل الأول، وتشمل الخدمات التي تعتمد على LDAP Gitea وRedmine وCDash وOpenBao نفسه. تشمل الملاحظات الموثقة أن عملاء Gitea وRedmine لا يمكن تكوينهم بالمتغيرات البيئية فقط، وأن zot يترك مجلدات مُستخدمة بعد عمليات مزامنة مقطوعة (تم حلها باستخدام حاوية init للتنظيف)، ومشاكل مع استدعاء OpenTelemetry وWatcher Tempo في LiteLLM.