> ## 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.

# डैशबोर्ड

> एजेंट सेशन की निगरानी करें, टूल कॉल की समीक्षा करें, और नीतियों का प्रबंधन करें

failproofai डैशबोर्ड आपके AI एजेंट सेशन की निगरानी करने और नीतियों का प्रबंधन करने के लिए एक स्थानीय वेब एप्लिकेशन है। देखें कि आपके एजेंट आपके दूर रहते हुए क्या करते थे।

***

## डैशबोर्ड शुरू करना

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

`http://localhost:8020` पर खुलता है।

डैशबोर्ड स्थानीय प्रोजेक्ट, सेशन, और failproofai कॉन्फ़िगरेशन डेटा सीधे फाइलसिस्टम से पढ़ता है। वैकल्पिक प्रमाणित सुविधाएं, जैसे ऑडिट रिमाइंडर और आमंत्रण, इन अनुरोधों के लिए आवश्यक जानकारी (ईमेल पते सहित) को दूरस्थ API को भेजते हैं।

***

## पृष्ठ

### प्रोजेक्ट्स

आपकी मशीन पर मिले सभी 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/` को फॉलबैक के रूप में जांचा जाता है) `meta.json` / `session.json` / `workspace.yaml` में `cwd` स्केलर के लिए खोजे जाते हैं; OpenCode प्रोजेक्ट्स `~/.local/share/opencode/opencode.db` पर इसके SQLite DB को `opencode db --format json` के माध्यम से क्वेरी करके खोजे जाते हैं (`session` और `project` टेबल पढ़ते हैं और `project_id` के आधार पर समूहित करते हैं); Pi प्रोजेक्ट्स `~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl` के तहत प्रति-सेशन JSONL ट्रांसक्रिप्ट को स्कैन करके (`PI_SESSIONS_DIR` के माध्यम से कॉन्फ़िगरेबल) और प्रत्येक सेशन के पहले रिकॉर्ड से `cwd` खींचकर खोजे जाते हैं; Hermes गेटवे सेशन सीधे `~/.hermes/state.db` पर इसके SQLite स्टोर से पढ़े जाते हैं (`HERMES_DB_PATH` के माध्यम से कॉन्फ़िगरेबल) और `source` (Slack/Telegram/cli/cron) के आधार पर `hermes-<source>` प्रोजेक्ट्स में समूहित किए जाते हैं — गेटवे सेशन में कोई cwd नहीं होता; OpenClaw गेटवे सेशन `~/.openclaw/agents/<agentId>/sessions/*.jsonl` से पढ़े जाते हैं और `openclaw-<agentId>` प्रोजेक्ट्स में समूहित किए जाते हैं (cwd के बिना भी); Factory Droid प्रोजेक्ट्स `~/.factory/sessions/<encoded-cwd>/*.jsonl` पर JSONL ट्रांसक्रिप्ट से खोजे जाते हैं और cwd के आधार पर समूहित किए जाते हैं; Devin प्रोजेक्ट्स `~/.local/share/devin/cli/sessions.db` पर इसके SQLite DB से (प्रत्येक सेशन के `working_directory` के आधार पर समूहित); Antigravity प्रोजेक्ट्स `~/.gemini/antigravity-cli/brain/<conversationId>/…/transcript_full.jsonl` पर JSONL ट्रांसक्रिप्ट से और cwd के आधार पर समूहित; और Goose प्रोजेक्ट्स `~/.local/share/goose/sessions/sessions.db` पर इसके SQLite DB से (प्रत्येक सेशन के `working_dir` के आधार पर समूहित)। एक प्रोजेक्ट जिसे कई CLI द्वारा उपयोग किया गया है वह सभी मेलिंग बैज के साथ एक एकल पंक्ति के रूप में प्रस्तुत होता है। तालिका के ऊपर **CLI** ड्रॉपडाउन का उपयोग करके एक विशिष्ट एजेंट 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` (गहरा नीला)
* सबसे हाल के सेशन गतिविधि की तारीख

एक प्रोजेक्ट पर क्लिक करके इसके सेशन देखें।

### सेशन

एक प्रोजेक्ट के भीतर सभी सेशन को सूचीबद्ध करता है। प्रत्येक सेशन दिखाता है:

* सेशन ID
* शुरुआत और समाप्त समय
* टूल कॉल की संख्या
* हुक गतिविधि की गणना (नीतियां जो फायर हुईं)

तारीख की सीमा फ़िल्टर और सेशन ID खोज का उपयोग करके सूची को संकुचित करें। सेशन पृष्ठाकृत हैं।

एक सेशन पर क्लिक करके सेशन व्यूअर खोलें।

### सेशन व्यूअर

सेशन व्यूअर स्वायत्त एजेंट के लिए मुख्य प्रश्न का उत्तर देता है: एजेंट ने क्या किया, और क्या यह ट्रैक पर रहा? हेडर के बगल में एक CLI बैज इंगित करता है कि सेशन एक Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi, Hermes, OpenClaw, Factory Droid, Devin, Antigravity, या Goose ट्रांसक्रिप्ट है। यह एक सेशन में हुई हर चीज की एक समयरेखा दिखाता है:

* **संदेश** - Claude के पाठ प्रतिक्रियाएं और उपयोगकर्ता प्रॉम्प्ट
* **टूल कॉल** - प्रत्येक टूल जो Claude ने आह्वान किया, इसके इनपुट और आउटपुट के साथ
* **नीति गतिविधि** - प्रत्येक टूल कॉल के लिए, कौन सी नीतियां फायर हुईं और उन्होंने क्या निर्णय लौटाया

शीर्ष पर स्टैट्स बार सेशन अवधि, कुल टूल कॉल, और हुक निर्णयों का सारांश (allow / deny / instruct गणना) दिखाता है।

**Download Logs** बटन पर क्लिक करके सेशन को निर्यात करें। Claude Code, Codex, Copilot, Cursor, और Pi सेशन के लिए आप मूल ऑन-डिस्क JSONL ट्रांसक्रिप्ट बाइट-के-लिए-बाइट प्राप्त करते हैं; OpenCode के लिए (जिसके सेशन SQLite में हैं, डिस्क पर नहीं) आप एक JSON दस्तावेज़ प्राप्त करते हैं जो अंतर्निहित `session` / `messages` / `parts` टेबल को प्रतिबिंबित करता है।

### ऑडिट

आपके एजेंट के बारे में एक व्यक्तित्व-संचालित रिपोर्ट कि वह वास्तव में अतीत के सेशन में कैसा व्यवहार कर रहा है। `failproofai audit` CLI के समान स्कैन चलाता है लेकिन इसे एक एकल-स्क्रीन शेयरेबल पोस्टर + चार नीचे-द-फोल्ड सेक्शन के रूप में प्रस्तुत करता है:

1. **पोस्टर** — पहले व्यूपोर्ट को भरता है। failproof\_ai शब्दचिह्न + ऑडिट लेबल के साथ स्व-निहित PNG-कैप्चर क्षेत्र · आर्कटाइप इंडेक्स (`№ 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` दुर्लभता पंक्ति · 8×8 पिक्सेल sigil टाइल · `audit yours → failproof.ai` फुटर। तीन शेयर बटन कैप्चर बॉक्स के बाहर बैठते हैं: `post your archetype` (X intent), `share on linkedin`, `download poster`। कैप्चर `html-to-image` के माध्यम से चलता है इसलिए PNG ऑन-स्क्रीन रेंडर पिक्सल-के-लिए-पिक्सल से मेल खाता है (डैश की गई सीमाएं, SVG लोगो मास्क, ग्रेडिएंट, फॉन्ट मेट्रिक्स — सभी संरक्षित)।
2. **शक्तियां** — शांत ✓ पंक्ति सूची आपके एजेंट के व्यवहार जो पहले से ही सही हैं, लाइव ऑडिट डेटा से व्युत्पन्न (स्वच्छ टूल-कॉल दर, मुख्य के लिए कोई सीधे पुश नहीं, शून्य क्रेडेंशियल लीक, शून्य रिट्राई तूफान) — प्रत्येक केवल तब सामने आया जब प्रासंगिक नीति में ऑडिट विंडो में स्वच्छ रिकॉर्ड होता है।
3. **Quirks** — सारणी कि क्या फिसल गया, गंभीरता के आधार पर रैंक किया गया: `when · what slipped + the policy that would've caught it · severity pill · seen`, जहां पुनरावृत्ति `new` (एक बार), `N× seen` (2–9 बार), या `recurring` (10+) को पढ़ता है।
4. **कैसे सुधारें** — शांत पंक्ति सूची, निर्धारित प्रत्येक नीति के लिए एक: नीति का नाम सफेद में, एक-पंक्ति विवरण, दाईं ओर स्थापन आदेश + कॉपी बटन। सेक्शन हेडर `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) लेता है, उन्हें `/api/audit/invite` को POST करता है, जो api-server के `POST /v0/invite` को अग्रेषित करता है। api-server `invite@failproof.ai` से प्रत्येक प्राप्तकर्ता को एक ईमेल भेजता है जिसमें प्रेषक Cc'd होता है और `Reply-To` सेट होता है, इसलिए प्राप्तकर्ता देखता है कि किसने उन्हें आमंत्रित किया और प्रेषक को उनके इनबॉक्स में एक प्रति मिलता है। गुमनाम उपयोगकर्ता `AuthDialog` के माध्यम से मार्ग किए जाते हैं ताकि आमंत्रण बाहर जाने से पहले प्रेषक की ईमेल ज्ञात हो। Entitlement / perks की पूर्ति एक अनुवर्ती है।

`failproofai audit` रनटाइम द्वारा संचालित — अंतर्निहित स्कैन इंजन, समर्थित फ़्लैग, और प्रति-ट्रांसक्रिप्ट कैश अपरिवर्तनीयों के लिए [Audit CLI](/hi/cli/audit) देखें। डैशबोर्ड सबसे हाल के परिणाम को `~/.failproofai/audit-dashboard.json` पर कैश करता है (मोड `0600`, एकल स्लॉट, नए रन अधिलेखित करते हैं) ताकि पुनरावृत्तियां तत्काल हों; **पढ़ने पर एक बार 7 दिनों से पुराने होने के बाद प्रति-ट्रांसक्रिप्ट और पूरे-परिणाम दोनों कैश अस्वीकृत हैं** इसलिए डैशबोर्ड कभी भी एक सप्ताह-पुराने परिणाम को चुपचाप सेवा नहीं देता — TTL के पास `/audit` अपनी खाली स्थिति में गिरता है और एक ताज़ा रन का संकेत देता है। रिपोर्ट के नीचे `[ re-audit now ]` पर क्लिक करने से `/api/audit/run` को `noCache: true` के साथ POST करता है — पुनः-ऑडिट प्रति-ट्रांसक्रिप्ट कैश को बायपास करता है और हर ट्रांसक्रिप्ट को शुरुआत से फिर से स्कैन करता है बजाय कैश किए गए परिणाम को चुपचाप लौटाने के — और डैशबोर्ड 1Hz पर `/api/audit/status` को पोल करता है जब तक रन खत्म नहीं हो जाता; रन के दौरान एक स्टिकी गुलाबी प्रगति पट्टी व्यूपोर्ट के शीर्ष पर पिन करता है एक बीता हुआ टाइमर के साथ, और ताज़ा परिणाम सफलता पर जगह में स्वैप करता है (कोई पूर्ण-पृष्ठ पुनः लोड नहीं; एक विफल पुनः-ऑडिट पूर्व रिपोर्ट को बरकरार रखता है)। विफलता पर पट्टी `RerunError.kind` को बंद करके कॉपी के साथ लाल हो जाता है (`timeout` / `network` / `post_failed`)। खाली स्थिति (कोई कैश नहीं या समाप्त) और शून्य-सेशन स्थिति (कैश मौजूद है लेकिन स्कैन ने कोई ट्रांसक्रिप्ट नहीं पाया) अलग-अलग सामने आते हैं।

### नीतियां

नीतियों का प्रबंधन करने और गतिविधि की समीक्षा करने के लिए एक दो-टैब पृष्ठ।

<Tabs>
  <Tab title="Policies tab">
    * एक एकल पैनल से failproofai कौन से एजेंट CLI की रक्षा करता है इसे बहु-चयन करें — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi, और Hermes सभी में स्थापन स्थिति (`Active` / `Detected` / `Inactive`) के साथ एक पंक्ति है, उपयोगकर्ता-दायरा सेटिंग्स पथ, और एक ब्रांड-रंगीन उच्चारण। आप जो CLI चाहते हैं उन्हें चेक या अनचेक करें और `Apply changes` पर क्लिक करके एक चरण में इंस्टॉल/अनइंस्टॉल करें। CLI जिनका बाइनरी PATH पर पाया जाता है वह पूर्व-चेक किए जाते हैं।
    * एक एकल क्लिक के साथ अलग-अलग नीतियों को चालू या बंद करें (`~/.failproofai/policies-config.json` में लिखता है — हर स्थापित CLI में साझा)
    * एक नीति को इसके पैरामीटर को कॉन्फ़िगर करने के लिए विस्तारित करें (नीतियों के लिए जो `policyParams` को समर्थन करती हैं)
    * एक कस्टम नीतियां फ़ाइल पथ सेट करें
  </Tab>

  <Tab title="Activity tab">
    * सभी सेशन में फायर की गई हर हुक घटना का पूर्ण पृष्ठाकृत इतिहास
    * निर्णय, घटना प्रकार, CLI (Claude Code / OpenAI Codex / GitHub Copilot *(beta)* / Cursor Agent *(beta)* / OpenCode *(beta)* / Pi *(beta)* / Hermes / OpenClaw / Factory Droid / Devin / Antigravity / Goose), नीति नाम, या सेशन ID द्वारा फ़िल्टर करें
    * प्रत्येक पंक्ति दिखाता है: टाइमस्टैम्प, नीति नाम, निर्णय, CLI बैज (नारंगी = Claude Code, बैंगनी = OpenAI Codex, नीला = GitHub Copilot, पन्ना हरा = Cursor Agent, एम्बर = OpenCode, गुलाबी = Pi, गहरा नीला = Hermes, टील = OpenClaw, गुलाब = Factory Droid, बैंगनी = Devin, सियान = Antigravity, नींबू = Goose), टूल नाम, सेशन ID, और अनुमति/निर्देश निर्णय के कारण
    * एक सेशन ID पर क्लिक करके इसके ट्रांसक्रिप्ट को खोलें — व्यूअर स्वचालित रूप से पहचानता है कि कौन सा CLI हुक फायर किया (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`, Hermes `~/.hermes/state.db`, OpenClaw `~/.openclaw/agents/<id>/sessions/*.jsonl`, Factory Droid `~/.factory/sessions/<encoded-cwd>/<id>.jsonl`, Devin `~/.local/share/devin/cli/sessions.db`, Antigravity `~/.gemini/antigravity-cli/brain/<id>/…/transcript_full.jsonl`, Goose `~/.local/share/goose/sessions/sessions.db`) और हेडर में मेलिंग CLI बैज को प्रस्तुत करता है
  </Tab>
</Tabs>

***

## स्वचालित ताज़ा करना

डैशबोर्ड में शीर्ष नेविगेशन में एक स्वचालित-ताज़ा टॉगल है। जब सक्षम किया जाता है, तो वर्तमान पृष्ठ नए सेशन और नीति गतिविधि दिखाने के लिए आवधिक रूप से ताज़ा करता है क्योंकि वे दिखाई देते हैं। लंबे समय तक चलने वाले स्वायत्त एजेंट सेशन की निगरानी के लिए आवश्यक।

***

## पृष्ठों को अक्षम करना

यदि आपको डैशबोर्ड के केवल कुछ हिस्से की आवश्यकता है, तो `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
```

***

## एक गैर-localhost होस्ट से एक्सेस करना

जब डैशबोर्ड को **dev mode** में (`npm run dev`) चलाते हैं और इसे `localhost` के अलावा किसी अन्य होस्टनाम से एक्सेस करते हैं - उदाहरण के लिए, एक कस्टम डोमेन, एक दूरस्थ IP, या एक टनेल की गई URL — आप इस तरह की चेतावनी देख सकते हैं:

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

यह Next.js अपने HMR (hot module reload) वेबसॉकेट के लिए क्रॉस-ऑरिजिन एक्सेस को ब्लॉक करना है, जो एक dev-only सुविधा है। अपने होस्ट को अनुमति देने के लिए, `--allowed-origins` फ़्लैग का उपयोग करें:

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

कई होस्ट या IP के लिए, एक अल्पविराम-अलग सूची पास करें:

```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 वेबसॉकेट नहीं होता है और कोई क्रॉस-ऑरिजिन dev संसाधन समस्या नहीं होती है।
</Note>
