> ## Documentation Index
> Fetch the complete documentation index at: https://docs.befailproof.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

title: "استكشاف الأخطاء"
description: "تشخيص الجلسات المفقودة والسياسات المفقودة وفشل التسليم والإجراءات المحظورة للوكيل."
icon: "wrench"
--------------

<AccordionGroup>
  <Accordion title="عدم ظهور جلسات في السحابة">
    <Tabs>
      <Tab title="لوحة التحكم">
        افتح **الإدارة → المفاتيح** وتأكد من أن مفتاح الجهاز نشط وعليه صلاحية `events:add`. ثم افتح **مراقبة → الأحداث**، وسّع نطاق الوقت، وامسح عوامل التصفية للبيئة والوكيل. إذا كانت هناك أحداث، ابحث عن معرّف الجلسة ثم تحقق من **مراقبة → الجلسات** للتجميع. إذا لم تكن هناك أحداث، قم بتشخيص daemon Failproof من سطر الأوامر.

        <img src="https://mintcdn.com/exosphere/WgPwQzedeDNwJBTy/images/dashboard/events-stream-current.png?fit=max&auto=format&n=WgPwQzedeDNwJBTy&q=85&s=e87ba86b877f602de73237d5a3565269" alt="مجرى الأحداث المباشر مع عوامل التصفية الأساسية والأحداث الحديثة للوكيل." width="2940" height="1618" data-path="images/dashboard/events-stream-current.png" />
      </Tab>

      <Tab title="CLI">
        ```bash theme={null}
        failproofai config --status
        failproofai flush --wait --timeout 60
        fp list envs
        fp events --since 24h --limit 20
        fp sessions --since 24h --limit 20
        ```

        تأكد من تفعيل الالتقاط والمفتاح المُعد له صلاحية `events:add` وأن عامل التصفية في لوحة التحكم يطابق البيئة المُرسلة.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="أحداث Python SDK تبقى على القرص">
    <Tabs>
      <Tab title="لوحة التحكم">
        امسح عوامل التصفية في **مراقبة → الأحداث** وابحث عن معرّف جلسة SDK الدقيق. إذا لم يظهر شيء، افحص سبول SDK و daemon Failproof على جهاز المصدر.
      </Tab>

      <Tab title="CLI">
        ```bash theme={null}
        failproofai config --status
        failproofai flush --wait
        ```

        تأكد من أن عملية الوكيل تضبط `AGENTEYE_SPOOL_TO_FAILPROOFAI=1` وأن `$FAILPROOFAI_HOME/custom-agents` أو `~/.failproofai/custom-agents` موجودة قبل بدء SDK.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="الجهاز لا يتلقى السياسات">
    <Tabs>
      <Tab title="لوحة التحكم">
        افتح **الإدارة → الإنفاذ**، حدد الجهاز، وقارن إصداراته المعينة والمُبلغ عنها والسابقة. تأكد من أن نطاق النشر يشمل الجهاز وأن مفتاحه له صلاحية `policies:pull`. يمكن أن يعمل الالتقاط حتى عند عدم تسليم السياسة.
      </Tab>

      <Tab title="CLI">
        ```bash theme={null}
        failproofai config --status
        failproofai update
        failproofai config --status
        ```

        تأكد من تطابق معرّف الجهاز والعلامة مع هدف لوحة التحكم. أعد الاتصال باستخدام مفتاح قادر على السياسات إذا كان بيان الاعتماد الحالي يمنح الالتقاط فقط.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="يتم رفض إجراء لأن daemon غير متاح">
    <Tabs>
      <Tab title="لوحة التحكم">
        افتح **الإدارة → الإنفاذ** وافحص آخر وقت ظهور الجهاز والإصدار المُبلغ عنه. إذا كان الجهاز قديماً، عامله كمشكلة daemon محلية. لا تضعف السياسة المنشورة فقط لتجاوز daemon غير متاح.
      </Tab>

      <Tab title="CLI">
        ```bash theme={null}
        failproofai config --status
        failproofai update
        failproofai config
        failproofai config --status
        ```

        أعد تشغيل أو حدّث `failproofaid`؛ أعد تشغيل التكوين عند اختلاف إصدارات بروتوكول CLI و daemon. مسار daemon المُعد يفشل بشكل مقفول بالتصميم.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="سياسة مخصصة لا تُحمّل">
    <Tabs>
      <Tab title="لوحة التحكم">
        للسياسة المُنشأة في السحابة، افتح **الإدارة → محرر السياسات**، حدد المسودة، واستعرض أخطاء التحقق قبل النشر. للسياسة المحلية، استخدم CLI للتحقق منها، ثم افتح **مراقبة → السياسة** بعد إجراء اختبار لتأكيد وصول القرارات.
      </Tab>

      <Tab title="CLI">
        تأكد من أن اسم الملف ينتهي بـ `policies.js` أو `policies.mjs` أو `policies.ts`، وأن الوحدة تستدعي `customPolicies.add(...)`، والـ imports تُحل من ملف السياسة.

        ```bash theme={null}
        failproofai policies --install --custom ./checkout.policies.ts
        failproofai policies
        ```
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="تدقيق لا يُرجع نتائج">
    <Tabs>
      <Tab title="لوحة التحكم">
        افتح **تحليل → التدقيقات**، حدد التشغيل، وتحقق مما إذا تم تشغيل تحليل النموذج. ثم قارن نطاقه وإطاره الزمني مع **مراقبة → الجلسات** وافتح آثاراً تمثيلية من تلك المجموعة.

        النتيجة الصفر ذات معنى فقط عند نجاح التحليل. إذا تم تخطي التحليل أو فشل، ينتج التشغيل بلا نتائج ويُبقي النافذة غير المحللة مفتوحة للتشغيل الناجح المستقبلي. إذا تم تعطيل تحليل النموذج، ينتج التدقيق أيضاً بلا نتائج لأن المسح الحتمي للبيانات الاعتماديّة والشخصية يسجل الإحصائيات فقط لكن لا يرفع بعد الآن النتائج.

        <img src="https://mintcdn.com/exosphere/WgPwQzedeDNwJBTy/images/dashboard/audit-new.png?fit=max&auto=format&n=WgPwQzedeDNwJBTy&q=85&s=5ff2eacb3773c1acd30535a8395e5603" alt="نموذج التدقيق حيث البيئة والوكيل والتكرار ونافذة الكنس تحدد مجموعة الجلسات." width="1279" height="879" data-path="images/dashboard/audit-new.png" />
      </Tab>

      <Tab title="CLI">
        ```bash theme={null}
        fp audits show <audit-name>
        fp audits runs <audit-name>
        fp sessions --since 24h --env production
        fp audits context-show <audit-name>
        fp audits run <audit-name>
        fp audits findings --audit <audit-name>
        ```

        إذا بقي التشغيل في طابور الانتظار، انتظر قدرة audit-agent أو اطلب من مشغل النشر فحص أسطول التدقيق. التدقيق في الطابور يُعاد محاولته؛ لا يتم تخطيه فوراً.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="التقييمات المباشرة لا تعمل تلقائياً">
    <Tabs>
      <Tab title="لوحة التحكم">
        افتح جلسة مكتملة وتحقق مما إذا كان التقييم اليدوي ناجحاً. السحابة المستضافة حالياً لا تحتوي على تحكم في نقطة نهاية المُقيّم في لوحة التحكم؛ يجب على مشغل الخادم تكوينها.
      </Tab>

      <Tab title="CLI">
        تحقق من المُقيّم نفسه، ثم افحص حالات التقييم الحديثة:

        ```bash theme={null}
        curl https://evaluator.example.com/health
        fp evals --since 1h
        ```

        على السحابة ذاتية الاستضافة، تأكد من وجود `EVALUATOR_ENDPOINT` على الخادم و`EVALUATOR_TOKEN` يطابق المُقيّم. يتم تعطيل التقييم التلقائي عند عدم وجود نقطة النهاية.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="مصادقة Cloud CLI تستهدف المنظمة الخاطئة">
    <Tabs>
      <Tab title="لوحة التحكم">
        استخدم مبدّل المنظمة وتأكد من الاختصار والصلاحيات المتوقعة قبل مقارنة النتائج مع CLI.
      </Tab>

      <Tab title="CLI">
        ```bash theme={null}
        fp whoami
        fp orgs current
        fp orgs perms
        ```

        في وضع مفتاح API، حدد `fp --org <slug> --api-key <key> ...` أو اضبط `AGENTEYE_ORG`. حالة منظمة جلسة الإنسان المحفوظة يتم تجاهلها بشكل مقصود لطلبات مفتاح API.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="سياسة تحظر العمل الصحيح">
    <Tabs>
      <Tab title="لوحة التحكم">
        افتح **مراقبة → السياسة**، احفظ القرار والجلسة المرتبطة، وحدد حالة الموجب الخاطئ. ثم افتح **الإدارة → الإنفاذ** وأرجع الأجهزة المتضررة إلى الإصدار السابق. أنشئ إصداراً أضيق في **محرر السياسات**، اختبره على نطاق صغير، وتوسع فقط بعد نجاح العمل الصحيح.
      </Tab>

      <Tab title="CLI">
        استرجاع نشر السحابة للإصدار السابق هو dashboard فقط. إيقاف جلسة محلية لا يعطل السياسات المُدارة بالسحابة. إذا كانت لوحة التحكم غير متاحة، التقط حالة الجهاز والنشر واستعد وصول لوحة التحكم بدلاً من إعادة محاولة الإجراء المحظور بشكل متكرر.

        ```bash theme={null}
        failproofai config --status
        ```
      </Tab>
    </Tabs>
  </Accordion>
</AccordionGroup>

عند الاتصال بالدعم، أرفق إصدار CLI والأداة والبيئة ومعرّف الجلسة أو النشر ذي الصلة ومخرجات `failproofai config --status` مع حذف الأسرار.
