البنية
EstaCoda هو بيئة تشغيل لوكيل مكتوبة بـ TypeScript وتعمل على Node.js. ينفّذ جلسات مدعومة بمزوّدي النماذج عبر CLI وعدة قنوات بعيدة. تشرح هذه الصفحة كيف بُني النظام، أين تعيش الحالة، وأي الواجهات مستقرة أو تجريبية أو غير مدعومة في v0.1.0. هدف هذه الصفحة هو التوجيه العملي: ما الذي يملك ماذا، أين تفحصه، وأي مسارات بيئة التشغيل تدخل ضمن خط الأساس الحالي.
ما هو EstaCoda
في جوهره، EstaCoda هو حلقة وكيل قائمة على الجولات تقوم بالآتي:
- تستقبل الإدخال من واجهة مثل CLI أو Telegram أو Discord أو Email أو WhatsApp
- تبني prompt طبقيًا من سجل الجلسة، والذاكرة، والمهارات، وسياق المشروع، والإدخال الحي
- ترسل الطلب إلى مسار مزوّد مهيأ
- تنفّذ استدعاءات الأدوات تحت سياسة الأمان النشطة
- تعيد الناتج إلى الواجهة النشطة
- تحفظ حالة الجلسة، والذاكرة، والموافقات، وartifacts، وبيانات مسار التنفيذ حيث ينطبق ذلك تعتمد الحلقة على إنشاء صريح، وتفويض صريح، وحفظ صريح. يجب أن يكون سلوك بيئة التشغيل قابلًا للفحص من الكود والحالة المحلية.
نقاط الدخول والواجهات
| نقطة الدخول | الدور | النضج |
|---|---|---|
src/index.ts | تدفق الإقلاع، توجيه الأوامر، واستعادة الجلسات | live-proven |
src/cli/cli.ts | تحليل أوامر CLI وتوجيهها | live-proven |
src/cli/session-loop.ts | جلسة الطرفية التفاعلية | live-proven |
src/channels/gateway-runner.ts | مساعدات تشخيص البوابة | smoke-tested |
src/channels/telegram-adapter.ts | موائم Telegram | live-proven |
src/channels/discord-adapter.ts | موائم Discord | present-not-live-proven |
src/channels/email-adapter.ts | موائم Email | present-not-live-proven |
src/channels/whatsapp-adapter.ts | موائم WhatsApp | operational-with-external-risk |
| CLI وTelegram هما أقوى واجهتين مثبتتين عمليًا في v0.1.0. كود موائمَي Discord وEmail موجود ومدعوم بالاختبارات، لكن التحقق الإنتاجي الحي يعتمد على النشر. WhatsApp مدعوم في الإعداد ويعمل عبر bridge معزول، لكنه يبقى مقيّداً لأن Baileys واجهة غير رسمية. |
حدود الملف الشخصي والحالة
ينظم EstaCoda إعدادات المشغّل حول الملفات الشخصية التشغيلية. يمثّل الملف الشخصي الحزمة النشطة من مسارات المزوّدين، والاعتمادات، وملفات الذاكرة، والمهارات المثبتة، وحالة القنوات، والسجلات، وذاكرات التخزين المؤقت لسياق مشغّل واحد.
ما يعيش داخل الملف الشخصي
يحتوي مجلد الملف الشخصي النموذجي على:
~/.estacoda/profiles/<id>/
| المسار | الاستخدام |
|---|---|
config.json | مسارات المزوّدين، إعدادات القنوات، وضع الأمان، وإعدادات الميزات |
.env | قيم أسرار محلية للملف الشخصي مثل مفاتيح API ورموز البوتات. لا تُعرض في شاشة مراجعة الإعداد. |
auth.json | سجلات رموز OAuth، مثل Codex OAuth |
USER.md | تفضيلات المستخدم وإرشادات المستخدم الثابتة |
SOUL.md | إرشادات الهوية والأمان المحمية |
MEMORY.md | الذاكرة العملية الدائمة والحقائق المرقّاة |
promotions.json | بيانات ترقية الذاكرة |
skills/ | المهارات المثبتة داخل الملف الشخصي |
cron/ | مهام مجدولة محلية للملف الشخصي |
gateway/ | حالة جلسات القنوات، وحالة تسليم البوابة، وحالة الموائمات |
logs/ | سجلات بيئة التشغيل |
channel-media/ | وسائط القنوات المحمّلة |
audio-cache/ | artifacts الصوت وذاكرة الصوت المؤقتة |
image-cache/ | ذاكرة توليد الصور ومدخلات الصور المؤقتة |
temp/ | ملفات مؤقتة محلية للملف الشخصي |
| ليس كل ملف أو مجلد موجودًا قبل تشغيل القدرة المرتبطة به. |
ما هو عام
| المسار | الاستخدام |
|---|---|
~/.estacoda/active-profile.json | الملف الشخصي المحدد حاليًا |
~/.estacoda/sessions.sqlite | قاعدة بيانات الجلسات، مع صفوف مقيّدة بـ profile_id |
~/.estacoda/memory/shared/ | ذاكرة مشتركة بين الملفات الشخصية |
~/.estacoda/trust.json | منح الثقة للمساحات العملية، مفهرسة حسب المجلد |
~/.estacoda/workspace-approvals.json | منح موافقة دائمة للمساحات العملية، مفهرسة حسب المجلد والإجراء |
~/.estacoda/packs/ | حالة الحزم المثبتة |
~/.estacoda/bin/ | ثنائيات مساعدة مُدارة |
ما هو محلي للمساحة العملية
| المسار | الاستخدام |
|---|---|
AGENTS.md | سياق المشروع وتعليمات البرمجة |
| الثقة حالة عامة ذات مدخلات مقيّدة بالمجلد. لا تُخزّن داخل المساحة العملية. يحدد الملف الشخصي الإعدادات، والاعتمادات، والذاكرة، وهوية القناة. تتحكم ثقة المساحة العملية في سلوك الأدوات المحلية داخل مجلد معين. لا يلغي أحدهما الآخر. |
جذر تركيب بيئة التشغيل
createRuntime() في src/runtime/create-runtime.ts هو جذر التركيب. ينشئ صراحةً المخازن، والمزوّدين، والأدوات، والمهارات، واعتماديات prompt، ومكونات بيئة التشغيل، وحلقة الوكيل. لا توجد حاوية حقن اعتماديات. الإنشاء ظاهر في الكود ويحدث بترتيب ثابت.
ترتيب الإنشاء:
- مسارات الحالة العامة وحالة الملف الشخصي
- مخازن الحالة: الذاكرة، الجلسات، artifacts، cron، سير العمل، وحالة البوابة
- سجل المزوّدين، منفّذ المزوّدين، ومحلل المسارات المساعدة
- سجل الأدوات ومزوّدو الأدوات المدمجة
- سجلات المهارات الرسمية، ومهارات الملف الشخصي، والمهارات الخارجية
- اعتماديات prompt: ذاكرة prompt المؤقتة، وسياق المشروع، وتوسيع السياق، وسياق الذاكرة
- مكونات تنفيذ بيئة التشغيل مثل
ProviderTurnLoopوToolPlanRunnerوSkillPlaybookRunnerوتنفيذ الأدوات الأصلية AgentLoopBuilder، الذي يجمع اعتماديات الحلقة المقيّدة بالجلسةDefaultChildAgentLoopFactory، الذي يبني الحلقات الفرعية لأعمال الوكلاء الفرعيين المفوضةAgentLoop، الذي ينسّق حدود الجولة، وأحداث بيئة التشغيل، والمتابعة، والإلغاء، والحفظ قواعد التركيب الرئيسية:
- تُحمّل المهارات الرسمية أولًا. تُطبّق مهارات الملف الشخصي والمهارات الخارجية المهيأة بعدها.
- يُرشّح كتالوج المهارات المرئي لكل جلسة باستخدام شروط بيئة التشغيل.
- تُسجّل الأدوات على مراحل حتى تحصل الأدوات المرتبطة بالجلسة على سياق بيئة التشغيل الصحيح.
- تستخدم مسارات النماذج المساعدة سجل المزوّدين ومسار التنفيذ نفسهما المستخدمين لمسارات النموذج الأساسية.
- تُحمّل خوادم MCP المهيأة أثناء إنشاء بيئة التشغيل وتتوقف أثناء التخلص من بيئة التشغيل.
- تُبنى حلقات الوكلاء الفرعية عبر مصنع الحلقات الفرعية، لا عبر تجاوز مسار تركيب بيئة التشغيل.
الأنظمة الفرعية الأساسية
طبقة المزوّدين
تتكون طبقة المزوّدين من ثلاثة أجزاء: كتالوج النماذج، سجل المزوّدين، والتنفيذ.
| الجزء | الدور |
|---|---|
| كتالوج النماذج | يحل ملفات تعريف النماذج المعروفة، والقدرات، وبيانات الرجوع الاحتياطي |
ProviderRegistry | يسجل موائمات المزوّدين ويكشف البحث عن المسارات |
ProviderExecutor | ينفّذ طلبات المزوّدين، يجمع رموز البث، يركّب استدعاءات الأدوات، ويتعامل مع مسارات الرجوع الاحتياطي |
| يوجّه EstaCoda استدعاءات المزوّدين عبر موائمات مزوّدين مهيأة، بما في ذلك OpenAI-compatible chat completions وOpenAI Responses حيث تكون مهيأة. يعتمد اختيار المزوّد على معرفات المزوّدين المهيأة، وتفضيلات المسارات، وقدرة النموذج، وجاهزية الاعتمادات. | |
تُحل المسارات المساعدة عبر البنية نفسها المستخدمة لمسارات النموذج الأساسية. تشمل أسماء المسارات المدعومة vision وcompression وassessor وprofile_context وweb_extract وsession_search وskills_library وmcp وmemory_flush وdelegation. هذه مسارات تفضيلية، وليست بيئات تشغيل منفصلة. | |
| راجع مرجع المزوّدين لتسميات نضج المزوّدين. |
طبقة الأدوات
يسجل ToolRegistry الأدوات المدمجة عند التحميل، وأدوات MCP المكتشفة أثناء إنشاء بيئة التشغيل. ينفّذ ToolExecutor إجراءات الأدوات الفعلية تحت سياسة الأمان النشطة. يحوّل ToolPlanRunner استدعاءات أدوات المزوّد إلى خطط قابلة للتنفيذ، ويدير توازي الأدوات الآمنة، ويفرض حدود الفشل.
تصنيفات مخاطر الأدوات تقود الحجب والموافقة:
| تصنيف الخطر | المعنى |
|---|---|
safe | قراءة منخفضة الخطر أو حساب محلي |
caution | يحتاج إلى عناية أو قد يكشف حالة محلية |
external-side-effect | يمكن أن يؤثر في أنظمة خارجية |
irreversible | يمكن أن ينشئ تغييرات يصعب عكسها |
طبقة المهارات
تُحمّل المهارات من ثلاثة مصادر:
| المصدر | الموقع | التعديل |
|---|---|---|
official | مضمّنة في المستودع | قراءة فقط |
profile | ~/.estacoda/profiles/<id>/skills/ | قابل للتعديل |
external | جذور خارجية مهيأة | قراءة فقط |
الرؤية ثابتة داخل الجلسة وتُحدّث عند /reset أو عند بدء جلسة جديدة. تنفيذ المهارات مدعوم بالمزوّد افتراضيًا، مع سلوك رجوع احتياطي حتمي للجلسات التي لا تحتوي على مزوّد. |
طبقة الذاكرة
يدير MemoryStore ملفات ذاكرة محدودة. يقرأ LocalMemoryProvider ملفات الذاكرة المحلية للملف الشخصي ويكتب إليها. يجهّز MemoryRecallOrchestrator سياق الذاكرة لكل جولة من أجل تركيب prompt.
الاسترجاع، والاسترجاع الخارجي، وملخصات الضغط هي سياق مرجعي فقط. لا تُعامل كتعليمات موثوقة.
طبقة القنوات
ChannelGateway هو جسر الموائمات العام. يتعامل مع المصادقة، وقوائم السماح، وربط الجلسات، وتسليم التقدم، وطلبات الموافقة، وتوجيه الأوامر. لا تعدّل الموائمات حالة الموافقات أو ذاكرة بيئة التشغيل المؤقتة مباشرة.
DeliveryRouter هو مسار التسليم الموحّد للقنوات. يتعامل مع التسليم متعدد الأهداف، واقتطاع النص، وحفظ الأخطاء، وتوجيه artifacts.
طبقة الأمان
يستخدم EstaCoda حدًا أمنيًا قائمًا على القدرات أولًا. تشمل أوضاع الموافقة strict وadaptive وopen. الوضع الافتراضي هو adaptive. يبدّل /yolo إلى وضع open للجلسة، لكنه لا يستطيع تجاوز الحد الأدنى الصارم.
تطابق الموافقات الدائمة على أساس targetKey الموحّد. ملخصات العرض ليست حد الموافقة.
يغطي الحد الأدنى الصارم إجراءات عالية المخاطر مثل الحذف التكراري الواسع، وعمليات القرص التدميرية، وأوامر إيقاف التشغيل أو إعادة التشغيل، وأنماط fork-bomb أو kill-all، وقراءة الأسرار، وتثبيتات pipe-to-interpreter، وعمليات git force-push.
الإعداد والتهيئة الأولى
يمتلك نظام الإعداد التهيئة الأولى المراجعة، وتدفقات الإصلاح، وإعداد القدرات الاختيارية، وتحرير الإعدادات، والتحقق.
| المجال | الكود |
|---|---|
| معالج التهيئة الأولى | src/setup/onboarding-wizard/ |
| محرر الإعداد | src/setup/config-editor/ |
| المراجعة والتطبيق | src/setup/review/ |
| التحقق | src/setup/verification.ts |
| القدرات الاختيارية | src/setup/optional-capability-flow.ts |
| إعداد WhatsApp | src/setup/whatsapp-setup-flow.ts |
| يكتب الإعداد التكوين والأسرار محليًا داخل الملف الشخصي. يعرض مراجعة قبل تطبيق التغييرات، ولا تُعرض الأسرار الخام في شاشة المراجعة. |
التفويض والوكلاء الفرعيون
يسمح التفويض لجلسة أصلية بإنشاء جلسات وكلاء فرعيين محدودة. يُقيّد عمل الطفل بسياسة مجموعة الأدوات، وسياسة مسار النموذج، وإعدادات المهلة والميزانية، وفحوصات حالة الملفات.
| المكوّن | الدور |
|---|---|
DelegationManager | يبدأ عمل الأطفال المفوض ويتتبعه |
SubagentRegistry | يتتبع الوكلاء الفرعيين النشطين |
ChildRunner وBatchRunner | ينفذان جلسة طفل واحدة أو أكثر |
ProgressRelay | ينقل تقدم الطفل الآمن إلى الأصل |
file-state-guard وfile-state-tracker | يحذّران عندما تكون قراءات ملفات الأصل قديمة بعد كتابات الطفل |
toolset-security | يفرض حدود أدوات الطفل |
تستخدم جلسات الأطفال DefaultChildAgentLoopFactory حتى يمر العمل المفوض عبر مسار تركيب بيئة التشغيل نفسه المستخدم للجلسات العادية. |
محرك سير العمل
يشغّل نظام سير العمل عملًا دائمًا متعدد الخطوات. وهو منفصل عن جولة مزوّد واحدة ويمكنه حفظ التقدم عبر حالة سير عمل مدعومة بـ SQLite.
| المكوّن | الدور |
|---|---|
workflow-engine.ts | ينفّذ خطط سير العمل |
sqlite-workflow-store.ts | يحفظ حالة سير العمل |
workflow-command-dispatcher.ts | يتعامل مع أوامر سير العمل |
workflow-lock-service.ts | ينسّق أقفال سير العمل |
workflow-restart-recovery.ts | يستعيد حالة سير العمل القابلة للاستئناف |
skill-playbook-to-workflow-plan.ts | يحوّل playbooks المهارات إلى خطط سير عمل |
| تُنفّذ مسارات سير العمل كسطح تنسيق دائم. لكنها ليست المسار الافتراضي لجولات المحادثة العادية. |
الحزم والتوزيع
الحزم هي مجموعات قابلة للتثبيت. يتحقق نظام الحزم من بيانات الحزمة، والأذونات، والخطر، وسلوك التثبيت قبل قبول الحزمة.
| المكوّن | الدور |
|---|---|
pack-installer.ts | يثبّت الحزم |
pack-registry.ts | يتتبع الحزم المثبتة |
pack-validator.ts | يتحقق من شكل الحزمة |
pack-permission-validator.ts | يفحص الأذونات المعلنة |
pack-risk-classifier.ts | يصنّف خطر الحزمة |
pack-force-audit-log.ts | يسجل التثبيتات المفروضة |
| الحزم امتدادات بيئة تشغيل قابلة للمراجعة. لا تتجاوز حدود الأذونات والثقة الطبيعية. |
إدارة دورة الحياة
يتعامل كود دورة الحياة مع حالة التثبيت، والتحديثات، وإزالة التثبيت، وحل الإصدارات، وحفظ الحالة.
| المكوّن | الدور |
|---|---|
install-method.ts | يكتشف كيف تم تثبيت EstaCoda |
update-engine.ts | ينسّق فحوصات التحديث وإجراءات التحديث |
startup-update.ts | يتعامل مع سلوك التحديث عند بدء التشغيل |
uninstall.ts | يزيل حالة التثبيت المُدارة |
state-preservation.ts | يحفظ الحالة التي يملكها المستخدم أثناء عمليات دورة الحياة |
version-resolver.ts | يحل الإصدارات المتاحة والحالية |
| كود دورة الحياة حساس أمنيًا لأنه يستطيع تعديل ملفات التثبيت وحفظ الحالة المحلية أو إزالتها. |
تطور الوكيل
يدعم نظام التطور تدفقات تحسين مراجعة. يتعامل مع دورة حياة المرشحين، وبوابات القيود، وصيغ التصدير لبيانات التقييم أو التحسين.
| المكوّن | الدور |
|---|---|
candidate-lifecycle.ts | يتتبع دورة حياة التغيير المرشح |
constraint-gate-runner.ts | يشغّل فحوصات البوابات قبل الترقية |
export-format.ts | يصدّر بيانات منظمة للمراجعة أو التقييم |
| صُمم التطور ليبقى قابلًا للمراجعة. يجب ألا يغيّر السلوك المتعلم أو المولّد السياسة الحية بصمت. |
خادم ACP
يحتوي src/acp/ على تكامل خادم ACP. يوفّر تكامل المحرر والبروتوكول بشكل منفصل عن واجهات CLI والقنوات العادية.
البنية الداعمة
هذه الأنظمة الفرعية أصغر من أسطح بيئة التشغيل الرئيسية، لكنها ما زالت جزءًا من البنية.
| النظام الفرعي | الدور |
|---|---|
src/theme/ | حل رموز الطرفية، والواجهات الشكلية، وتراكبات الوضع البسيط |
src/knowledge/ | مخطط اعتماديات الكود وذاكرة المعرفة المؤقتة |
src/python-env/ | بيئات قدرات Python المُدارة |
src/capabilities/ | إعداد القدرات الاختيارية ومساعدات تخزين الأسرار |
src/workers/ | عملية عامل Python |
src/search/ | مساعدات الاستعلام بالنص الكامل |
src/reports/ | عرض تقارير النماذج |
src/diagnostics/ | مساعدات تشخيص المزوّدين والنماذج |
بنية prompt
تركيب prompt طبقي. تشمل مجموعات السياق الرئيسية:
- إرشادات الهوية والملف الشخصي
- الأمان والذاكرة المتعلمة
- سياق المشروع، بما في ذلك
AGENTS.md - سجل الجلسة
- استرجاع الجلسة والاسترجاع الخارجي
- رسالة المستخدم الحية والمرفقات
- تعليمات القصد والمهارة
- إعداد المهارة ومواردها
- خطة سير العمل
- قائمة الأدوات
- سياق مرجعي صريح
- نتائج الأدوات أو تغذية المتابعة الراجعة تُعاد بناء الطبقات القابلة للتخزين المؤقت، مثل الهوية، والأمان، وسياق المشروع، وموارد المهارات، وفهرس المهارات المضغوط، فقط عندما تتغير البيانات الأساسية. تُعاد بناء الطبقات غير القابلة للتخزين المؤقت، مثل سجل الجلسة، والاسترجاع، والرسائل الحية، في كل جولة. القواعد الدلالية:
- يُفضّل سياق النظام الثابت داخل الجلسة على التغيير في منتصف الجلسة.
- تُكشف المهارات تدريجيًا.
- المرفقات سياق منظم، وليست نص مستخدم مزيفًا.
- يحدث تنسيق واجهات القنوات بعد توليد النموذج.
AGENTS.mdهو سياق مشروع، وليس ذاكرة.- الاسترجاع وملخصات الضغط سياق تاريخي غير موثوق.
تدفق البيانات
المسار الأساسي للجولة المباشرة:
- يصل الإدخال من CLI أو من قناة
- تطبّع بيئة التشغيل الرسالة والمرفقات
- يبني تركيب prompt طلب مزوّد طبقيًا
- يرد المزوّد بنص و/أو استدعاءات أدوات
- يشغّل مخطط الأدوات ومنفّذها إجراءات فعلية تحت السياسة
- يمرّر prompt المتابعة نتائج الأدوات إلى النموذج عند الحاجة
- يُنسّق الناتج النهائي للواجهة النشطة
- تُحفظ الجلسة، والذاكرة، والموافقات، ومسار التنفيذ، والحالة المرتبطة
يمكن للجولة أيضًا أن ترتبط بتنسيق أكبر:
| المسار | متى ينطبق |
|---|---|
| حلقة المزوّد/الأدوات المباشرة | المحادثة العادية واستخدام الأدوات |
| التفويض | الجلسة الأصلية تنشئ جلسات وكلاء فرعيين محدودة |
| سير العمل | يبدأ أو يُستأنف تنفيذ دائم متعدد الخطوات |
| بوابة القنوات | الواجهات البعيدة توجه الرسائل، والتقدم، والموافقات، والتسليم النهائي |
ينسّق
AgentLoop.handle()حد الجولة. توجد تكرارات المزوّد، وتخطيط الأدوات، وplaybooks المهارات، وبناء حلقات الأطفال، وتنفيذ سير العمل في مكونات متخصصة.
مصفوفة نضج v0.1.0
| المجال | الحالة | الملاحظات |
|---|---|---|
| CLI | live-proven | واجهة التفاعل المباشر. |
| Telegram | live-proven | قناة بعيدة من الطرف الأول. |
| Discord | present-not-live-proven | كود الموائم موجود؛ الاستخدام الإنتاجي الحي ليس جزءًا من خط أساس v0.1.0. |
present-not-live-proven | كود الموائم موجود؛ الاستخدام الإنتاجي الحي ليس جزءًا من خط أساس v0.1.0. | |
operational-with-external-risk | جسر مرتبط عبر QR، وتشخيصات، وتدفق إعداد موجود؛ ما زال مقيّداً لأن Baileys واجهة غير رسمية. | |
| AgentLoop | live-proven | تنسيق الجولة الأساسي. |
| AgentLoopBuilder | live-proven | تجميع بيئة التشغيل المقيّد بالجلسة. |
| تنفيذ المزوّدين | live-proven | سجل المزوّدين، المنفّذ، الرجوع الاحتياطي، والمسارات المساعدة. |
| تنفيذ الأدوات | live-proven | الأدوات المدمجة وأدوات MCP. |
| نظام المهارات | live-proven | المهارات الرسمية، ومهارات الملف الشخصي، والمهارات الخارجية. |
| نظام الذاكرة | live-proven | ملفات ذاكرة الملف الشخصي والذاكرة المشتركة. |
| سياسة الأمان | live-proven | وضع adaptive مع حد أدنى صارم. |
| البوابة | live-proven | مصادقة القنوات، التوجيه، الموافقات، والتسليم. |
| الإعداد والتحقق | live-proven | التهيئة الأولى، محرر الإعداد، وفحوصات الجاهزية. |
| التفويض | implemented | جلسات أطفال محدودة وتتبع للوكلاء الفرعيين. |
| سير العمل | implemented | تنفيذ دائم متعدد الخطوات مع حالة مدعومة بـ SQLite. |
| الحزم | implemented | تحقق الحزم، التثبيت، الخطر، وفحوصات الأذونات. |
| دورة الحياة | implemented | دعم التثبيت، والتحديث، وإزالة التثبيت، وحفظ الحالة. |
| تطور الوكيل | implemented | دورة حياة المرشحين، البوابات، وصيغة التصدير. |
| Cron | implemented | جدولة المهام وتنفيذها. |
| ACP | implemented | تكامل خادم ACP موجود. |
| مخطط المعرفة | implemented | مخطط اعتماديات الكود والذاكرة المؤقتة. |
| المتصفح، CDP محلي | live-proven | Chrome DevTools Protocol محلي. |
| المتصفح، سحابي | implemented | Browserbase مُنفّذ خلف موافقة صريحة على إنفاق السحابة؛ بقية مزودي المتصفح السحابي أطر وهمية. |
| بحث الويب | implemented | Brave Search وDDGS مُنفّذان للبحث. استخراج fetch الحارس مُنفّذ؛ الزحف وبقية مزودي البحث ما زالوا أطرًا وهمية. |
| مشغّل التقييم | implemented | توجد fixtures حتمية. |
نقاط الضعف المعمارية
- يبقى
create-runtime.tsجذر التركيب — الإنشاء صريح وقابل للمراجعة، لكن الملف ما زال كبيرًا. يجب أن تكون التغييرات هنا ضيقة ومختبرة جيدًا. - AgentLoop مفكك لكنه ما زال مركزيًا — يتعامل
AgentLoopBuilderوProviderTurnLoopوToolPlanRunnerوSkillPlaybookRunnerومصانع حلقات الأطفال مع جزء كبير من العمل. ما زالAgentLoopينسّق حدود الجولة، وأحداث بيئة التشغيل، والمتابعة، والإلغاء، والحفظ. - جاهزية البوابة مقابل التشغيل الفعلي — يبلغ
estacoda gateway diagnoseعن جاهزية الموائم، لا عن تشغيل عملية الخلفية فعليًا. - عمليات دورة الحياة والحزم عالية الأثر — يمكن لمسارات التحديث، وإزالة التثبيت، وتثبيت الحزم، وحفظ الحالة أن تعدّل ملفات التثبيت أو حالة بيئة التشغيل. عامل التغييرات هناك كأعمال حساسة أمنيًا.
- ارتباطات SQLite الأصلية — قد يتطلب
better-sqlite3ترجمة أثناء التثبيت على بعض المنصات.
كيفية الفحص
# جاهزية بيئة التشغيل ومشاكل الإعداد
estacoda model diagnose
# جاهزية الإعداد الكاملة
estacoda verify
# التشخيص العام
estacoda doctor
# جاهزية البوابة لكل موائم
estacoda gateway diagnose
# حالة البوابة الكاملة
estacoda gateway status
# حالة المزوّدين
estacoda model show
# قائمة الجلسات مع ارتباطات الواجهات
estacoda sessions list
# حالة القنوات
estacoda channels status
# مخطط اعتماديات الكود
estacoda knowledge code summary
estacoda knowledge code refresh