بدء لوحة التحكم
http://localhost:8020.
تقرأ لوحة التحكم بيانات المشروع المحلية والجلسات وبيانات تكوين failproofai مباشرة من نظام الملفات. الميزات المصادقة الاختيارية، مثل تذكيرات التدقيق والدعوات، ترسل المعلومات المطلوبة لتلك الطلبات (بما في ذلك عناوين البريد الإلكتروني) إلى واجهات برمجية بعيدة.
الصفحات
المشاريع
يسرد جميع مشاريع Claude Code و OpenAI Codex و GitHub Copilot CLI (beta) و Cursor Agent (beta) و OpenCode (beta) و Pi (beta) و Hermes و OpenClaw و Factory Droid و Devin و Antigravity و Goose الموجودة على جهازك. يتم اكتشاف مشاريع 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 من السجل الأول لكل جلسة; يتم قراءة جلسات بوابة Hermes مباشرة من متجرها SQLite على ~/.hermes/state.db (قابلة للتكوين عبر HERMES_DB_PATH) وتجميعها في مشاريع hermes-<source> حسب source (Slack/Telegram/cli/cron — جلسات البوابة لا تحتوي على cwd); يتم قراءة جلسات بوابة OpenClaw من ~/.openclaw/agents/<agentId>/sessions/*.jsonl وتجميعها في مشاريع openclaw-<agentId> (أيضاً بدون cwd); يتم اكتشاف مشاريع Factory Droid من نصوص JSONL على ~/.factory/sessions/<encoded-cwd>/*.jsonl وتجميعها حسب cwd; مشاريع Devin من قاعدة بيانات SQLite الخاصة بها على ~/.local/share/devin/cli/sessions.db (مجمعة حسب working_directory لكل جلسة); مشاريع Antigravity من نصوص JSONL على ~/.gemini/antigravity-cli/brain/<conversationId>/…/transcript_full.jsonl وتجميعها حسب cwd; ومشاريع Goose من قاعدة بيانات SQLite الخاصة بها على ~/.local/share/goose/sessions/sessions.db (مجمعة حسب working_dir لكل جلسة). يتم عرض المشروع الذي استخدمته واجهات برمجية متعددة كصف واحد مع جميع الشارات المطابقة. استخدم القائمة المنسدلة CLI فوق الجدول للتصفية حسب واجهة برمجية وكيل محددة; يحافظ عنوان URL على اختيارك كـ ?cli=claude|codex|copilot|cursor|opencode|pi|hermes|openclaw|factory|devin|antigravity|goose.
يعرض كل مشروع:
- اسم المشروع (مشتق من مسار المجلد)
- شارة CLI —
Claude Code(برتقالي)،OpenAI Codex(بنفسجي)،GitHub Copilot(أزرق)،Cursor Agent(أخضر زمردي)،OpenCode(كهرماني)،Pi(وردي)، و/أوHermes(نيلي) - تاريخ أحدث نشاط جلسة
الجلسات
يسرد جميع الجلسات ضمن مشروع. تعرض كل جلسة:- معرّف الجلسة
- الطوابع الزمنية للبداية والنهاية
- عدد استدعاءات الأدوات
- عدد أنشطة Hook (السياسات التي تم تشغيلها)
عارض الجلسة
يجيب عارض الجلسة على السؤال الرئيسي للوكلاء المستقلين: ماذا فعل الوكيل، وهل بقي على المسار الصحيح؟ تشير شارة CLI بجوار الرأس إلى ما إذا كانت الجلسة نسخة أصلية من Claude Code أو OpenAI Codex أو GitHub Copilot CLI أو Cursor Agent أو OpenCode أو Pi أو Hermes أو OpenClaw أو Factory Droid أو Devin أو Antigravity أو Goose. يظهر خط زمني لكل ما حدث في الجلسة:- الرسائل - استجابات Claude النصية وتوجيهات المستخدم
- استدعاءات الأدوات - كل أداة استدعاها Claude، مع إدخالها وإخراجها
- نشاط السياسة - لكل استدعاء أداة، السياسات التي تم تشغيلها والقرار الذي أرجعته
session / messages / parts الأساسية.
التدقيق
تقرير مدفوع بالشخصية لكيفية تصرف وكيلك بالفعل عبر الجلسات السابقة. يشغل نفس الفحص كما في CLIfailproofai audit لكنه يعرضها كملصق واحد قابل للمشاركة على شاشة واحدة + أربعة أقسام أسفل الطية:
-
ملصق — يملأ أول عرض محمول. منطقة PNG التقاط نفسها الاحتواء مع علامة failproof_ai + تسمية التدقيق · فهرس النموذج الأصلي (
№ NN of 08) + تاريخ التدقيق · درجة عددية (0–100) + حبة ترتيب مئوي (top 15%) · اسم النموذج الأصلي (أحدهاthe optimist،the cowboy،the explorer،the goldfish،the paranoid architect،the precision builder،the hammer،the ghost) + شريط 3 كلمات ·// only N% of agents are this archetypeسطر الندرة · بلاط sigil بحجم 8×8 بكسل · تذييلaudit yours → failproof.ai. ثلاثة أزرار مشاركة تجلس خارج صندوق الالتقاط مباشرة:post your archetype(X intent)،share on linkedin،download poster. يعمل الالتقاط من خلالhtml-to-imageلذا يطابق PNG عرض الشاشة بكسل لبكسل (حدود مخططة، قناع شعار SVG، تدرجات، مقاييس الخط — كل محفوظ). - نقاط القوة — قائمة صف هادئة لسلوكيات وكيلك التي يفعلها بالفعل بشكل صحيح، مشتقة من بيانات التدقيق المباشر (معدل استدعاء أداة نظيف، بدون دفع مباشر إلى main، بدون تسرب بيانات اعتماد، بدون عواصف إعادة محاولة) — يتم عرض كل منها فقط عندما تكون السياسة ذات الصلة لها سجل نظيف عبر نافذة التدقيق.
-
الغرائب — جدول ما تسرب، مرتب حسب الخطورة:
when · what slipped + the policy that would've caught it · severity pill · seen، حيث يقرأ التكرارnew(مرة واحدة)،N× seen(2–9 مرات)، أوrecurring(10+). -
كيفية التحسين — قائمة صف هادئة، واحدة لكل سياسة موصى بها: اسم السياسة بأبيض، وصف سطر واحد، أمر التثبيت + زر نسخ على الجانب الأيمن. يقرأ رأس القسم
enable all N → projected <score> · <tier>(الدرجة التي ستصل إليها مع تطبيق كل إصلاح)، وزر[install all]الخاص به ينسخ أمرfailproofai policy add a b c …المدمج لكل سياسة موصى بها. -
عد بشكل أفضل — بطاقتان جنباً إلى جنب. اليسار: قم بتعيين تذكير (منتقي الإيقاع
3d/7d/14d/30d; يستمر عبر/api/auth/reminderبمجرد المصادقة). اليمين: فتح مزايا failproof —invite a friendيفتح نمطاً يأخذ قائمة بريد إلكتروني للأصدقاء مفصولة بفواصل/مسافات/أسطر جديدة (الحد الأقصى 10 لكل إرسال)، POSTs إلى/api/audit/invite، والذي يعيد توجيهها إلى/v0/inviteفي خادم api الخاص بـPOST. يرسل خادم api بريداً إلكترونياً واحداً لكل مستقبل منinvite@failproof.aiمع نسخة المرسل (Cc) وReply-Toمحددة، لذا يرى المستقبل من قام بدعوتهم والمرسل يحصل على نسخة في صندوق الوارد الخاص به. يتم توجيه المستخدمين المجهولين من خلالAuthDialogأولاً بحيث يكون البريد الإلكتروني للمرسل معروفاً قبل إرسال الدعوات. استحقاق / تحقيق المزايا هو متابعة.
failproofai audit - انظر Audit CLI لمحرك الفحص الأساسي والعلامات المدعومة والثوابت الثابتة المخزنة مؤقتاً لكل نسخة أصلية. تقوم لوحة التحكم بتخزين النتيجة الأحدث مؤقتاً على ~/.failproofai/audit-dashboard.json (الوضع 0600، موضع واحد، تكتب التشغيلات الجديدة فوق) بحيث تكون إعادة الزيارات فورية; يتم رفض كل من ذاكرة التخزين المؤقتة لكل نسخة أصلية وكل النتائج عند القراءة بمجرد أن تصبح أقدم من 7 أيام لذا لا تقدم لوحة التحكم أبداً بصمت نتيجة قديمة بسنة — بعد TTL /audit يسقط من خلال حالته الفارغة ويطالب بتشغيل طازج. بالنقر على [ re-audit now ] بالقرب من أسفل التقرير، يتم POST إلى /api/audit/run مع noCache: true — إعادة التدقيق تتجاوز ذاكرة التخزين المؤقتة لكل نسخة أصلية وتعيد مسح كل نسخة أصلية من الصفر بدلاً من إرجاع النتيجة المخزنة مؤقتاً بصمت — وتقوم لوحة التحكم باستطلاع /api/audit/status عند 1Hz حتى ينتهي التشغيل; يتم تثبيت شريط تقدم وردي لزج في أعلى عرض المنفذ أثناء التشغيل مع مؤقت مضي الوقت، والنتيجة الطازجة تتبادل في الموضع عند النجاح (لا يوجد إعادة تحميل كاملة للصفحة; إعادة التدقيق الفاشلة تترك التقرير السابق سليماً). في حالة الفشل، يتحول الشريط إلى اللون الأحمر مع النسخ المشفرة من RerunError.kind (timeout / network / post_failed). يتم عرض الحالة الفارغة (بدون ذاكرة تخزين مؤقتة أو منتهية الصلاحية) وحالة الجلسات الصفرية (توجد ذاكرة تخزين مؤقتة لكن الفحص لم يعثر على نصوص أصلية) بشكل منفصل.
السياسات
صفحة ذات تبويبتين لإدارة السياسات ومراجعة النشاط.- تبويب السياسات
- تبويب النشاط
- اختر من لوحة واحدة واجهات برمجية وكيل متعددة التي تحمي failproofai — Claude Code و OpenAI Codex و GitHub Copilot و Cursor Agent و OpenCode و Pi و Hermes كل منها لديه صف مع حالة التثبيت (
Active/Detected/Inactive)، مسار إعدادات النطاق الخاص بالمستخدم، وتأكيد ذو ألوان العلامة التجارية. تحقق أو قم بإلغاء تحديد واجهات البرمجة التي تريدها وانقر فوقApply changesلتثبيت/إلغاء تثبيت الفرق في خطوة واحدة. واجهات برمجية التي يتم اكتشاف ملفاتها الثنائية على PATH يتم تحديد مسبق لها. - التبديل بين السياسات الفردية بضغطة واحدة (يكتب إلى
~/.failproofai/policies-config.json— مشترك عبر كل CLI مثبت) - قم بتوسيع سياسة لتكوين معاملات الخاصة بها (للسياسات التي تدعم
policyParams) - تعيين مسار ملف السياسات المخصصة
التحديث التلقائي
تحتوي لوحة التحكم على تبديل التحديث التلقائي في التنقل العلوي. عند التفعيل، يتم تحديث الصفحة الحالية بشكل دوري لعرض الجلسات الجديدة ونشاط السياسة عند ظهوره. ضروري لمراقبة جلسات الوكيل المستقل طويلة المدى.تعطيل الصفحات
إذا كنت تحتاج فقط إلى بعض أجزاء لوحة التحكم، قم بتعيينFAILPROOFAI_DISABLE_PAGES إلى قائمة مفصولة بفواصل من أسماء الصفحات:
policies، projects، audit.
تكوين مسار المشاريع
بشكل افتراضي، تقرأ لوحة التحكم من دليل مشاريع Claude Code القياسي. قم بتجاوزه للإعدادات المخصصة:الوصول من مضيف غير localhost
عند تشغيل لوحة التحكم في وضع dev (npm run dev) والوصول إليها من اسم مضيف آخر غير localhost - على سبيل المثال، مجال مخصص أو عنوان IP بعيد أو عنوان URL مجهول الهوية - قد تراى تحذيراً مثل:
--allowed-origins:
FAILPROOFAI_ALLOWED_DEV_ORIGINS بدلاً من ذلك:
ينطبق هذا فقط على وضع dev. عند تشغيل
failproofai (وضع الإنتاج)، لا يوجد websocket HMR ولا توجد مشكلة مورد dev متعدد الأصول.
