تخطَّ إلى المحتوى

تشخيص وكيل

يبيّن هذا الدليل كيف تصل إلى سبب توقف الوكيل عن إنتاج التشغيلات.

ابدأ من الأعلى: تشغيلات الوكيل نفسه أولًا، ثم محوّله، ثم الخادم، ثم المضيف.

الإعدادات ← مساحة العمل ← الوكلاء ← اختر الوكيل ← السجلات.

يعرض كل تشغيل شارة حالة، ومدة («جارٍ التشغيل…» ما دام قيد التنفيذ)، ووقتَي البدء والاكتمال، وPID، والمحوّل الذي استخدمه. عرض يفتح تيار الأحداث الخام لذلك التشغيل. إيقاف يقتل العملية الجارية ويعلّم التشغيل «أوقفه المستخدم»، وإنهاء العمليات الجارية في الترويسة يفعل الأمر نفسه لكل تشغيل قيد التنفيذ لهذا الوكيل.

اقرأه هكذا:

  • لا تشغيلات أصلًا — لم يحدث الإرسال. إشارة حقل الكتابة هي @ تليها محارف كلمة (حروف، أرقام، شرطة سفلية). يُحَل الاسم بتطابق تام أو ببادئة، فيُحلَّل @code-reviewer على أنه code، ويظل قادرًا على إيقاظ وكيل اسمه code-reviewer. والاسم الذي فيه مسافة لا يُشار إليه رمزًا واحدًا. ثم انتقل إلى الخطوة 2.
  • تشغيل انتهى فورًا بخطأ — افتح عرض. فشل إطلاق الخلفية يظهر هنا خطأ عملية.
  • تشغيل عالق عند «جارٍ التشغيل…» — أوقفه، ثم افحص مهلة الصمت (بالدقائق) للوكيل في علامة تبويب الإعدادات. المهلة غير المضبوطة تستخدم افتراضي الوضع.
  • تشغيل مكتمل بلا مخرج مفيد — تبقى حالة سجل التشغيل completed إذا انتهى من غير التسليم الذي أوجبه، والإشارة الصادقة نص الملخص لا الشارة.

علامة تبويب السجلات لا تعرض تكلفة. للإنفاق، استخدم جدول كل وكيل في قابلية الملاحظة ← الرؤى.

الإعدادات ← الخادم ← مزوّدو النماذج (/settings/server/providers).

تعرض قائمة المشغّلات المكتشفة كل محوّل مع نتيجة فحصه: إصدار مثبّت، أو «جارٍ التحقق…»، أو «غير موجود»، ومعها المسار المحلول وشارات القدرات لسطر الأوامر الذي وُجد. اضغط تحديث في ترويسة الصفحة لإعادة الفحص.

يجري الفحص على الجهاز الذي يستضيف cc_server، لا على الجهاز الذي تنظر إليه. إن كنت على عميل الويب أو على جهاز مقترن، فـ«غير موجود» يعني أن سطر الأوامر غائب عن مضيف الخادم.

أمران للتأكد منهما:

  • أن يكون للمحوّل قيمة أصلًا. الوكيل ذو المحوّل الفارغ يُرسَل إلى Control Center (built-in)، ويسجّل سجل تشغيله cc-harness، فيسمّي السجل ما اشتغل. وإن غاب النموذج أيضًا طلب من Anthropic افتراضه، فيفشل بـ No credential for provider "anthropic" ما لم تربط حساب Anthropic. المتخصصون المبذورون يُشحَنون بلا محوّل.
  • أن يكون للمحوّل المضمّن نموذج. قائمة نماذجه تُبنى مباشرة من المزوّدين الموصولين أسفل هذه الصفحة نفسها، فالمزوّد بلا بيانات اعتماد مخزّنة لا يساهم بأي نموذج.

فهرس المحوّلات نفسه ثابت، ولا سبيل لتسجيل محوّل جديد. ما تستطيع تغييره هنا لكل محوّل هو وسائط الإطلاق ومتغيرات البيئة. وتجاوز البيئة الخاص بالمحوّل يغلب في صمت حساب مزوّد موصولًا حين تُحَل بيانات الاعتماد.

الإعدادات ← الخادم ← الاتصال والحالة (/settings/server/connection) يبيّن أي خادم يخاطبه هذا العميل، وما يبلّغه.

لخادم بلا واجهة، GET /healthz هو المعلومة نفسها من غير عميل. الطلب بلا مصادقة، ومفتوح لـ CORS عن قصد:

curl http://localhost:9030/healthz

يعيد حالة الخادم، وزمن التشغيل بالثواني، وعدد الاتصالات الحيّة، والمنفذ المربوط، وإصدار البناء وgit SHA، وإصدار مخطط مساحة العمل، وإصدار فهرس RPC، ومعرّف الخادم واسمه وبصمة هويته، وهل الربط غير آمن، وكتلة codeGraph بعدّادات watching وindexing وpending. إذا رأت ذاكرة تخزين مؤقت حركة، تُضاف كتلة caches أيضًا، وخادم العرض يضيف demo: true.

أمران يستحقان المعرفة حين «ينجح التغيير في الاختبارات ولا ينجح في التطبيق»:

  • يشغّل عميل الحاسوب ثنائي cc_server المبني مسبقًا مقدّمًا على المصدر. عملية RPC جديدة أو أداة MCP لا تظهر حتى يُعاد بناء الثنائي، ويسجّل الإقلاع تحذيرًا إذا اختلف git SHA للعملية الوليدة عن git SHA التطبيق.
  • يقتل عميل الحاسوب خادمًا ولّده إذا لم يطبع سطر جاهزيته خلال 20 ثانية، وينتقل إلى شاشة خطأ.

الإعدادات ← الخادم ← التشخيص والخصوصية (/settings/server/diagnostics) صفحة المضيف. فيها:

  • العزل — مفتاح تمكين البيئة المعزولة، والخلفية المكتشفة، وحقل المتطلبات. الخلفية المكتشفة وحدها تأتي من الخادم، انظر التحذير أدناه. لا يوجد عنصر إعادة التعيين.
  • البحث الدلالي — دورة حياة نموذج التضمين على الجهاز: مثبّت، أو «جارٍ تنزيل النموذج…» مع نسبة مئوية، أو «غير مثبّت»، أو «فشل التثبيت». إلى أن يُثبَّت، يبقى بحث الذاكرة والشفرة بالكلمات المفتاحية فقط.
  • سلوك النظام — إبقاء الكمبيوتر مستيقظًا أثناء تشغيل الوكلاء.
  • مستوى السجل — ارفعه قبل إعادة إنتاج العطل.
  • الخصوصية — إرسال محتوى الفروق إلى مهايئ الذكاء الاصطناعي، ومشاركة تقارير الأعطال.

التشغيل لا يبدأ والمحوّل يعرض «غير موجود»

قسم بعنوان “التشغيل لا يبدأ والمحوّل يعرض «غير موجود»”

ثبّت سطر الأوامر على مضيف الخادم، ثم اضغط تحديث في صفحة مزوّدي النماذج. أو بدّل الوكيل إلى Control Center (built-in)، وهو لا يحتاج سطر أوامر، وصِل مزوّدًا في الصفحة نفسها.

الوكيل لا يستطيع الدفع أو فتح طلب سحب

قسم بعنوان “الوكيل لا يستطيع الدفع أو فتح طلب سحب”

انظر ما يطبعه git أو الوكيل. Control Center policy: … تعني أن قاعدة إجراء رفضت، أو أن موافقة لم تلقَ جوابًا: افحص الدفع إلى مستودع بعيد وفتح طلب سحب في الإعدادات ← مساحة العمل ← أذونات الوكلاء. إن قال git إن Control Center لا يملك اعتماد GitHub يستطيع الدفع، فثبّت تطبيق GitHub على ذلك المستودع، أو اربط GitHub.

البحث الدلالي لا يعيد شيئًا مفيدًا

قسم بعنوان “البحث الدلالي لا يعيد شيئًا مفيدًا”

افحص الإعدادات ← الخادم ← التشخيص والخصوصية ← البحث الدلالي. إلى أن يُثبَّت نموذج التضمين، يبقى البحث بالكلمات المفتاحية فقط. الصفوف المكتوبة قبل تثبيت النموذج لا تُملأ بأثر رجعي، فتبقى بالكلمات المفتاحية حتى بعد التثبيت.

المكتبات الأصلية مطلوبة، ولا وضع متدهور. غياب dylib يجعل cc_server يرفض البدء ويسمّي المتسبّب في الخطأ. جهّز المكتبات الأصلية بـ scripts/natives/build_natives.sh، ثم أعد بناء ثنائي الخادم.

قرار ضابط prompt من غير معتمِد متصل يُرفَض، عن قصد. افحص قواعد مساحة العمل في الإعدادات ← مساحة العمل ← أذونات الوكلاء.