> ## Documentation Index
> Fetch the complete documentation index at: https://exosphere-auto-translate-docs-20260623-1106.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# לוח בקרה

> מراقبة جلسات الوكيل، مراجعة استدعاءات الأدوات، وإدارة السياسات

לוח הבקרה של failproofai הוא יישום אינטרנט מקומי לניטור של جلسات סוכני AI שלך וניהול מדיניויות. ראה מה העשו הסוכנים שלך בזמן שהיית רחוק.

***

## הפעלת לוח הבקרה

```bash theme={null}
failproofai
```

נפתח ב-`http://localhost:8020`.

לוח הבקרה קורא ישירות מקובץ המערכת - תיקיות הפרויקט Claude Code שלך וקובצי הגדרות failproofai. שום דבר לא נכתב לשירות מרחוק.

***

## דפים

### Projects

רשימה של כל פרויקטי 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` המוקלט בתיעוד הראשון של כל סession; פרויקטי Copilot CLI מתגלים על ידי סריקת `~/.copilot/session-state/<sessionId>/workspace.yaml` (הניתן להגדרה דרך `COPILOT_HOME`) וקיבוץ לפי שדה `cwd` שלו; פרויקטי Cursor Agent מתגלים על ידי סריקת מטא-נתונים לכל סession תחת `~/.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 לכל סession תחת `~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl` (הניתן להגדרה דרך `PI_SESSIONS_DIR`) ושימור `cwd` מתיעוד הראשון של כל סession; פרויקטי 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` (שמיים)
* תאריך של פעילות הסession הקודמת

לחץ על פרויקט כדי לראות את הsessions שלו.

### Sessions

רשימה של כל הsessions בתוך פרויקט. כל סession מציג:

* Session ID
* חותמות זמן התחלה וסיום
* מספר קריאות הכלים
* ספירת פעילות hook (מדיניויות שהופעלו)

השתמש בסנן טווח התאריך וחיפוש Session ID כדי לצמצם את הרשימה. Sessionsים מחולקים לעמודים.

לחץ על סession כדי לפתוח את מציג הsession.

### מציג Session

מציג הsession עונה על השאלה המרכזית עבור סוכנים אוטונומיים: מה עשה הסוכן, והאם הוא נשאר בעקבות? תג CLI ליד הכותרת מציין האם הsession הוא תמלול Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi, או Gemini CLI. הוא מציג ציר הזמן של כל מה שקרה בsession:

* **Messages** - תגובות טקסט של Claude והודעות משתמש
* **Tool calls** - כל כלי שClaude הפעיל, עם הקלט והפלט שלו
* **Policy activity** - לכל קריאת כלי, אילו מדיניויות הופעלו ואיזו החלטה הן החזירו

סרגל הסטטיסטיקה בחלק העליון מציג משך הsession, סך כל קריאות הכלים, וסיכום החלטות hook (ספירות allow / deny / instruct).

לחץ על כפתור **Download Logs** כדי לייצא את הsession. עבור Sessionsי Claude Code, Codex, Copilot, Cursor, Pi, ו-Gemini אתה מקבל את תמלול JSONL המקורי בדיסק בתים-בתים; עבור OpenCode (שהsessionsים שלה חיים ב-SQLite, לא בדיסק) אתה מקבל מסמך JSON המשקף את הטבלאות `session` / `messages` / `parts` הבסיסיות.

### Audit

דוח מונע בעקבות אישיות איך הסוכן שלך התנהג בפועל על פני sessionsים קודמים. מפעיל את אותה סריקה כמו CLI `failproofai audit` אבל מעניק אותה כפוסטר בן מסך יחיד שניתן לשיתוף + ארבעה חלקים מתחת לקפל:

1. **Poster** — ממלא את viewport הראשון. אזור PNG בעצמאות המעט עם ה-failproof\_ai wordmark + תווית audit · אינדקס archetype (`№ NN of 08`) + תאריך audit · ניקוד מספרי (0–100) + כדור דרגת אחוזון (`top 15%`) · שם archetype (אחד מ-`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 tile של 8×8 פיקסל · `audit yours → failproof.ai` תוחלת. שלושה כפתורי שיתוף יושבים בחוץ מ-capture box: `post your archetype` (X intent), `share on linkedin`, `download poster`. Capture פועל דרך `html-to-image` אז ה-PNG תואם את הרינדור בעל המסך פיקסל-לפיקסל (גבולות מקווקווים, SVG logo mask, gradients, font metrics — הכל משומר).

2. **Strengths** — שורת רשימה רגועה ✓ של התנהגויות שהסוכן שלך כבר עושה נכון, מביאות מנתוני audit חיוני (קצב קריאת כלים נקי, ללא דחיפות ישירות לראשי, אפס דלפי אישורים, אפס סערות ניסיון) — כל אחת מופיעה רק כאשר למדיניות הרלוונטית יש רקורד נקי על פני חלון ה-audit.

3. **Quirks** — טבלה של מה שחלף, מדורגת לפי חומרה: `when · what slipped + the policy that would've caught it · severity pill · seen`, כאשר ה-recurrence קורא `new` (פעם אחת), `N× seen` (2–9 פעמים), או `recurring` (10+).

4. **How to improve** — שורת רשימה רגועה, אחד לכל מדיניות מקבילה: שם מדיניות בלבן, תיאור בשורה אחת, כפתור פקודת התקנה + העתקה בצד ימין. כותרת הסעיף קוראת `enable all N → projected <score> · <tier>` (הניקוד שהייתה תוקף עם כל התיקון המיושם), וכפתור `[install all]` שלו מעתיק את הפקודה `failproofai policy add a b c …` המשולבת לכל מדיניות מקבילה.

5. **Come back better** — שתי כרטיסים זה לצד זה. משמאל: הגדרת תזכורת (`3d` / `7d` / `14d` / `30d` בוחר קדנציה; שומר דרך `/api/auth/reminder` ברגע שמאומת). מימין: פתח הטבות failproof — `invite a friend` פותח מודאל שלוקח רשימה מופרדת בפסיק/ספייס/שורה חדשה של אימיילים חברים (מקסימום 10 לשליחה), POSTs להם ל-`/api/audit/invite`, שמעביר לשרת api `POST /v0/invite`. שרת ה-api שולח אימייל אחד לכל מקבל מ-`invite@failproof.ai` עם ה-Cc של השולח וה-`Reply-To` מוגדר, כך שהמקבל רואה מי הזמין אותו והשולח מקבל העתק בתיבת הדואר שלו. משתמשים אנונימיים מעוברים דרך `AuthDialog` תחילה אז אימייל השולח ידוע לפני שההזמנות יוצאות. עמידה / מילוי הטבות הוא מעקב.

מונעות על ידי `failproofai audit` runtime — ראה [Audit CLI](/he/cli/audit) עבור מנוע הסריקה הבסיס, דגלים נתמכים, ובלתי-משתנים cache לכל תמלול. לוח הבקרה משמור את התוצאה העדכנית ביותר ב-`~/.failproofai/audit-dashboard.json` (מצב `0600`, חריץ יחיד, הריצות חדשות משכתבות) אז הביקורים חוזרים מיידיים; **גם ה-per-transcript וגם כל ה-result caches דוחים על קריאה ברגע שהם קדומים יותר מ-7 ימים** אז לוח הבקרה לעולם לא משרת בשקט תוצאה בן שבועות — עבר ה-TTL `/audit` נופל דרך למצב הריק שלו ומתגבר שריקה טרייה. לחיצה על `[ re-audit now ]` ליד תחתית הדוח POSTs `/api/audit/run` עם `noCache: true` — re-audit עוקף את ה-per-transcript cache ומסרק כל תמלול מהעט ​​במקום בשקט להחזיר את התוצאה המטומנת — ולוח הבקרה סוקר `/api/audit/status` ב-1Hz עד שהריצה תסתיים; רצועת התקדמות ורודה דביקה מתלמדת לחלק העליון של ה-viewport במהלך הריצה עם טיימר זמן חלוף, והתוצאה הטרייה משתלבת במקום בהצלחה (לא טעינת עמוד מלא; re-audit כושל משאיר את הדוח הקודם שלם). בכישלון הרצועה הופכת לאדום עם עותק מחובר ל-`RerunError.kind` (`timeout` / `network` / `post_failed`). מצב ריק (אין cache או פקוח) ומצב sessionsים אפס (cache קיים אך הסריקה לא מצאה תמלולים) מוצגים בנפרד.

### Policies

דף שתי-טאב לניהול מדיניויות ובדיקת פעילות.

<Tabs>
  <Tab title="Policies tab">
    * בחר באופן מרובה איזו CLIs סוכן failproofai מגנה מפנל יחיד — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi, ו-Gemini CLI כולם יש שורה עם סטטוס התקנה (`Active` / `Detected` / `Inactive`), נתיב הגדרות ה-user-scope, וכן נקודה צבעי-מותג. סמן או בטל סימון CLIs שאתה רוצה ולחץ על `Apply changes` כדי להתקין/להסיר את ההבדל בשלב אחד. CLIs שהבינארי שלהם מתגלה ב-PATH מסומנים מראש.
    * החליפו מדיניויות בודדות או כיבוי עם לחיצה יחידה (כתיבה ל-`~/.failproofai/policies-config.json` — משותף על פני כל CLI שהותקן)
    * הרחבו מדיניות כדי להגדיר את הפרמטרים שלה (עבור מדיניויות התומכות ב-`policyParams`)
    * הגדר נתיב קובץ מדיניויות מותאם
  </Tab>

  <Tab title="Activity tab">
    * היסטוריה מלאה מחולקת לעמודים של כל אירוע hook שהופעל על פני כל הsessions
    * סנן לפי החלטה, סוג אירוע, CLI (Claude Code / OpenAI Codex / GitHub Copilot *(beta)* / Cursor Agent *(beta)* / OpenCode *(beta)* / Pi *(beta)* / Gemini CLI *(beta)*), שם מדיניות, או Session ID
    * כל שורה מציגה: חותמת זמן, שם מדיניות, החלטה, תג CLI (כתום = Claude Code, סגול = OpenAI Codex, כחול = GitHub Copilot, זמרד = Cursor Agent, ענבר = OpenCode, ורוד = Pi, שמיים = Gemini CLI), שם כלי, Session ID, והסיבה להחלטות deny/instruct
    * לחץ על Session ID כדי לפתוח את התמלול שלו — מציג אוטו-מזהה איזה CLI הדליק את ה-hook (Claude `~/.claude/projects/…`, Codex `~/.codex/sessions/…`, Copilot CLI `~/.copilot/session-state/<id>/events.jsonl`, Cursor Agent `~/.cursor/agent-sessions/<id>/events.jsonl`, OpenCode `~/.local/share/opencode/opencode.db`, Pi `~/.pi/agent/sessions/<encoded-cwd>/<id>.jsonl`, Gemini CLI `~/.gemini/tmp/<basename>/chats/<session>.jsonl`) וממשיך את תג CLI המתאים בכותרת
  </Tab>
</Tabs>

***

## Auto-refresh

לוח הבקרה יש תיאום toggle auto-refresh בניווט העליון. כאשר הוא מופעל, הדף הנוכחי מתרענן בתדירות כדי להציג sessionsים חדשים ופעילות מדיניות כאשר הם מופיעים. חיוני לניטור של sessionsים סוכנים אוטונומיים ארוכי משך.

***

## השבתת דפים

אם אתה צריך רק חלקים מסוימים של לוח הבקרה, הגדר `FAILPROOFAI_DISABLE_PAGES` לרשימה מופרדת בפסיק של שמות דפים:

```bash theme={null}
FAILPROOFAI_DISABLE_PAGES=policies failproofai
```

ערכים תקפים: `policies`, `projects`, `audit`.

***

## הגדרת נתיב הפרויקטים

כברירת מחדל, לוח הבקרה קורא מתיקיית הפרויקטים הסטנדרטית Claude Code. עקוף אותו עבור הגדרות מותאמות:

```bash theme={null}
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
```

***

## הגישה מhoست non-localhost

כאשר בפעלון לוח הבקרה בעבודה **dev mode** (`npm run dev`) וגישה אליו משם hostname שאינו `localhost` - לדוגמה, תחום מותאם, IP מרחוק, או URL tunneled - אתה עשוי לראות אזהרה כמו:

```text theme={null}
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
```

זה Next.js חוסם גישה cross-origin לחוט HMR (hot module reload) שלו, שזה תכונה dev-only. כדי לתת אפשרות לhoust שלך, השתמש בדגל `--allowed-origins`:

```bash theme={null}
npm run dev -- --allowed-origins dashboard.example.com
```

עבור מספר hostsים או IPs, העבור רשימה מופרדת בפסיק:

```bash theme={null}
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
```

אתה גם יכול להגדיר את משתנה הסביבה `FAILPROOFAI_ALLOWED_DEV_ORIGINS` במקום:

```bash theme={null}
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
```

<Note>
  זה חל רק ל-dev mode. כאשר רצים `failproofai` (production mode), אין HMR websocket ואין בעיה cross-origin dev resource.
</Note>
