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

title: لوحة التحكم description: “مراقبة جلسات الوكيل، ومراجعة استدعاءات الأدوات، وإدارة السياسات” icon: chart-line

لوحة تحكم failproofai هي تطبيق ويب محلي لمراقبة جلسات وكيل الذكاء الاصطناعي وإدارة السياسات. اطّلع على ما فعله وكيلاؤك أثناء غيابك.

بدء لوحة التحكم

failproofai
يفتح على http://localhost:8020. تقرأ لوحة التحكم مباشرة من نظام الملفات - مجلدات مشاريع Claude Code وملفات إعدادات failproofai. لا يتم كتابة أي شيء إلى خدمة بعيدة.

الصفحات

المشاريع

يسرد جميع مشاريع Claude Code و OpenAI Codex و GitHub Copilot CLI (beta) و Cursor Agent (beta) و OpenCode (beta) و Pi (beta) و Gemini CLI (beta) الموجودة على جهازك. يتم اكتشاف مشاريع Claude من ~/.claude/projects/ (أو المسار المحدد بواسطة CLAUDE_PROJECTS_PATH); يتم اكتشاف مشاريع Codex بمسح كل نسخة من ~/.codex/sessions/<YYYY>/<MM>/<DD>/*.jsonl وتجميعها حسب cwd المسجلة في السجل الأول لكل جلسة; يتم اكتشاف مشاريع Copilot CLI بمسح كل ~/.copilot/session-state/<sessionId>/workspace.yaml (قابل للتكوين عبر COPILOT_HOME) وتجميعها حسب حقل cwd; يتم اكتشاف مشاريع Cursor Agent بمسح البيانات الوصفية لكل جلسة تحت ~/.cursor/agent-sessions/<sessionId>/ (قابل للتكوين عبر CURSOR_HOME، مع استخدام conversations/ و sessions/ كبدائل) بحثاً عن cwd اسمي في meta.json / session.json / workspace.yaml; يتم اكتشاف مشاريع OpenCode من خلال الاستعلام من قاعدة بيانات SQLite الخاصة به على ~/.local/share/opencode/opencode.db عبر opencode db --format json (نقرأ جداول session و project ونجمعها حسب project_id); يتم اكتشاف مشاريع Pi بمسح نسخ JSONL لكل جلسة تحت ~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl (قابل للتكوين عبر PI_SESSIONS_DIR) وسحب cwd من السجل الأول لكل جلسة; يتم اكتشاف مشاريع Gemini CLI بمسح ~/.gemini/tmp/<basename>/chats/session-<timestamp>-<uuid-prefix>.jsonl (قابل للتكوين عبر GEMINI_SESSIONS_DIR) واستعادة cwd القانوني من علامة النص .project_root المجاورة. يُعرض المشروع الذي تم استخدامه بواسطة عدة CLIs كصف واحد مع جميع الشارات المطابقة. استخدم القائمة المنسدلة CLI فوق الجدول للتصفية حسب وكيل CLI معين; يحافظ عنوان URL على اختيارك كـ ?cli=claude|codex|copilot|cursor|opencode|pi|gemini. يعرض كل مشروع:
  • اسم المشروع (مشتق من مسار المجلد)
  • شارة CLI — Claude Code (برتقالي)، OpenAI Codex (بنفسجي)، GitHub Copilot (أزرق)، Cursor Agent (زمردي)، OpenCode (كهرماني)، Pi (وردي)، و/أو Gemini CLI (سماوي)
  • تاريخ آخر نشاط جلسة
انقر على مشروع لمشاهدة جلساته.

الجلسات

يسرد جميع الجلسات داخل مشروع. تعرض كل جلسة:
  • معرف الجلسة
  • الطوابع الزمنية للبدء والانتهاء
  • عدد استدعاءات الأدوات
  • عدد نشاط الربط (السياسات التي تم تفعيلها)
استخدم مرشح نطاق التاريخ والبحث في معرف الجلسة لتضييق القائمة. يتم تقسيم الجلسات إلى صفحات. انقر على جلسة لفتح عارض الجلسة.

عارض الجلسة

يجيب عارض الجلسة على السؤال الرئيسي للوكلاء المستقلين: ماذا فعل الوكيل، وهل ظل على المسار الصحيح؟ تشير شارة CLI بجانب الرأس إلى ما إذا كانت الجلسة نسخة Claude Code أو OpenAI Codex أو GitHub Copilot CLI أو Cursor Agent أو OpenCode أو Pi أو Gemini CLI. يعرض خط زمني لكل شيء حدث في جلسة:
  • الرسائل - الردود النصية من Claude والطلبات من المستخدم
  • استدعاءات الأدوات - كل أداة استدعاها Claude، مع مدخلاتها ومخرجاتها
  • نشاط السياسة - لكل استدعاء أداة، السياسات التي تم تفعيلها والقرار الذي أرجعته
يعرض شريط الإحصائيات في الأعلى مدة الجلسة وإجمالي استدعاءات الأدوات وملخص قرارات الربط (عدد allow / deny / instruct). انقر على زر Download Logs لتصدير الجلسة. بالنسبة لجلسات Claude Code و Codex و Copilot و Cursor و Pi و Gemini ستحصل على نسخة JSONL الأصلية على القرص بنفس البايت; بالنسبة لـ OpenCode (التي تعيش جلساتها في SQLite وليس على القرص) ستحصل على مستند JSON يعكس جداول session / messages / parts الأساسية.

السياسات

صفحة ذات تبويبين لإدارة السياسات ومراجعة النشاط.
  • متعدد التحديد لوكلاء CLI التي تحمي failproofai من لوحة واحدة — Claude Code و OpenAI Codex و GitHub Copilot و Cursor Agent و OpenCode و Pi و Gemini CLI لها جميعاً صف مع حالة التثبيت (Active / Detected / Inactive)، ومسار إعدادات النطاق الخاص بالمستخدم، وأكسنت بألوان العلامة التجارية. حدد أو قم بإلغاء تحديد CLIs التي تريدها وانقر فوق Apply changes لتثبيت/إلغاء تثبيت الفرق في خطوة واحدة. يتم تحديد CLIs التي يتم الكشف عن ملفها الثنائي على PATH مسبقاً.
  • بدّل السياسات الفردية على أو عن بنقرة واحدة (كتابة إلى ~/.failproofai/policies-config.json — مشاركة عبر كل CLI مثبت)
  • وسّع سياسة لتكوين معاملات لها (بالنسبة للسياسات التي تدعم policyParams)
  • عيّن مسار ملف السياسات المخصص

الانتعاش التلقائي

لوحة التحكم لديها تبديل انتعاش تلقائي في التنقل العلوي. عند تفعيله، تُحدّث الصفحة الحالية بشكل دوري لعرض جلسات جديدة ونشاط سياسة جديد عند ظهورها. ضروري لمراقبة جلسات الوكيل المستقل طويلة الأمد.

تعطيل الصفحات

إذا كنت بحاجة إلى جزء واحد فقط من لوحة التحكم، عيّن FAILPROOFAI_DISABLE_PAGES إلى قائمة بأسماء الصفحات مفصولة بفواصل:
FAILPROOFAI_DISABLE_PAGES=policies failproofai
القيم الصحيحة: policies، projects.

تكوين مسار المشاريع

بشكل افتراضي، تقرأ لوحة التحكم من دليل مشاريع Claude Code القياسي. جاوز ذلك للإعدادات المخصصة:
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai

الوصول من مضيف غير محلي

عند تشغيل لوحة التحكم في وضع التطوير (npm run dev) والوصول إليها من اسم مضيف بخلاف localhost - على سبيل المثال، نطاق مخصص أو IP بعيد أو عنوان URL بنفق - قد ترى تحذيراً مثل:
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
هذا هو Next.js يحجب الوصول عبر الأصول إلى websocket HMR (إعادة تحميل الوحدة الساخنة) الخاص به، وهي ميزة فقط في التطوير. للسماح لمضيفك، استخدم العلم --allowed-origins:
npm run dev -- --allowed-origins dashboard.example.com
بالنسبة لعدة مضيفين أو IPs، مرر قائمة مفصولة بفواصل:
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
يمكنك أيضاً تعيين متغير البيئة FAILPROOFAI_ALLOWED_DEV_ORIGINS بدلاً من ذلك:
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
هذا ينطبق فقط على وضع التطوير. عند تشغيل failproofai (وضع الإنتاج)، لا يوجد websocket HMR ولا توجد مشكلة مورد تطوير عبر الأصول.