الطبيب
estacoda doctor هو أمر فحص الصحة في EstaCoda. يفحص الملف الشخصي المختار، ومساحة العمل، ومسارات المزوّدين، والقدرات الاختيارية، وحالة التشغيل، والجلسات، ووضع الأمان، واعتماديات المشغّل الشائعة، ثم يعرض حكمًا وإجراءات تالية واضحة.
شغّل Doctor قبل إضافة أسطح جديدة عندما يبدو شيء ما غير صحيح. هذا هو أمر التعافي بين "اكتمل الإعداد" و"الوكيل جاهز فعلًا".
متى تستخدمه
استخدم Doctor عندما:
- يكتمل الإعداد لكن
estacodaلا يبدأ بشكل نظيف - يكون مسار النموذج مضبوطًا لكن الوكيل لا يجيب
- يبدو مزوّد أو متصفح أو خادم
MCPأو ملف ذاكرة أو حزمة مهارات أو مخزن جلسات قديمًا - تعدّل إعداد الملف الشخصي يدويًا
- تريد تقرير صحة بصيغة
JSONللأتمتة - يعرض محرّر الإعدادات خيار
EstaCoda Doctor
لا تبدأ بتفعيل القنوات أو المتصفح أو الصوت أو توليد الصور أو MCP عندما يعرض Doctor عوائق. أصلح أول عائق أولًا.
أسرع مسار
estacoda doctor
اقرأ التقرير من الأعلى إلى الأسفل:
| القسم | ما الذي تبحث عنه |
|---|---|
| Checks | صحة عالية المستوى لكل نظام فرعي |
| Provider Routes | جاهزية المسار الأساسي والاحتياطي والضغط والمقيّم والمسارات الأخرى |
| Verdict | Ready أو 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 بعد ذلك فقط إذا بقي اتصال المزوّد هو سبب الفشل المرجح.
ماذا بعد
- البداية السريعة — التثبيت الأساسي وأول جلسة تعمل
- واجهة سطر الأوامر — الإعداد، والجلسات، وسلوك الطرفية
- المزوّدون — مسارات النماذج ومعالجة الاعتماد
- الحالة والملفات — أين يبحث Doctor
- استكشاف الأخطاء — ملاحظات إصلاح حسب العرض