إنتقل إلى المحتوى الرئيسي

الطبيب

estacoda doctor هو أمر فحص الصحة في EstaCoda. يفحص الملف الشخصي المختار، ومساحة العمل، ومسارات المزوّدين، والقدرات الاختيارية، وحالة التشغيل، والجلسات، ووضع الأمان، واعتماديات المشغّل الشائعة، ثم يعرض حكمًا وإجراءات تالية واضحة.

شغّل Doctor قبل إضافة أسطح جديدة عندما يبدو شيء ما غير صحيح. هذا هو أمر التعافي بين "اكتمل الإعداد" و"الوكيل جاهز فعلًا".


متى تستخدمه

استخدم Doctor عندما:

  • يكتمل الإعداد لكن estacoda لا يبدأ بشكل نظيف
  • يكون مسار النموذج مضبوطًا لكن الوكيل لا يجيب
  • يبدو مزوّد أو متصفح أو خادم MCP أو ملف ذاكرة أو حزمة مهارات أو مخزن جلسات قديمًا
  • تعدّل إعداد الملف الشخصي يدويًا
  • تريد تقرير صحة بصيغة JSON للأتمتة
  • يعرض محرّر الإعدادات خيار EstaCoda Doctor

لا تبدأ بتفعيل القنوات أو المتصفح أو الصوت أو توليد الصور أو MCP عندما يعرض Doctor عوائق. أصلح أول عائق أولًا.

أسرع مسار

estacoda doctor

اقرأ التقرير من الأعلى إلى الأسفل:

القسمما الذي تبحث عنه
Checksصحة عالية المستوى لكل نظام فرعي
Provider Routesجاهزية المسار الأساسي والاحتياطي والضغط والمقيّم والمسارات الأخرى
VerdictReady أو Ready with warnings أو Blocked
Actionsالأوامر أو التغييرات اليدوية التالية بالضبط
Notesتفاصيل غير حاجبة تشرح ما رآه Doctor

إذا قال التقرير Blocked، أصلح أول إجراء محظور قبل إضافة ميزات. إذا قال Ready with warnings، قد يعمل EstaCoda، لكن التحذير ما زال عملًا تشغيليًا حقيقيًا.

ماذا يفحص Doctor

Doctor للقراءة فقط افتراضيًا. يفحص:

الفحصماذا يغطي
Runtimeظهور Node وسياق الأمر الأساسي
Installationمجلد حالة EstaCoda وجاهزية النسخ الاحتياطي
Stateالحالة العامة، وحالة الملف الشخصي المختار، وهيكل الملف الشخصي المتوقع
Configurationصياغة الإعداد، والمفاتيح الجذرية القديمة، والأقسام الموصى بها، ومتغيرات env الشبحية
Providersإعداد المزوّد النشط وتغطية الاعتمادات
Provider Routesصحة المسار الأساسي والاحتياطي والضغط والمقيّم والمسارات المساعدة
OAuthسجلات المزوّدين في auth.json المحلي للملف الشخصي دون تحديث tokens
Modelsهوية النموذج النشط وتحذيرات نافذة السياق
Capabilitiesالمتصفح، والبحث، والقدرات المدعومة بـ Python، والأسطح الاختيارية المضبوطة
MCPشكل خوادم MCP المضبوطة وتحذيرات الأمان
External toolsأدوات محلية مثل git وnode وpnpm وrg وأدوات اختيارية
Dependenciesحالة تدقيق الاعتماديات عند طلبه صراحة
Advisoriesالتنبيهات الأمنية النشطة والإقرارات المحلية للملف الشخصي
Python Environmentsجاهزية قدرات Python المُدارة
Memoryملفات ذاكرة الملف الشخصي وحالة الذاكرة المشتركة
Sessionsاتصال قاعدة جلسات SQLite، والمخطط، وFTS، وWAL، وجاهزية الإصلاح
Skillsحزم المهارات المثبتة وحالة سجل الحزم
Securityتحذيرات الثقة والموافقات والسياسة

لا يطبع Doctor الأسرار الخام. تبقى مفاتيح API، وقيم tokens الخاصة بـ OAuth، ورموز القنوات، وقيم الاعتماد الخاصة خارج التقرير.

رموز الخروج

يستخدم estacoda doctor المستقل صحة التقرير كرمز خروج:

النتيجةرمز الخروج
جاهز بلا تحذيرات0
تحذيرات أو عوائق1

هذا مفيد في السكربتات، لكن لا تعامل رمز الخروج 1 كأن الأمر انهار. غالبًا يعني أن Doctor اكتمل بنجاح ووجد عملًا مطلوبًا.

للأتمتة، فضّل مخرجات JSON واقرأ verdict.status.

مخرجات JSON

estacoda doctor --json

مخرجات JSON تتجاوز مصيّر طرفية Papyrus وتعيد شكل DoctorReport المنظم:

{
"profile": "default",
"workspace": "/path/to/workspace",
"verdict": {
"status": "warning",
"blockedCount": 0,
"warningCount": 1,
"healthyCount": 13
},
"actions": []
}

استخدم JSON في CI، والمراقبة، وأدوات الدعم. يتبع نفس قاعدة عدم عرض الأسرار مثل المخرجات البشرية.

الفحوصات الحية

تتجنب فحوصات Doctor العادية استدعاء inference حي للمزوّد. أضف الفحوصات الحية فقط عندما يبدو الإعداد المحلي صحيحًا لكن الاتصال أو سلوك المزوّد ما زال سبب الفشل المرجح.

estacoda doctor --live

--live يشغّل فحوصات نقاط نهاية المزوّدين. قد يتصل بالمزوّدين المضبوطين، لذلك عامله كإجراء مشغّل صريح.

estacoda doctor --live-tools

--live-tools أضيق وأعلى كلفة: يشغّل تشخيصًا حيًا لاستدعاء الأدوات. استخدمه فقط عندما يكون سلوك tool-call هو ما تصححه.

تدقيق الاعتماديات

تدقيق الاعتماديات اختياري:

estacoda doctor --audit

بدون --audit، يبلغ Doctor أن تدقيق الاعتماديات لم يُشغّل ويقترح الأمر. هذا يبقي فحص الصحة العادي محدودًا ويتجنب عملًا مفاجئًا مع الشبكة أو سجل الحزم.

الإصلاحات الآمنة

لدى Doctor أوامر إصلاح، لكنها ضيقة عمدًا.

estacoda doctor --fix

--fix يطبّق فقط إصلاحات حالة محلية آمنة:

  • إنشاء مجلدات الحالة/الملف الشخصي المفقودة عندما يكون الهيكل متوقعًا
  • إنشاء ملفات محلية للملف الشخصي آمنة للتهيئة
  • ضبط أذونات .env وauth.json في الملف الشخصي إلى 0600

--fix لا يفعل الآتي:

  • لا يثق بمساحة عمل
  • لا ينشئ اعتمادات مزوّد
  • لا يفعّل مزوّدين شبكيين
  • لا يحدّث tokens الخاصة بـ OAuth
  • لا يشغّل فحوصات مزوّد حية
  • لا يهاجر الإعداد
  • لا يصلح قاعدة بيانات الجلسات

بعد --fix، شغّل Doctor مرة أخرى:

estacoda doctor

إصلاح الإعداد

عندما يبلغ Doctor عن مفاتيح إعداد قديمة أو متغيرات env شبحية، استخدم مسار إصلاح الإعداد:

estacoda doctor --fix-config

هذا ينسخ إعداد الملف الشخصي احتياطيًا ويطبّق migrations إعداد يعرف Doctor كيف ينفذها. لا يصلح ملف JSON تالفًا.

لإزالة مفاتيح اعتماد غير مرجعية من .env بعد مراجعة التقرير:

estacoda doctor --fix-config --remove-env-ghosts

استخدم هذا فقط بعد التأكد أن المفاتيح غير مستخدمة فعلًا من الملف الشخصي المختار.

إصلاح مخزن الجلسات

قد يوصي Doctor بإصلاح الجلسات عندما تحتوي قاعدة جلسات SQLite على مشاكل في المخطط أو FTS أو فحص الكتابة:

estacoda doctor --repair-sessions

هذا المسار ينسخ مخزن الجلسات احتياطيًا قبل إعادة بناء هياكل قاعدة الجلسات المدعومة. شغّله فقط عندما يوصي Doctor به.

لتشخيص فحص الكتابة الصريح:

estacoda doctor --sqlite-write-probe

فحص الكتابة اختياري لأنه ينفذ عملية كتابة/قراءة/حذف محدودة في قاعدة البيانات.

التنبيهات الأمنية

عندما يعرض Doctor تنبيهًا نشطًا، اقرأه أولًا. إذا قبلت الخطر عمدًا لهذا الملف الشخصي، أقرّه بالمعرّف:

estacoda doctor --ack <advisory-id>

الإقرارات محلية للملف الشخصي. لا تزيل التنبيه من ملفات شخصية أخرى.

محرّر الإعدادات

يتضمن محرّر الإعدادات EstaCoda Doctor كإجراء صحة للقراءة فقط:

estacoda setup

اختر EstaCoda Doctor عندما تريد فحص صحة الإعداد دون تغيير التكوين. لا يكرر محرّر الإعدادات تشخيصات الإعداد القديمة؛ Doctor هو تقرير الصحة الوحيد الموجّه للمستخدم.

ما لن يفعله Doctor

لن يتجاوز Doctor حدود الثقة بصمت.

لن يقوم بـ:

  • الثقة التلقائية بمساحة عمل
  • طباعة قيم الأسرار
  • إنشاء مفاتيح API أو اعتمادات OAuth
  • تفعيل Telegram أو WhatsApp أو المتصفح أو الصوت أو البحث أو توليد الصور أو MCP أو إنفاق السحابة
  • تعديل المهارات أو الذاكرة أو منح الموافقات أو مسارات المزوّدين الحية إلا إذا شغّلت أمر إصلاح صريح
  • تشغيل inference حي إلا إذا طلبت الفحوصات الحية

هذا مقصود. Doctor يخبرك ما الخطأ ويعطي الأمر التالي. لا يحوّل التحذيرات إلى تعديل خفي.

ترتيب التعافي

استخدم هذا الترتيب قبل التصحيح اليدوي:

estacoda doctor
estacoda doctor --fix
estacoda doctor
estacoda setup
estacoda model status

استخدم estacoda doctor --live بعد ذلك فقط إذا بقي اتصال المزوّد هو سبب الفشل المرجح.

ماذا بعد