From 34de835511f903de9cc275b475fd440ee9229877 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 16 Jul 2026 09:19:50 +0000 Subject: [PATCH] docs: update translations for changed English sources --- docs/i18n/README.ar.md | 221 +++++++++++++++++++++++-------------- docs/i18n/README.de.md | 219 +++++++++++++++++++++++-------------- docs/i18n/README.es.md | 183 ++++++++++++++++++++----------- docs/i18n/README.fr.md | 196 +++++++++++++++++++++------------ docs/i18n/README.he.md | 224 +++++++++++++++++++++++--------------- docs/i18n/README.hi.md | 206 ++++++++++++++++++++++------------- docs/i18n/README.it.md | 223 +++++++++++++++++++++++-------------- docs/i18n/README.ja.md | 195 +++++++++++++++++++++------------ docs/i18n/README.ko.md | 201 +++++++++++++++++++++------------- docs/i18n/README.pt-br.md | 199 +++++++++++++++++++++------------ docs/i18n/README.ru.md | 200 ++++++++++++++++++++++------------ docs/i18n/README.tr.md | 217 ++++++++++++++++++++++-------------- docs/i18n/README.vi.md | 203 +++++++++++++++++++++------------- docs/i18n/README.zh.md | 196 +++++++++++++++++++++------------ 14 files changed, 1827 insertions(+), 1056 deletions(-) diff --git a/docs/i18n/README.ar.md b/docs/i18n/README.ar.md index 61f83367e..c159d96f9 100644 --- a/docs/i18n/README.ar.md +++ b/docs/i18n/README.ar.md @@ -19,9 +19,9 @@ **الترجمات:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) -**حل فشل وقت التشغيل لعوامل الترميز.** -ينجذب إلى Claude Code و Codex. يقبض على الحلقات والإجراءات الخطيرة وتسرب الأسرار -قبل أن تصبح حوادث. لا توجد زمن انتظار. يعمل محليًا. +**حل فوري لأخطاء وقت التشغيل للعملاء الذين يكتبون الأكواد.** +يتكامل مع Claude Code و Codex. يوقف الحلقات اللانهائية والإجراءات الخطرة وتسريب الأسرار +قبل أن تصبح حوادث. بدون تأخير. يعمل محليًا. @@ -31,60 +31,115 @@ --- -## واجهات سطر الأوامر المدعومة للعوامل - -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> تثبيت الخطافات لواحدة أو أي مزيج: `failproofai policies --install --cli opencode pi` (أو `--cli claude codex copilot cursor opencode pi hermes`). احذف `--cli` للكشف التلقائي عن واجهات سطر الأوامر المثبتة والمطالبة. +## واجهات سطر الأوامر للعملاء المدعومة + + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> ثبّت الخطافات لأحد العملاء أو مجموعة منهم: `failproofai policies --install --cli opencode pi` (أو `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`). حذف `--cli` للكشف التلقائي عن واجهات سطر الأوامر المثبتة والطلب منك الاختيار. +> +> يتم دعم **Hermes** (hermes-agent، بوابة Slack/Telegram) لكل من **فرض الخطاف المباشر** (`--cli hermes` — يتم اعتراض استدعاءات الأدوات من كل منصة والعملاء الفرعيين) و**تدقيق** لا يتصل بالإنترنت لجلسات البوابة من `~/.hermes/state.db`. +> +> يتم دعم **OpenClaw** (بوابة openclaw، مساعد متعدد القنوات مستضاف ذاتيًا) لكل من **فرض الخطاف المباشر** (`--cli openclaw`، نطاق المستخدم) و**تدقيق** لا يتصل بالإنترنت لجلسات JSONL (`~/.openclaw/agents//sessions/*.jsonl`). يستخدم الفرض خطافات **المكون الإضافي داخل العملية** الخاصة بـ OpenClaw (مكون إضافي مرسل `openclaw-plugin/` ينفذ failproofai بشكل غير متزامن — خطافاته الداخلية القائمة على الملفات هي للمراقبة فقط ولا يمكنها الحظر): `before_tool_call` يحظر أداة، و `before_agent_finalize` هو بوابة نهاية دور حقيقية، لذا تفرض العناصر المدمجة `require-*-before-stop`. +> +> يتم دعم **Factory Droid** (`droid`) لكل من **فرض الخطاف المباشر** (`--cli factory`، نطاق المستخدم والمشروع) و**تدقيق** لا يتصل بالإنترنت لجلسات JSONL المخزنة على القرص. يحظر droid استدعاءات الأدوات من **رمز الخروج 2** (وليس قرار JSON) ويحترم `{decision:"block"}` فقط في حدث النهاية `Stop` — يصدر failproofai الشكل الصحيح لكل حدث تلقائيًا. +> +> يتم دعم **Devin CLI** (`devin`، Cognition) لكل من **فرض الخطاف المباشر** (`--cli devin`، نطاق المستخدم والمشروع) و**تدقيق** لا يتصل بالإنترنت لجلسات SQLite (`~/.local/share/devin/cli/sessions.db`). Devin هو **استنساخ Claude نقي** — نفس أسماء الأحداث، نفس حمولة snake_case، نفس إعداد `hooks` (`~/.config/devin/config.json` / `/.devin/config.json`) — الحظر عبر JSON `{decision:"block"}` في كل حدث. +> +> يتم دعم **Antigravity CLI** (`agy`) لكل من **فرض الخطاف المباشر** (`--cli antigravity`، نطاق المستخدم والمشروع) و**تدقيق** لا يتصل بالإنترنت لجلسات JSONL العادية (`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`). Antigravity لديها **عقد خاص بها** (وليس استنساخ Claude): مخطط `hooks.json` بـ **خطاف مسمى** (`~/.gemini/config/hooks.json` / `/.agents/hooks.json`)، حمولة stdin بـ camelCase التي يقوم failproofai بتطبيعها، وأشكال استجابة خاصة بها — `{decision:"deny"}` لحظر أداة، `{decision:"continue"}` لفرض دور آخر في `Stop`، `{injectSteps}` لحقن تذكير قبل تشغيل النموذج. > -> **Hermes** (hermes-agent، بوابة Slack/Telegram) مدعومة لكل من **فرض الخطاف الحي** (`--cli hermes` — التثبيت الواحد يعترض استدعاءات الأدوات من كل منصة ووكيل فرعي) والتدقيق غير المتصل **إعادة تشغيل** لجلسات البوابة من قاعدة البيانات الواحدة `~/.hermes/state.db`. +> يتم دعم **Goose** (كنية goose، Block) لكل من **فرض الخطاف المباشر** (`--cli goose`، نطاق المستخدم والمشروع) و**تدقيق** لا يتصل بالإنترنت لجلسات SQLite (`~/.local/share/goose/sessions/sessions.db`). يستخدم الفرض نظام **الخطافات** الخاص بـ Goose (مواصفة **Open Plugins** متعددة الوكلاء) — يقوم المثبّت بإسقاط دليل مكون إضافي في `~/.agents/plugins/failproofai/` ويكتشفه Goose تلقائيًا. الحظر هو JSON `{"decision":"block"}` في حدث `PreToolUse` (الذي يتم تشغيله لأداة shell والعملاء الفرعيين المفوضة)، تم التحقق منه مباشرة مقابل goose v1.43.0؛ Goose ليس لديه حدث نهاية `Stop`، لذا فإن العناصر المدمجة `require-*-before-stop` لا تنطبق (كما هو الحال مع Hermes). --- @@ -92,23 +147,23 @@ ```sh npm install -g failproofai -failproofai policies --install # أو فقط قم بتشغيل `failproofai` وقبل السؤال الأول +failproofai policies --install # أو فقط شغّل `failproofai` واقبل موجه التشغيل الأول failproofai ``` -30 سياسة مدمجة تُفعّل فوراً. لوحة التحكم على `localhost:8020`. تعطيل السؤال الأول باستخدام `FAILPROOFAI_NO_FIRST_RUN=1`. +30 سياسة مدمجة تُفعّل فورًا. لوحة التحكم على `localhost:8020`. عطّل موجه التشغيل الأول مع `FAILPROOFAI_NO_FIRST_RUN=1`. --- -## ما الذي يوقفه +## ما يوقفه -| السياسة | ما يحجبه | +| السياسة | ما يحظره | |---|---| | `block-push-master` | الدفع المباشر إلى `main` / `master` | | `block-force-push` | `git push --force` | -| `block-work-on-main` | الالتزامات والدمج وإعادة القاعدة على `main` / `master` | +| `block-work-on-main` | الالتزامات والدمج والإعادة على `main` / `master` | | `block-rm-rf` | حذف الملفات بشكل متكرر | -| `sanitize-api-keys` | مفاتيح واجهة البرمجة تتسرب إلى سياق الوكيل | +| `sanitize-api-keys` | تسريب مفاتيح API إلى سياق الوكيل | → [جميع السياسات المدمجة الـ 30](https://docs.befailproof.ai/built-in-policies) @@ -116,8 +171,8 @@ failproofai ## سياساتك الخاصة -ضع ملف في `.failproofai/policies/` — يتم تحميله تلقائياً، لا توجد علامات مطلوبة. -قم بالالتزام به وسيحصل الفريق بأكمله عليه في الطلب التالي. +ألقِ ملفًا في `.failproofai/policies/` — يتم تحميله تلقائيًا، لا توجد أعلام مطلوبة. +قم بإرساله والفريق بأكمله سيحصل عليه في السحب التالي. ```js import { customPolicies, deny, allow } from "failproofai"; @@ -133,13 +188,13 @@ customPolicies.add({ }); ``` -ثلاث قرارات متاحة لكل سياسة: +ثلاثة قرارات متاحة لكل سياسة: | القرار | التأثير | |---|---| -| `allow()` | السماح بالعملية | -| `deny(message)` | حجبها — تعود الرسالة إلى الوكيل | -| `instruct(message)` | اسمح بها، لكن أضف سياق إلى موجه الوكيل التالي | +| `allow()` | اسمح بالعملية | +| `deny(message)` | حظرها — تُرسل الرسالة مرة أخرى إلى الوكيل | +| `instruct(message)` | اسمح بها، لكن أضف سياقًا إلى الموجه التالي للوكيل | → [دليل السياسات المخصصة](https://docs.befailproof.ai/custom-policies) @@ -147,44 +202,44 @@ customPolicies.add({ ## رؤية الجلسة -يتم تسجيل كل استدعاء أداة يقوم به الوكيل محليًا. لوحة التحكم توضح ما تم تشغيله، -وما تم حجبه، وما قالته السياسة للوكيل — لذلك لا تخمن -عندما يحدث خطأ ما. → [دليل لوحة التحكم](https://docs.befailproof.ai/dashboard) +يتم تسجيل كل استدعاء أداة يقوم به وكيلك محليًا. تظهر لوحة التحكم ما الذي تم تشغيله، +ما تم حظره، وما قالته السياسة للوكيل — لذلك لن تتخمن +عند حدوث خطأ ما. → [دليل لوحة التحكم](https://docs.befailproof.ai/dashboard) --- -## الوثائق +## التوثيق | | | |---|---| | [البدء السريع](https://docs.befailproof.ai/getting-started) | التثبيت والخطوات الأولى | | [السياسات المدمجة](https://docs.befailproof.ai/built-in-policies) | جميع السياسات الـ 30 مع المعاملات | -| [السياسات المخصصة](https://docs.befailproof.ai/custom-policies) | اكتب الخاصة بك | +| [السياسات المخصصة](https://docs.befailproof.ai/custom-policies) | اكتب سياساتك الخاصة | | [التكوين](https://docs.befailproof.ai/configuration) | نطاقات التكوين وقواعد الدمج | -| [لوحة التحكم](https://docs.befailproof.ai/dashboard) | مراقب الجلسة ونشاط السياسة | -| [العمارة](https://docs.befailproof.ai/architecture) | كيفية عمل نظام الخطاف | +| [لوحة التحكم](https://docs.befailproof.ai/dashboard) | مراقب الجلسة وأنشطة السياسة | +| [الهندسة المعمارية](https://docs.befailproof.ai/architecture) | كيفية عمل نظام الخطاف | --- ## الترخيص -MIT مع [Commons Clause](https://commonsclause.com/) — مجاني للاستخدام الداخلي والشخصي؛ إعادة البيع التجاري لـ failproofai نفسه يتطلب اتفاقية منفصلة. انظر [LICENSE](./LICENSE) للنص الكامل. +MIT مع [Commons Clause](https://commonsclause.com/) — مجاني للاستخدام الداخلي والشخصي؛ إعادة بيع failproofai نفسه بشكل تجاري تتطلب اتفاقية منفصلة. اطّلع على [LICENSE](./LICENSE) للحصول على النص الكامل. --- ## المساهمة -انظر [CONTRIBUTING.md](./CONTRIBUTING.md). السياسات الجديدة وحالات الحافة والترجمات كلها مرحب بها. +اطّلع على [CONTRIBUTING.md](./CONTRIBUTING.md). السياسات الجديدة والحالات الخاصة والترجمات كلها مرحب بها. -> **بناء قبل البدء.** قم بتشغيل `bun install && bun run build` أولاً. هذا المستودع يشغل -> خطافات failproofai الخاصة به على نفسه، ويحلون استيراد `failproofai` مقابل -> حزمة `dist/` المترجمة — بدون بناء ستواجه `Cannot find package 'failproofai'` -> أخطاء الخطاف. أعد البناء بعد تغيير `src/`. انظر -> [البناء قبل أن تعمل الخطافات المتضمنة في المستودع](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). +> **أنشئ قبل أن تبدأ.** شغّل `bun install && bun run build` أولاً. يقوم هذا المستودع +> بتشغيل خطافات failproofai الخاصة به على نفسه، وهي تحل استيراد `failproofai` مقابل +> حزمة `dist/` المترجمة — بدون build ستصطدم برسائل خطأ خطاف `Cannot find package 'failproofai'`. +> أعد البناء بعد تغيير `src/`. اطّلع على +> [بناء قبل أن تعمل خطافات dev داخل المستودع](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). --- -تم البناء بواسطة [Nivedit Jain](https://github.com/NiveditJain) و[Nikita Agarwal](https://github.com/nk-ag). +بُني بواسطة [Nivedit Jain](https://github.com/NiveditJain) و [Nikita Agarwal](https://github.com/nk-ag). [befailproof.ai](https://befailproof.ai) diff --git a/docs/i18n/README.de.md b/docs/i18n/README.de.md index d4540a7cc..f647e8799 100644 --- a/docs/i18n/README.de.md +++ b/docs/i18n/README.de.md @@ -17,9 +17,9 @@ **Übersetzungen:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) -**Laufzeit-Fehlerbehebung für Coding-Agents.** -Klinkt sich in Claude Code und Codex ein. Erkennt Endlosschleifen, gefährliche Aktionen und Secret-Leaks, -bevor sie zu Vorfällen werden. Keine Latenz. Läuft lokal. +**Laufzeit-Fehlerbehebung für Coding-Agenten.** +Klinkt sich in Claude Code und Codex ein. Erkennt Schleifen, gefährliche Aktionen und Secret-Leaks, +bevor sie zu Vorfällen werden. Nulllatenz. Läuft lokal. @@ -29,60 +29,115 @@ bevor sie zu Vorfällen werden. Keine Latenz. Läuft lokal. --- -## Unterstützte Agent-CLIs - -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> Hooks für eine oder eine beliebige Kombination installieren: `failproofai policies --install --cli opencode pi` (oder `--cli claude codex copilot cursor opencode pi hermes`). `--cli` weglassen, um installierte CLIs automatisch zu erkennen und zur Auswahl aufzufordern. +## Unterstützte Agenten-CLIs + + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> Hooks für eine oder mehrere Kombinationen installieren: `failproofai policies --install --cli opencode pi` (oder `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`). `--cli` weglassen, um installierte CLIs automatisch zu erkennen und eine Auswahl anzuzeigen. +> +> **Hermes** (hermes-agent, ein Slack/Telegram-Gateway) wird sowohl für **Live-Hook-Durchsetzung** (`--cli hermes` — eine Installation fängt Tool-Aufrufe von jeder Plattform und jedem Subagenten ab) als auch für die Offline-**Audit**-Wiedergabe seiner Gateway-Sitzungen aus der einzelnen `~/.hermes/state.db` unterstützt. +> +> **OpenClaw** (openclaw gateway, ein selbst gehosteter Multi-Channel-Assistent) wird sowohl für **Live-Hook-Durchsetzung** (`--cli openclaw`, User-Scope) als auch für die Offline-**Audit**-Wiedergabe seiner JSONL-Sitzungen (`~/.openclaw/agents//sessions/*.jsonl`) unterstützt. Die Durchsetzung nutzt OpenClaws **In-Process-Plugin-Hooks** (ein mitgeliefertes `openclaw-plugin/`, das failproofai asynchron startet — seine dateibasierten internen Hooks dienen nur zur Beobachtung und können nicht blockieren): `before_tool_call` blockiert ein Tool, und `before_agent_finalize` ist ein echtes Turn-End-Gate, sodass die eingebauten `require-*-before-stop`-Regeln greifen. +> +> **Factory Droid** (`droid`) wird sowohl für **Live-Hook-Durchsetzung** (`--cli factory`, User- und Project-Scope) als auch für die Offline-**Audit**-Wiedergabe seiner JSONL-Sitzungen auf der Festplatte unterstützt. droid blockiert Tool-Aufrufe über Hook-**Exit-Code 2** (kein JSON-Entscheid) und berücksichtigt `{decision:"block"}` nur beim Turn-End-`Stop`-Event — failproofai gibt automatisch die passende Form je nach Event aus. +> +> **Devin CLI** (`devin`, Cognition) wird sowohl für **Live-Hook-Durchsetzung** (`--cli devin`, User- und Project-Scope) als auch für die Offline-**Audit**-Wiedergabe seiner SQLite-Sitzungen (`~/.local/share/devin/cli/sessions.db`) unterstützt. Devin ist ein **reiner Claude-Klon** — gleiche Event-Namen, gleiche snake_case-Payload, gleiche `"hooks"`-Wrapper-Konfiguration (`~/.config/devin/config.json` / `/.devin/config.json`) — Blockierung via `{decision:"block"}` JSON bei jedem Event. +> +> **Antigravity CLI** (`agy`) wird sowohl für **Live-Hook-Durchsetzung** (`--cli antigravity`, User- und Project-Scope) als auch für die Offline-**Audit**-Wiedergabe seiner Plain-JSONL-Sitzungen (`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`) unterstützt. Antigravity hat seinen **eigenen** Vertrag (kein Claude-Klon): ein **Named-Hook**-`hooks.json`-Schema (`~/.gemini/config/hooks.json` / `/.agents/hooks.json`), eine camelCase-stdin-Payload, die failproofai normalisiert, und eigene Antwortformate — `{decision:"deny"}` zum Blockieren eines Tools, `{decision:"continue"}` um einen weiteren Turn bei `Stop` zu erzwingen, `{injectSteps}` zum Einschleusen einer Erinnerung vor dem Modell-Lauf. > -> **Hermes** (hermes-agent, ein Slack/Telegram-Gateway) wird sowohl für **Live-Hook-Durchsetzung** (`--cli hermes` — eine Installation fängt Tool-Aufrufe von jeder Plattform und jedem Subagenten ab) als auch für das Offline-**Audit**-Replay seiner Gateway-Sitzungen aus der einzelnen `~/.hermes/state.db` unterstützt. +> **Goose** (Codename goose, Block) wird sowohl für **Live-Hook-Durchsetzung** (`--cli goose`, User- und Project-Scope) als auch für die Offline-**Audit**-Wiedergabe seiner SQLite-Sitzungen (`~/.local/share/goose/sessions/sessions.db`) unterstützt. Die Durchsetzung nutzt Gooses **Hooks**-System (die agentenübergreifende **Open-Plugins**-Spezifikation) — das Installationsprogramm legt lediglich ein Plugin-Verzeichnis unter `~/.agents/plugins/failproofai/` an, das Goose automatisch erkennt. Die Blockierung erfolgt via `{"decision":"block"}` JSON beim `PreToolUse`-Event (das für das Shell-Tool und innerhalb delegierter Subagenten ausgelöst wird), live verifiziert gegen goose v1.43.0; Goose hat kein Turn-End-`Stop`-Event, daher gelten die eingebauten `require-*-before-stop`-Regeln nicht (wie bei Hermes). --- @@ -90,32 +145,32 @@ bevor sie zu Vorfällen werden. Keine Latenz. Läuft lokal. ```sh npm install -g failproofai -failproofai policies --install # oder einfach `failproofai` ausführen und den Erststart-Prompt bestätigen +failproofai policies --install # oder einfach `failproofai` ausführen und den Erststart-Dialog bestätigen failproofai ``` -30 integrierte Richtlinien werden sofort aktiviert. Dashboard unter `localhost:8020`. Den Erststart-Prompt mit `FAILPROOFAI_NO_FIRST_RUN=1` deaktivieren. +30 eingebaute Richtlinien werden sofort aktiviert. Dashboard unter `localhost:8020`. Den Erststart-Dialog mit `FAILPROOFAI_NO_FIRST_RUN=1` deaktivieren. --- -## Was blockiert wird +## Was es verhindert -| Richtlinie | Was wird blockiert | +| Richtlinie | Was sie blockiert | |---|---| | `block-push-master` | Direkte Pushes auf `main` / `master` | | `block-force-push` | `git push --force` | | `block-work-on-main` | Commits, Merges, Rebases auf `main` / `master` | | `block-rm-rf` | Rekursives Löschen von Dateien | -| `sanitize-api-keys` | API-Keys, die in den Agent-Kontext gelangen | +| `sanitize-api-keys` | API-Keys, die in den Agenten-Kontext gelangen | -→ [Alle 30 integrierten Richtlinien](https://docs.befailproof.ai/built-in-policies) +→ [Alle 30 eingebauten Richtlinien](https://docs.befailproof.ai/built-in-policies) --- ## Eigene Richtlinien -Eine Datei in `.failproofai/policies/` ablegen — sie wird automatisch geladen, ohne weitere Flags. -Ins Repository committen und das gesamte Team erhält sie beim nächsten Pull. +Eine Datei in `.failproofai/policies/` ablegen — sie wird automatisch geladen, ohne zusätzliche Flags. +Ins Repository committen, und das gesamte Team erhält sie beim nächsten Pull. ```js import { customPolicies, deny, allow } from "failproofai"; @@ -131,23 +186,23 @@ customPolicies.add({ }); ``` -Jede Richtlinie kann eine von drei Entscheidungen treffen: +Drei Entscheidungen stehen jeder Richtlinie zur Verfügung: | Entscheidung | Wirkung | |---|---| -| `allow()` | Operation erlauben | -| `deny(message)` | Blockieren — die Nachricht wird an den Agent zurückgegeben | -| `instruct(message)` | Durchlassen, aber Kontext zum nächsten Prompt des Agents hinzufügen | +| `allow()` | Aktion zulassen | +| `deny(message)` | Blockieren — die Nachricht wird an den Agenten zurückgegeben | +| `instruct(message)` | Durchlassen, aber dem nächsten Prompt des Agenten Kontext hinzufügen | -→ [Anleitung für eigene Richtlinien](https://docs.befailproof.ai/custom-policies) +→ [Leitfaden für benutzerdefinierte Richtlinien](https://docs.befailproof.ai/custom-policies) --- -## Sitzungsübersicht +## Sitzungstransparenz -Jeder Tool-Aufruf des Agents wird lokal protokolliert. Das Dashboard zeigt, was ausgeführt wurde, -was blockiert wurde und was die Richtlinie dem Agent mitgeteilt hat — damit kein Rätseln entsteht, -wenn etwas schiefläuft. → [Dashboard-Anleitung](https://docs.befailproof.ai/dashboard) +Jeder Tool-Aufruf des Agenten wird lokal protokolliert. Das Dashboard zeigt, was ausgeführt wurde, +was blockiert wurde und was die Richtlinie dem Agenten mitgeteilt hat — damit man nicht rätseln muss, +wenn etwas schiefgeht. → [Dashboard-Leitfaden](https://docs.befailproof.ai/dashboard) --- @@ -156,9 +211,9 @@ wenn etwas schiefläuft. → [Dashboard-Anleitung](https://docs.befailproof.ai/d | | | |---|---| | [Erste Schritte](https://docs.befailproof.ai/getting-started) | Installation und Einstieg | -| [Integrierte Richtlinien](https://docs.befailproof.ai/built-in-policies) | Alle 30 Richtlinien mit Parametern | -| [Eigene Richtlinien](https://docs.befailproof.ai/custom-policies) | Eigene Richtlinien schreiben | -| [Konfiguration](https://docs.befailproof.ai/configuration) | Konfigurationsbereiche und Zusammenführungsregeln | +| [Eingebaute Richtlinien](https://docs.befailproof.ai/built-in-policies) | Alle 30 Richtlinien mit Parametern | +| [Benutzerdefinierte Richtlinien](https://docs.befailproof.ai/custom-policies) | Eigene Richtlinien schreiben | +| [Konfiguration](https://docs.befailproof.ai/configuration) | Konfigurations-Scopes und Zusammenführungsregeln | | [Dashboard](https://docs.befailproof.ai/dashboard) | Sitzungsmonitor und Richtlinienaktivität | | [Architektur](https://docs.befailproof.ai/architecture) | Funktionsweise des Hook-Systems | @@ -166,18 +221,18 @@ wenn etwas schiefläuft. → [Dashboard-Anleitung](https://docs.befailproof.ai/d ## Lizenz -MIT mit [Commons Clause](https://commonsclause.com/) — kostenlos für den internen und persönlichen Gebrauch; der kommerzielle Weiterverkauf von failproofai selbst erfordert eine separate Vereinbarung. Den vollständigen Text in [LICENSE](./LICENSE) nachlesen. +MIT mit [Commons Clause](https://commonsclause.com/) — kostenlos für den internen und persönlichen Einsatz; der kommerzielle Weiterverkauf von failproofai selbst erfordert eine gesonderte Vereinbarung. Den vollständigen Text unter [LICENSE](./LICENSE) nachlesen. --- ## Mitwirken -Siehe [CONTRIBUTING.md](./CONTRIBUTING.md). Neue Richtlinien, Randfälle und Übersetzungen sind herzlich willkommen. +Siehe [CONTRIBUTING.md](./CONTRIBUTING.md). Neue Richtlinien, Grenzfälle und Übersetzungen sind jederzeit willkommen. -> **Vor dem Start bauen.** Zuerst `bun install && bun run build` ausführen. Dieses Repository führt -> die eigenen Hooks von failproofai auf sich selbst aus, und sie lösen den `failproofai`-Import gegen das -> kompilierte `dist/`-Bundle auf — ohne einen Build tritt der Hook-Fehler `Cannot find package 'failproofai'` -> auf. Nach Änderungen an `src/` neu bauen. Siehe +> **Vor dem Start bauen.** Zunächst `bun install && bun run build` ausführen. Dieses Repository führt +> failproofais eigene Hooks auf sich selbst aus, und diese lösen den `failproofai`-Import gegenüber dem +> kompilierten `dist/`-Bundle auf — ohne einen Build tritt der Hook-Fehler `Cannot find package 'failproofai'` auf. +> Nach Änderungen in `src/` neu bauen. Siehe > [Build before the in-repo dev hooks will work](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). --- diff --git a/docs/i18n/README.es.md b/docs/i18n/README.es.md index 7ee277d54..dd9c7bc17 100644 --- a/docs/i18n/README.es.md +++ b/docs/i18n/README.es.md @@ -19,7 +19,7 @@ **Resolución de fallos en tiempo de ejecución para agentes de código.** Se integra con Claude Code y Codex. Detecta bucles, acciones peligrosas y filtraciones de secretos -antes de que se conviertan en incidentes. Cero latencia. Se ejecuta localmente. +antes de que se conviertan en incidentes. Latencia cero. Se ejecuta localmente. @@ -31,58 +31,113 @@ antes de que se conviertan en incidentes. Cero latencia. Se ejecuta localmente. ## CLIs de agentes compatibles -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> Instala hooks para uno o cualquier combinación: `failproofai policies --install --cli opencode pi` (o `--cli claude codex copilot cursor opencode pi hermes`). Omite `--cli` para detectar automáticamente los CLIs instalados y recibir una solicitud de confirmación. + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> Instala hooks para uno o cualquier combinación: `failproofai policies --install --cli opencode pi` (o `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`). Omite `--cli` para detectar automáticamente los CLIs instalados y recibir una solicitud. +> +> **Hermes** (hermes-agent, una pasarela de Slack/Telegram) es compatible tanto con la **aplicación de hooks en vivo** (`--cli hermes` — una sola instalación intercepta llamadas a herramientas desde cada plataforma y subagente) como con la reproducción **offline de auditoría** de sus sesiones de pasarela desde el único `~/.hermes/state.db`. +> +> **OpenClaw** (openclaw gateway, un asistente multicanal autoalojado) es compatible tanto con la **aplicación de hooks en vivo** (`--cli openclaw`, ámbito de usuario) como con la reproducción **offline de auditoría** de sus sesiones JSONL (`~/.openclaw/agents//sessions/*.jsonl`). La aplicación usa los **hooks de plugin en proceso** de OpenClaw (un `openclaw-plugin/` incluido que lanza failproofai de forma asíncrona — sus hooks internos basados en archivos son solo de observación y no pueden bloquear): `before_tool_call` bloquea una herramienta, y `before_agent_finalize` es una puerta real de fin de turno, por lo que los integrados `require-*-before-stop` se aplican. +> +> **Factory Droid** (`droid`) es compatible tanto con la **aplicación de hooks en vivo** (`--cli factory`, ámbito de usuario y proyecto) como con la reproducción **offline de auditoría** de sus sesiones JSONL en disco. droid bloquea llamadas a herramientas mediante el **código de salida 2** del hook (no una decisión JSON) y respeta `{decision:"block"}` solo en el evento `Stop` de fin de turno — failproofai emite la forma correcta por evento automáticamente. +> +> **Devin CLI** (`devin`, Cognition) es compatible tanto con la **aplicación de hooks en vivo** (`--cli devin`, ámbito de usuario y proyecto) como con la reproducción **offline de auditoría** de sus sesiones SQLite (`~/.local/share/devin/cli/sessions.db`). Devin es un **clon puro de Claude** — mismos nombres de eventos, mismo payload en snake_case, misma configuración con wrapper `"hooks"` (`~/.config/devin/config.json` / `/.devin/config.json`) — bloqueo mediante JSON `{decision:"block"}` en cada evento. +> +> **Antigravity CLI** (`agy`) es compatible tanto con la **aplicación de hooks en vivo** (`--cli antigravity`, ámbito de usuario y proyecto) como con la reproducción **offline de auditoría** de sus sesiones JSONL planas (`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`). Antigravity tiene su **propio** contrato (no es un clon de Claude): un esquema `hooks.json` con **hooks con nombre** (`~/.gemini/config/hooks.json` / `/.agents/hooks.json`), un payload stdin en camelCase que failproofai normaliza, y sus propias formas de respuesta — `{decision:"deny"}` para bloquear una herramienta, `{decision:"continue"}` para forzar otro turno en `Stop`, `{injectSteps}` para inyectar un recordatorio antes de que se ejecute el modelo. > -> **Hermes** (hermes-agent, una pasarela de Slack/Telegram) es compatible tanto con la **aplicación de hooks en vivo** (`--cli hermes` — una sola instalación intercepta las llamadas a herramientas desde cada plataforma y subagente) como con la **auditoría** offline de sus sesiones de pasarela desde el único `~/.hermes/state.db`. +> **Goose** (nombre en clave goose, Block) es compatible tanto con la **aplicación de hooks en vivo** (`--cli goose`, ámbito de usuario y proyecto) como con la reproducción **offline de auditoría** de sus sesiones SQLite (`~/.local/share/goose/sessions/sessions.db`). La aplicación usa el sistema de **hooks** de Goose (la especificación de **Open Plugins** entre agentes) — el instalador simplemente coloca un directorio de plugin en `~/.agents/plugins/failproofai/` y Goose lo detecta automáticamente. El bloqueo es mediante JSON `{"decision":"block"}` en el evento `PreToolUse` (que se activa para la herramienta shell y dentro de subagentes delegados), verificado en vivo contra goose v1.43.0; Goose no tiene un evento `Stop` de fin de turno, por lo que los integrados `require-*-before-stop` no se aplican (igual que con Hermes). --- @@ -104,7 +159,7 @@ failproofai |---|---| | `block-push-master` | Pushes directos a `main` / `master` | | `block-force-push` | `git push --force` | -| `block-work-on-main` | Commits, merges y rebases en `main` / `master` | +| `block-work-on-main` | Commits, merges, rebases en `main` / `master` | | `block-rm-rf` | Eliminación recursiva de archivos | | `sanitize-api-keys` | Claves de API que se filtran al contexto del agente | @@ -114,8 +169,8 @@ failproofai ## Tus propias políticas -Añade un archivo en `.failproofai/policies/` — se carga automáticamente, sin necesidad de flags. -Haz commit y todo el equipo lo obtendrá en el próximo pull. +Coloca un archivo en `.failproofai/policies/` — se carga automáticamente, sin necesidad de flags. +Confírmalo y todo el equipo lo obtiene en el próximo pull. ```js import { customPolicies, deny, allow } from "failproofai"; @@ -136,14 +191,14 @@ Tres decisiones disponibles para cada política: | Decisión | Efecto | |---|---| | `allow()` | Permite la operación | -| `deny(message)` | La bloquea — el mensaje se envía de vuelta al agente | +| `deny(message)` | La bloquea — el mensaje se devuelve al agente | | `instruct(message)` | La deja pasar, pero añade contexto al siguiente prompt del agente | → [Guía de políticas personalizadas](https://docs.befailproof.ai/custom-policies) --- -## Visibilidad de la sesión +## Visibilidad de sesiones Cada llamada a herramienta que realiza tu agente se registra localmente. El panel de control muestra qué se ejecutó, qué fue bloqueado y qué le indicó la política al agente — para que no tengas que adivinar @@ -156,7 +211,7 @@ cuando algo sale mal. → [Guía del panel de control](https://docs.befailproof. | | | |---|---| | [Primeros pasos](https://docs.befailproof.ai/getting-started) | Instalación y primeros pasos | -| [Políticas integradas](https://docs.befailproof.ai/built-in-policies) | Las 30 políticas con sus parámetros | +| [Políticas integradas](https://docs.befailproof.ai/built-in-policies) | Las 30 políticas con parámetros | | [Políticas personalizadas](https://docs.befailproof.ai/custom-policies) | Escribe las tuyas propias | | [Configuración](https://docs.befailproof.ai/configuration) | Ámbitos de configuración y reglas de combinación | | [Panel de control](https://docs.befailproof.ai/dashboard) | Monitor de sesiones y actividad de políticas | @@ -166,18 +221,18 @@ cuando algo sale mal. → [Guía del panel de control](https://docs.befailproof. ## Licencia -MIT con [Commons Clause](https://commonsclause.com/) — gratuito para uso interno y personal; la reventa comercial de failproofai en sí requiere un acuerdo separado. Consulta [LICENSE](./LICENSE) para el texto completo. +MIT con [Commons Clause](https://commonsclause.com/) — de uso gratuito para uso interno y personal; la reventa comercial de failproofai en sí requiere un acuerdo por separado. Consulta [LICENSE](./LICENSE) para el texto completo. --- -## Contribuciones +## Contribuir -Consulta [CONTRIBUTING.md](./CONTRIBUTING.md). Son bienvenidas nuevas políticas, casos límite y traducciones. +Consulta [CONTRIBUTING.md](./CONTRIBUTING.md). Se aceptan nuevas políticas, casos extremos y traducciones. > **Compila antes de empezar.** Ejecuta primero `bun install && bun run build`. Este repositorio ejecuta -> sus propios hooks de failproofai sobre sí mismo, y resuelven la importación de `failproofai` contra el -> bundle compilado en `dist/` — sin una compilación previa obtendrás errores de hook `Cannot find package 'failproofai'`. -> Recompila después de modificar `src/`. Consulta +> los propios hooks de failproofai sobre sí mismo, y resuelven la importación de `failproofai` contra el +> bundle compilado en `dist/` — sin una compilación obtendrás errores de hook `Cannot find package 'failproofai'`. +> Vuelve a compilar después de modificar `src/`. Consulta > [Build before the in-repo dev hooks will work](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). --- diff --git a/docs/i18n/README.fr.md b/docs/i18n/README.fr.md index f17bd886e..1396260f6 100644 --- a/docs/i18n/README.fr.md +++ b/docs/i18n/README.fr.md @@ -17,7 +17,7 @@ **Traductions :** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) -**Résolution des échecs d'exécution pour les agents de code.** +**Résolution des erreurs d'exécution pour les agents de codage.** S'intègre à Claude Code et Codex. Détecte les boucles, les actions dangereuses et les fuites de secrets avant qu'ils ne deviennent des incidents. Zéro latence. Fonctionne en local. @@ -31,58 +31,113 @@ avant qu'ils ne deviennent des incidents. Zéro latence. Fonctionne en local. ## CLI d'agents pris en charge -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> Installez les hooks pour un ou plusieurs CLI au choix : `failproofai policies --install --cli opencode pi` (ou `--cli claude codex copilot cursor opencode pi hermes`). Omettez `--cli` pour détecter automatiquement les CLI installés et recevoir une invite de sélection. + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> Installez les hooks pour un ou plusieurs agents à la fois : `failproofai policies --install --cli opencode pi` (ou `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`). Omettez `--cli` pour détecter automatiquement les CLI installés et afficher une invite. +> +> **Hermes** (hermes-agent, une passerelle Slack/Telegram) est pris en charge à la fois pour l'**application de hooks en direct** (`--cli hermes` — une seule installation intercepte les appels d'outils de chaque plateforme et sous-agent) et la **relecture d'audit** hors ligne de ses sessions de passerelle depuis l'unique `~/.hermes/state.db`. +> +> **OpenClaw** (openclaw gateway, un assistant multi-canal auto-hébergé) est pris en charge à la fois pour l'**application de hooks en direct** (`--cli openclaw`, portée utilisateur) et la **relecture d'audit** hors ligne de ses sessions JSONL (`~/.openclaw/agents//sessions/*.jsonl`). L'application utilise les **hooks de plugin en cours de processus** d'OpenClaw (un `openclaw-plugin/` livré qui lance failproofai de façon asynchrone — ses hooks internes basés sur des fichiers sont en observation uniquement et ne peuvent pas bloquer) : `before_tool_call` bloque un outil, et `before_agent_finalize` est une véritable porte de fin de tour, de sorte que les builtins `require-*-before-stop` s'appliquent. +> +> **Factory Droid** (`droid`) est pris en charge à la fois pour l'**application de hooks en direct** (`--cli factory`, portées utilisateur et projet) et la **relecture d'audit** hors ligne de ses sessions JSONL sur disque. droid bloque les appels d'outils via le **code de sortie 2** du hook (pas une décision JSON) et n'honore `{decision:"block"}` qu'à l'événement `Stop` de fin de tour — failproofai émet automatiquement la bonne structure selon l'événement. +> +> **Devin CLI** (`devin`, Cognition) est pris en charge à la fois pour l'**application de hooks en direct** (`--cli devin`, portées utilisateur et projet) et la **relecture d'audit** hors ligne de ses sessions SQLite (`~/.local/share/devin/cli/sessions.db`). Devin est un **clone pur de Claude** — mêmes noms d'événements, même payload en snake_case, même configuration avec wrapper `"hooks"` (`~/.config/devin/config.json` / `/.devin/config.json`) — blocage via JSON `{decision:"block"}` sur chaque événement. +> +> **Antigravity CLI** (`agy`) est pris en charge à la fois pour l'**application de hooks en direct** (`--cli antigravity`, portées utilisateur et projet) et la **relecture d'audit** hors ligne de ses sessions JSONL brutes (`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`). Antigravity possède son **propre** contrat (pas un clone de Claude) : un schéma `hooks.json` avec des **hooks nommés** (`~/.gemini/config/hooks.json` / `/.agents/hooks.json`), un payload stdin en camelCase que failproofai normalise, et ses propres formes de réponse — `{decision:"deny"}` pour bloquer un outil, `{decision:"continue"}` pour forcer un nouveau tour à `Stop`, `{injectSteps}` pour injecter un rappel avant l'exécution du modèle. > -> **Hermes** (hermes-agent, une passerelle Slack/Telegram) est pris en charge à la fois pour l'**application des hooks en temps réel** (`--cli hermes` — une seule installation intercepte les appels d'outils de chaque plateforme et sous-agent) et pour la **relecture d'audit** hors ligne de ses sessions de passerelle depuis l'unique `~/.hermes/state.db`. +> **Goose** (nom de code goose, Block) est pris en charge à la fois pour l'**application de hooks en direct** (`--cli goose`, portées utilisateur et projet) et la **relecture d'audit** hors ligne de ses sessions SQLite (`~/.local/share/goose/sessions/sessions.db`). L'application utilise le système de **hooks** de Goose (la spécification **Open Plugins** multi-agents) — l'installateur dépose simplement un répertoire de plugin dans `~/.agents/plugins/failproofai/` et Goose le découvre automatiquement. Le blocage s'effectue via JSON `{"decision":"block"}` sur l'événement `PreToolUse` (qui se déclenche pour l'outil shell et au sein des sous-agents délégués), vérifié en conditions réelles contre goose v1.43.0 ; Goose ne possède pas d'événement `Stop` de fin de tour, donc les builtins `require-*-before-stop` ne s'appliquent pas (comme avec Hermes). --- @@ -90,23 +145,23 @@ avant qu'ils ne deviennent des incidents. Zéro latence. Fonctionne en local. ```sh npm install -g failproofai -failproofai policies --install # or just run `failproofai` and accept the first-run prompt +failproofai policies --install # ou lancez simplement `failproofai` et acceptez l'invite de premier démarrage failproofai ``` -30 politiques intégrées s'activent immédiatement. Tableau de bord disponible sur `localhost:8020`. Désactivez l'invite au premier démarrage avec `FAILPROOFAI_NO_FIRST_RUN=1`. +30 politiques intégrées s'activent immédiatement. Tableau de bord disponible sur `localhost:8020`. Désactivez l'invite de premier démarrage avec `FAILPROOFAI_NO_FIRST_RUN=1`. --- -## Ce qu'il bloque +## Ce que ça bloque -| Politique | Ce qui est bloqué | +| Politique | Ce qu'elle bloque | |---|---| | `block-push-master` | Les pushs directs vers `main` / `master` | | `block-force-push` | `git push --force` | -| `block-work-on-main` | Commits, merges, rebases sur `main` / `master` | -| `block-rm-rf` | Suppression récursive de fichiers | -| `sanitize-api-keys` | Fuites de clés API dans le contexte de l'agent | +| `block-work-on-main` | Les commits, merges et rebases sur `main` / `master` | +| `block-rm-rf` | La suppression récursive de fichiers | +| `sanitize-api-keys` | Les clés API qui fuient dans le contexte de l'agent | → [Les 30 politiques intégrées](https://docs.befailproof.ai/built-in-policies) @@ -114,8 +169,8 @@ failproofai ## Vos propres politiques -Déposez un fichier dans `.failproofai/policies/` — il se charge automatiquement, sans aucun indicateur. -Commitez-le et toute l'équipe en bénéficiera au prochain pull. +Déposez un fichier dans `.failproofai/policies/` — il se charge automatiquement, sans aucun flag. +Commitez-le et toute l'équipe en bénéficie au prochain pull. ```js import { customPolicies, deny, allow } from "failproofai"; @@ -135,9 +190,9 @@ Trois décisions disponibles pour chaque politique : | Décision | Effet | |---|---| -| `allow()` | Autoriser l'opération | -| `deny(message)` | La bloquer — le message est renvoyé à l'agent | -| `instruct(message)` | La laisser passer, mais ajouter du contexte à la prochaine invite de l'agent | +| `allow()` | Autorise l'opération | +| `deny(message)` | La bloque — le message est renvoyé à l'agent | +| `instruct(message)` | La laisse passer, mais ajoute du contexte à la prochaine invite de l'agent | → [Guide des politiques personnalisées](https://docs.befailproof.ai/custom-policies) @@ -145,9 +200,7 @@ Trois décisions disponibles pour chaque politique : ## Visibilité des sessions -Chaque appel d'outil effectué par votre agent est journalisé localement. Le tableau de bord affiche ce qui s'est exécuté, -ce qui a été bloqué, et ce que la politique a transmis à l'agent — afin que vous ne soyez pas dans le flou -en cas de problème. → [Guide du tableau de bord](https://docs.befailproof.ai/dashboard) +Chaque appel d'outil effectué par votre agent est enregistré en local. Le tableau de bord affiche ce qui a été exécuté, ce qui a été bloqué et ce que la politique a transmis à l'agent — plus besoin de deviner quand quelque chose tourne mal. → [Guide du tableau de bord](https://docs.befailproof.ai/dashboard) --- @@ -166,16 +219,15 @@ en cas de problème. → [Guide du tableau de bord](https://docs.befailproof.ai/ ## Licence -MIT avec [Commons Clause](https://commonsclause.com/) — libre pour un usage interne et personnel ; la revente commerciale de failproofai lui-même nécessite un accord séparé. Voir [LICENSE](./LICENSE) pour le texte complet. +MIT avec [Commons Clause](https://commonsclause.com/) — libre pour un usage interne et personnel ; la revente commerciale de failproofai lui-même nécessite un accord séparé. Consultez [LICENSE](./LICENSE) pour le texte complet. --- -## Contribution +## Contribuer -Voir [CONTRIBUTING.md](./CONTRIBUTING.md). Nouvelles politiques, cas limites et traductions sont les bienvenus. +Consultez [CONTRIBUTING.md](./CONTRIBUTING.md). Nouvelles politiques, cas limites et traductions sont les bienvenus. -> **Compilez avant de commencer.** Exécutez d'abord `bun install && bun run build`. Ce dépôt utilise ses propres hooks failproofai sur lui-même, et ils résolvent l'import `failproofai` depuis le bundle `dist/` compilé — sans compilation, vous obtiendrez des erreurs de hook `Cannot find package 'failproofai'`. Recompilez après avoir modifié `src/`. Voir -> [Build before the in-repo dev hooks will work](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). +> **Compilez avant de commencer.** Exécutez d'abord `bun install && bun run build`. Ce dépôt fait tourner ses propres hooks failproofai sur lui-même, et ils résolvent l'import `failproofai` depuis le bundle `dist/` compilé — sans compilation, vous obtiendrez des erreurs de hook `Cannot find package 'failproofai'`. Recompilez après toute modification de `src/`. Voir [Build before the in-repo dev hooks will work](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). --- diff --git a/docs/i18n/README.he.md b/docs/i18n/README.he.md index 365cf06c7..80d2838ff 100644 --- a/docs/i18n/README.he.md +++ b/docs/i18n/README.he.md @@ -19,72 +19,127 @@ **תרגומים:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) -**פתרון כשלים בזמן ריצה לסוכני קידוד.** -משתלבים ב-Claude Code וב-Codex. תופסים לולאות, פעולות מסוכנות ודיווחי סודות -לפני שהם הופכים לתקריות. אפס זיכרון זמני. פועל בעמודה השדורה. +**פתרון כשלים בזמן ריצה לסוכני קוד.** +משתלב עם Claude Code ו-Codex. תופס לולאות, פעולות מסוכנות ודליפות סודות +לפני שהם הופכים לתקריות. זמן תגובה אפס. פועל בעמדה המקומית.

- Failproof AI בפעולה + Failproof AI in action

--- -## CLIs של סוכנים נתמכים - -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> התקן hooks לאחד או לכל שילוב: `failproofai policies --install --cli opencode pi` (או `--cli claude codex copilot cursor opencode pi hermes`). השמט `--cli` לגילוי אוטומטי של CLIs מותקנים ולהנחיה. +## ממשקי CLI של סוכנים נתמכים + + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> התקן ווים לאחד או לכל שילוב: `failproofai policies --install --cli opencode pi` (או `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`). השמט `--cli` לאתראט אוטומטי של CLI-ים מותקנים ובהנחיה. +> +> **Hermes** (hermes-agent, שער Slack/Telegram) נתמך גם ל**אכיפת ווי חי** (`--cli hermes` — התקנה אחת מיירטת קריאות כלים מכל פלטפורמה ותת-סוכן) וגם ל**ביקורת** בלתי מקוונת של הפעלות שער מ-`~/.hermes/state.db` היחיד. +> +> **OpenClaw** (שער openclaw, עוזר רב-ערוץ בארח עצמי) נתמך גם ל**אכיפת ווי חי** (`--cli openclaw`, היקף משתמש) וגם ל**ביקורת** בלתי מקוונת של הפעלות JSONL שלו (`~/.openclaw/agents//sessions/*.jsonl`). האכיפה משתמשת ב**ווי פלאגין בתהליך** של OpenClaw (openclaw-plugin/ משלוח שמופעל באופן אסינכרוני-failproofai — הווי הפנימיים שלו מבוססי קבצים הם תצפית בלבד ואינם יכולים לחסום): `before_tool_call` חוסם כלי, ו`before_agent_finalize` הוא שער קצה תור אמיתי, כך ש`require-*-before-stop` בנויים כוללים אכיפה. +> +> **Factory Droid** (`droid`) נתמך גם ל**אכיפת ווי חי** (`--cli factory`, היקף משתמש + פרויקט) וגם ל**ביקורת** בלתי מקוונת של הפעלות JSONL שלו בדיסק. droid חוסם קריאות כלים בווי **קוד יציאה 2** (לא החלטה JSON) וכבד `{decision:"block"}` רק באירוע `Stop` בקצה התור — failproofai פולט את הצורה הנכונה לכל אירוע באופן אוטומטי. +> +> **Devin CLI** (`devin`, Cognition) נתמך גם ל**אכיפת ווי חי** (`--cli devin`, היקף משתמש + פרויקט) וגם ל**ביקורת** בלתי מקוונת של הפעלות SQLite שלו (`~/.local/share/devin/cli/sessions.db`). Devin הוא **שיבוט טהור של Claude** — אותם שמות אירועים, אותו payload snake_case, אותו תצורה `hooks`-wrapper (`~/.config/devin/config.json` / `/.devin/config.json`) — חסימה דרך `{decision:"block"}` JSON בכל אירוע. +> +> **Antigravity CLI** (`agy`) נתמך גם ל**אכיפת ווי חי** (`--cli antigravity`, היקף משתמש + פרויקט) וגם ל**ביקורת** בלתי מקוונת של הפעלות JSONL רגילות שלו (`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`). Antigravity יש **שלו** חוזה (לא שיבוט Claude): סכימת `hooks.json` **בעלת שם** (`~/.gemini/config/hooks.json` / `/.agents/hooks.json`), payload stdin camelCase ש-failproofai מתקן, וצורות תגובה משלו — `{decision:"deny"}` לחסום כלי, `{decision:"continue"}` לכפות תור אחר ב-`Stop`, `{injectSteps}` להכניס תזכורת לפני שהמודל פועל. > -> **Hermes** (hermes-agent, שער Slack/Telegram) נתמך גם ל**אכיפת hook חי** (`--cli hermes` — התקנה אחת מיירטת קריאות כלים מכל פלטפורמה וסוכן משנה) וגם **ביקורת** במצב לא מקוון של הפעלות השער שלו מ`~/.hermes/state.db` הבודד. +> **Goose** (שם קוד goose, Block) נתמך גם ל**אכיפת ווי חי** (`--cli goose`, היקף משתמש + פרויקט) וגם ל**ביקורת** בלתי מקוונת של הפעלות SQLite שלו (`~/.local/share/goose/sessions/sessions.db`). האכיפה משתמשת ב**מערכת ווי** של Goose (סכימת **Open Plugins** בין-סוכנית) — המתקין פשוט מורידה ספריית פלאגין ל-`~/.agents/plugins/failproofai/` ו-Goose מגלה את זה באופן אוטומטי. חסימה היא `{"decision":"block"}` JSON בחדש `PreToolUse` (שמתעלה עבור כלי הקליפה ובתוך תת-סוכנים משויכים), מאומת חי מול goose v1.43.0; Goose אין אירוע `Stop` בקצה התור, כך ש`require-*-before-stop` בנויים כוללים לא חלים (כמו עם Hermes). --- @@ -92,11 +147,11 @@ ```sh npm install -g failproofai -failproofai policies --install # או פשוט הרץ `failproofai` וקבל את ההנחיה בהפעלה ראשונה +failproofai policies --install # או פשוט הרץ `failproofai` וקבל את הנושא ההנחיה הראשונה failproofai ``` -30 מדיניויות מובנות מופעלות מיד. לוח בקרה ב-`localhost:8020`. בטל את הנחיית ההפעלה הראשונה עם `FAILPROOFAI_NO_FIRST_RUN=1`. +30 מדיניות מובנות מופעלות באופן מיידי. לוח מחוונים ב-`localhost:8020`. השבת את הנושא ההנחיה הראשונה עם `FAILPROOFAI_NO_FIRST_RUN=1`. --- @@ -104,20 +159,20 @@ failproofai | מדיניות | מה זה חוסם | |---|---| -| `block-push-master` | דחיפה ישירה ל-`main` / `master` | +| `block-push-master` | דחיפות ישירות ל-`main` / `master` | | `block-force-push` | `git push --force` | -| `block-work-on-main` | commits, merges, rebases ב-`main` / `master` | +| `block-work-on-main` | Commits, merges, rebases ב-`main` / `master` | | `block-rm-rf` | מחיקת קבצים רקורסיבית | -| `sanitize-api-keys` | API keys דולפים להקשר של סוכן | +| `sanitize-api-keys` | מפתחות API דוללים להקשר הסוכן | -→ [כל 30 המדיניויות המובנות](https://docs.befailproof.ai/built-in-policies) +→ [כל 30 המדיניות המובנות](https://docs.befailproof.ai/built-in-policies) --- ## המדיניויות שלך -זרוק קובץ ל-`.failproofai/policies/` — הוא טוען באופן אוטומטי, ללא דגלים. -בצע commit וכל הצוות יקבל אותו בפול הבא. +זרוק קובץ ל-`.failproofai/policies/` — הוא נטען באופן אוטומטי, ללא צורך בדגלים. +עשה קומיט וכל הצוות שלך יקבל את זה בעיתוי הבא. ```js import { customPolicies, deny, allow } from "failproofai"; @@ -127,7 +182,7 @@ customPolicies.add({ match: { events: ["PreToolUse"] }, fn: async (ctx) => { if (ctx.toolInput?.file_path?.includes("production")) - return deny("כתיבה לנתיבי production מחסומה."); + return deny("Writes to production paths are blocked."); return allow(); }, }); @@ -137,19 +192,19 @@ customPolicies.add({ | החלטה | השפעה | |---|---| -| `allow()` | אשר את הפעולה | -| `deny(message)` | חסום אותה — ההודעה חוזרת לסוכן | +| `allow()` | התר את הפעולה | +| `deny(message)` | חסום את זה — ההודעה חוזרת לסוכן | | `instruct(message)` | תן לה לעבור, אך הוסף הקשר להנחיה הבאה של הסוכן | -→ [מדריך מדיניויות מותאמות אישית](https://docs.befailproof.ai/custom-policies) +→ [מדריך מדיניויות מותאמות](https://docs.befailproof.ai/custom-policies) --- -## גלויות הפעלה +## גלוי הפעלה -כל קריאת כלים שהסוכן שלך עושה מתועדת בעמודה השדורה. לוח הבקרה מראה מה רץ, -מה היה חסום, ומה המדיניות אמרה לסוכן — כך שאתה לא מנחש -כשמשהו הולך בצעד הלא נכון. → [מדריך לוח הבקרה](https://docs.befailproof.ai/dashboard) +כל קריאת כלים שהסוכן שלך עושה מורשמת באופן מקומי. לוח המחוונים מראה מה רץ, +מה נחסם, ומה המדיניות אמרה לסוכן — כך שאתה לא מנחש +כשמשהו משתבש. → [מדריך לוח המחוונים](https://docs.befailproof.ai/dashboard) --- @@ -157,30 +212,27 @@ customPolicies.add({ | | | |---|---| -| [התחלה](https://docs.befailproof.ai/getting-started) | התקנה ושלבים ראשונים | -| [מדיניויות מובנות](https://docs.befailproof.ai/built-in-policies) | כל 30 המדיניויות עם פרמטרים | -| [מדיניויות מותאמות אישית](https://docs.befailproof.ai/custom-policies) | כתוב שלך | -| [תצורה](https://docs.befailproof.ai/configuration) | טווחי תצורה וכללי מיזוג | -| [לוח בקרה](https://docs.befailproof.ai/dashboard) | מוניטור הפעלה ופעילות מדיניות | -| [ארכיטקטורה](https://docs.befailproof.ai/architecture) | איך מערכת ה-hook עובדת | +| [Getting Started](https://docs.befailproof.ai/getting-started) | התקנה והצעדים הראשונים | +| [Built-in Policies](https://docs.befailproof.ai/built-in-policies) | כל 30 המדיניויות עם פרמטרים | +| [Custom Policies](https://docs.befailproof.ai/custom-policies) | כתוב שלך | +| [Configuration](https://docs.befailproof.ai/configuration) | היקפי תצורה וכללי מיזוג | +| [Dashboard](https://docs.befailproof.ai/dashboard) | מוניטור הפעלה ופעילות מדיניות | +| [Architecture](https://docs.befailproof.ai/architecture) | איך מערכת הווי עובדת | --- ## רישיון -MIT עם [Commons Clause](https://commonsclause.com/) — חינם לשימוש פנימי ואישי; מכירה מחדש מסחרית של failproofai עצמו דורשת הסכם נפרד. ראה [LICENSE](./LICENSE) לטקסט המלא. +MIT עם [Commons Clause](https://commonsclause.com/) — חינם לשימוש פנימי ואישי; מכירה מחדש מסחרית של failproofai עצמו דורש הסכם נפרד. ראה [LICENSE](./LICENSE) לטקסט המלא. --- ## תרומה -ראה [CONTRIBUTING.md](./CONTRIBUTING.md). מדיניויות חדשות, מקרי קצה, ותרגומים - כלם מובאים בברכה. +ראה [CONTRIBUTING.md](./CONTRIBUTING.md). מדיניויות חדשות, מקרי קצה ותרגומים כולם מדורים. -> **בנה לפני שתתחיל.** הרץ `bun install && bun run build` תחילה. המאגר הזה מריץ -> את ה-hooks שלו עצמו, והם פותרים את ייבוא `failproofai` כנגד ה-bundle המחומר `dist/` — -> ללא בנייה תוכל להיתקל בשגיאות hook `Cannot find package 'failproofai'`. בנה מחדש -> לאחר שינוי `src/`. ראה -> [בנה לפני שה-dev hooks בתוך המאגר יעבדו](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). +> **בנה לפני שתתחיל.** הרץ `bun install && bun run build` ראשון. מילוע זה מפעיל את הווי שלו עצמו, והם מפתרים את ה-`failproofai` כשיוצא נגד החבילה המורכבת `dist/` — ללא בנייה תוכל לפגוע בשגיאות `Cannot find package 'failproofai'` ווי. בנה מחדש אחרי שינוי `src/`. ראה +> [Build before the in-repo dev hooks will work](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). --- diff --git a/docs/i18n/README.hi.md b/docs/i18n/README.hi.md index 4f9cce51a..cfd9e8820 100644 --- a/docs/i18n/README.hi.md +++ b/docs/i18n/README.hi.md @@ -17,9 +17,9 @@ **अनुवाद:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) -**कोडिंग एजेंटों के लिए रनटाइम विफलता समाधान।** -Claude Code और Codex में हुक करता है। लूप, खतरनाक कार्यों और सीक्रेट लीक को -पकड़ता है इससे पहले कि वे समस्या बनें। शून्य विलंबता। स्थानीय रूप से चलता है। +**कोडिंग एजेंट्स के लिए रनटाइम विफलता समाधान।** +Claude Code और Codex में हुक करता है। लूप्स, खतरनाक कार्यों, और सीक्रेट लीक्स को +उन्हें घटनाओं में बदलने से पहले पकड़ता है। शून्य लेटेंसी। स्थानीय रूप से चलता है। @@ -31,58 +31,113 @@ Claude Code और Codex में हुक करता है। लूप, ## समर्थित एजेंट CLIs -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> एक या किसी भी संयोजन के लिए हुक इंस्टॉल करें: `failproofai policies --install --cli opencode pi` (या `--cli claude codex copilot cursor opencode pi hermes`)। स्वचालित रूप से स्थापित CLIs का पता लगाने और संकेत देने के लिए `--cli` को छोड़ दें। + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> एक या किसी भी संयोजन के लिए हुक इंस्टॉल करें: `failproofai policies --install --cli opencode pi` (या `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`)। स्वचालित रूप से संस्थापित CLIs का पता लगाने और संकेत देने के लिए `--cli` को छोड़ दें। +> +> **Hermes** (hermes-agent, एक Slack/Telegram गेटवे) **लाइव-हुक प्रवर्तन** (`--cli hermes` — एक इंस्टॉल हर प्लेटफॉर्म और सबएजेंट से टूल कॉल को रोकता है) और ऑफलाइन **ऑडिट** के लिए समर्थित है इसके गेटवे सेशन का एकल `~/.hermes/state.db` से। +> +> **OpenClaw** (openclaw गेटवे, एक self-hosted मल्टी-चैनल असिस्टेंट) **लाइव-हुक प्रवर्तन** (`--cli openclaw`, यूजर-स्कोप) और ऑफलाइन **ऑडिट** के लिए समर्थित है इसके JSONL सेशन का (`~/.openclaw/agents//sessions/*.jsonl`)। प्रवर्तन OpenClaw के **in-process प्लगइन हुक्स** का उपयोग करता है (एक shipped `openclaw-plugin/` जो async-spawns failproofai — इसकी फाइल-आधारित आंतरिक हुक्स केवल अवलोकन हैं और ब्लॉक नहीं कर सकते): `before_tool_call` एक टूल को ब्लॉक करता है, और `before_agent_finalize` एक असली turn-end गेट है, इसलिए `require-*-before-stop` बिल्ट-इन्स को प्रवर्तित करते हैं। +> +> **Factory Droid** (`droid`) **लाइव-हुक प्रवर्तन** (`--cli factory`, यूजर + प्रोजेक्ट स्कोप) और ऑफलाइन **ऑडिट** के लिए समर्थित है इसके ऑन-डिस्क JSONL सेशन का। droid हुक **exit code 2** (JSON निर्णय नहीं) को ब्लॉक करता है और `{decision:"block"}` को turn-end `Stop` event पर ही मानता है — failproofai स्वचालित रूप से प्रत्येक event के लिए सही आकार उत्सर्जित करता है। +> +> **Devin CLI** (`devin`, Cognition) **लाइव-हुक प्रवर्तन** (`--cli devin`, यूजर + प्रोजेक्ट स्कोप) और ऑफलाइन **ऑडिट** के लिए समर्थित है इसके SQLite सेशन का (`~/.local/share/devin/cli/sessions.db`)। Devin एक **शुद्ध Claude-क्लोन** है — समान event नाम, समान snake_case payload, समान `hooks`-wrapper config (`~/.config/devin/config.json` / `/.devin/config.json`) — `{decision:"block"}` JSON के माध्यम से प्रत्येक event पर ब्लॉकिंग। +> +> **Antigravity CLI** (`agy`) **लाइव-हुक प्रवर्तन** (`--cli antigravity`, यूजर + प्रोजेक्ट स्कोप) और ऑफलाइन **ऑडिट** के लिए समर्थित है इसके प्लेन-JSONL सेशन का (`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`)। Antigravity का अपना **contract** है (Claude-क्लोन नहीं): एक **नामित-हुक** `hooks.json` स्कीमा (`~/.gemini/config/hooks.json` / `/.agents/hooks.json`), एक camelCase stdin payload जिसे failproofai सामान्य करता है, और अपने स्वयं के प्रतिक्रिया आकार — `{decision:"deny"}` एक टूल को ब्लॉक करने के लिए, `{decision:"continue"}` को `Stop` पर दूसरी turn को बाध्य करने के लिए, `{injectSteps}` मॉडल चलाने से पहले एक अनुस्मारक इंजेक्ट करने के लिए। > -> **Hermes** (hermes-agent, एक Slack/Telegram गेटवे) **लाइव-हुक प्रवर्तन** (`--cli hermes` — एक इंस्टॉल प्रत्येक प्लेटफॉर्म और सबएजेंट से टूल कॉल को रोकता है) और इसके गेटवे सत्रों की ऑफलाइन **ऑडिट** रिप्ले दोनों के लिए समर्थित है। +> **Goose** (codename goose, Block) **लाइव-हुक प्रवर्तन** (`--cli goose`, यूजर + प्रोजेक्ट स्कोप) और ऑफलाइन **ऑडिट** के लिए समर्थित है इसके SQLite सेशन का (`~/.local/share/goose/sessions/sessions.db`)। प्रवर्तन Goose की **hooks** सिस्टम का उपयोग करता है (cross-agent **Open Plugins** spec) — इंस्टॉलर बस एक प्लगइन dir को `~/.agents/plugins/failproofai/` पर ड्रॉप करता है और Goose इसे स्वचालित रूप से खोजता है। ब्लॉकिंग `PreToolUse` event पर `{"decision":"block"}` JSON है (जो shell टूल के लिए और प्रतिनिधिमंडल किए गए सबएजेंट्स के अंदर फायर करता है), goose v1.43.0 के विरुद्ध लाइव सत्यापित; Goose के पास कोई turn-end `Stop` event नहीं है, इसलिए `require-*-before-stop` बिल्ट-इन्स लागू नहीं होते (Hermes की तरह)। --- @@ -90,11 +145,11 @@ Claude Code और Codex में हुक करता है। लूप, ```sh npm install -g failproofai -failproofai policies --install # या बस `failproofai` चलाएं और पहली बार के संकेत को स्वीकार करें +failproofai policies --install # या बस `failproofai` चलाएं और पहली-बार के संकेत को स्वीकार करें failproofai ``` -30 बिल्ट-इन नीतियां तुरंत सक्रिय हो जाती हैं। `localhost:8020` पर डैशबोर्ड। पहली बार के संकेत को `FAILPROOFAI_NO_FIRST_RUN=1` के साथ अक्षम करें। +30 बिल्ट-इन नीतियां तुरंत सक्रिय हो जाती हैं। डैशबोर्ड `localhost:8020` पर। `FAILPROOFAI_NO_FIRST_RUN=1` के साथ पहली-बार के संकेत को अक्षम करें। --- @@ -102,11 +157,11 @@ failproofai | नीति | यह क्या ब्लॉक करता है | |---|---| -| `block-push-master` | `main` / `master` के लिए सीधे पुश | +| `block-push-master` | `main` / `master` को सीधे पुश | | `block-force-push` | `git push --force` | -| `block-work-on-main` | `main` / `master` पर प्रतिबद्धता, विलय, रीबेस | -| `block-rm-rf` | पुनरावर्ती फ़ाइल हटाना | -| `sanitize-api-keys` | API कुंजियां एजेंट संदर्भ में लीक हो रही हैं | +| `block-work-on-main` | `main` / `master` पर कमिट, मर्ज, रीबेस | +| `block-rm-rf` | रिकर्सिव फाइल हटाना | +| `sanitize-api-keys` | एजेंट context में API कुंजियों का लीक होना | → [सभी 30 बिल्ट-इन नीतियां](https://docs.befailproof.ai/built-in-policies) @@ -114,8 +169,8 @@ failproofai ## आपकी अपनी नीतियां -`.failproofai/policies/` में एक फ़ाइल ड्रॉप करें — यह स्वचालित रूप से लोड होती है, किसी फ्लैग की आवश्यकता नहीं है। -इसे प्रतिबद्ध करें और पूरी टीम को अगले पुल पर यह मिल जाता है। +`.failproofai/policies/` में एक फाइल ड्रॉप करें — यह स्वचालित रूप से लोड हो जाती है, कोई फ्लैग की आवश्यकता नहीं। +इसे कमिट करें और पूरी टीम को अगली pull पर यह मिल जाएगा। ```js import { customPolicies, deny, allow } from "failproofai"; @@ -131,21 +186,21 @@ customPolicies.add({ }); ``` -प्रत्येक नीति के लिए तीन निर्णय उपलब्ध हैं: +हर नीति के लिए तीन निर्णय उपलब्ध हैं: | निर्णय | प्रभाव | |---|---| | `allow()` | ऑपरेशन की अनुमति दें | | `deny(message)` | इसे ब्लॉक करें — संदेश एजेंट को वापस जाता है | -| `instruct(message)` | इसे जाने दें, लेकिन एजेंट के अगले प्रॉम्प्ट में संदर्भ जोड़ें | +| `instruct(message)` | इसे अनुमति दें, लेकिन एजेंट के अगले प्रॉम्प्ट में context जोड़ें | → [कस्टम नीतियां गाइड](https://docs.befailproof.ai/custom-policies) --- -## सत्र दृश्यता +## सेशन दृश्यमानता -आपके एजेंट द्वारा किया जाने वाला प्रत्येक टूल कॉल स्थानीय रूप से लॉग किया जाता है। डैशबोर्ड दिखाता है कि क्या चला, +आपके एजेंट द्वारा किया गया हर टूल कॉल स्थानीय रूप से लॉग किया जाता है। डैशबोर्ड दिखाता है कि क्या चला, क्या ब्लॉक किया गया, और नीति ने एजेंट को क्या बताया — इसलिए आप अनुमान नहीं लगा रहे हैं जब कुछ गलत हो जाता है। → [डैशबोर्ड गाइड](https://docs.befailproof.ai/dashboard) @@ -155,31 +210,32 @@ customPolicies.add({ | | | |---|---| -| [शुरुआत करना](https://docs.befailproof.ai/getting-started) | इंस्टॉलेशन और पहले कदम | +| [आरंभ करें](https://docs.befailproof.ai/getting-started) | इंस्टॉलेशन और पहले कदम | | [बिल्ट-इन नीतियां](https://docs.befailproof.ai/built-in-policies) | सभी 30 नीतियां पैरामीटर के साथ | | [कस्टम नीतियां](https://docs.befailproof.ai/custom-policies) | अपनी खुद की लिखें | | [कॉन्फ़िगरेशन](https://docs.befailproof.ai/configuration) | कॉन्फ़िग स्कोप और मर्ज नियम | -| [डैशबोर्ड](https://docs.befailproof.ai/dashboard) | सत्र मॉनिटर और नीति गतिविधि | +| [डैशबोर्ड](https://docs.befailproof.ai/dashboard) | सेशन मॉनिटर और नीति गतिविधि | | [आर्किटेक्चर](https://docs.befailproof.ai/architecture) | हुक सिस्टम कैसे काम करता है | --- ## लाइसेंस -[Commons Clause](https://commonsclause.com/) के साथ MIT — आंतरिक और व्यक्तिगत उपयोग के लिए मुफ्त; failproofai का व्यावसायिक पुनर्विक्रय एक अलग समझौते की आवश्यकता है। पूर्ण पाठ के लिए [LICENSE](./LICENSE) देखें। +MIT with [Commons Clause](https://commonsclause.com/) — आंतरिक और व्यक्तिगत उपयोग के लिए मुफ्त; failproofai की वाणिज्यिक पुनर्विक्रय के लिए एक अलग समझौता आवश्यक है। पूरे पाठ के लिए [LICENSE](./LICENSE) देखें। --- -## योगदान +## योगदान करना -[CONTRIBUTING.md](./CONTRIBUTING.md) देखें। नई नीतियां, किनारे के मामलों और अनुवाद सभी स्वागत है। +[CONTRIBUTING.md](./CONTRIBUTING.md) देखें। नई नीतियां, edge cases, और अनुवाद सभी स्वागत हैं। > **शुरू करने से पहले बिल्ड करें।** पहले `bun install && bun run build` चलाएं। यह रेपो -> failproofai की अपनी नीतियों को अपने आप पर चलाता है, और वे `failproofai` आयात को संकलित `dist/` बंडल के विरुद्ध हल करते हैं — बिल्ड के बिना आप `Cannot find package 'failproofai'` -> हुक त्रुटियों से टकराएंगे। `src/` के बदलने के बाद फिर से बिल्ड करें। देखें -> [इन-रेपो डेव हुक के काम करने से पहले बिल्ड करें](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work)। +> failproofai की अपनी हुक्स को अपने आप पर चलाता है, और वे `failproofai` import को संकलित +> `dist/` bundle के विरुद्ध हल करते हैं — बिल्ड के बिना आप `Cannot find package 'failproofai'` +> हुक त्रुटियों से टकराएंगे। `src/` बदलने के बाद पुनर्निर्माण करें। +> [in-repo dev हुक्स काम करने से पहले बिल्ड करें](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work) देखें। --- -[Nivedit Jain](https://github.com/NiveditJain) और [Nikita Agarwal](https://github.com/nk-ag) द्वारा बनाया गया। +[Nivedit Jain](https://github.com/NiveditJain) और [Nikita Agarwal](https://github.com/nk-ag) द्वारा निर्मित। [befailproof.ai](https://befailproof.ai) diff --git a/docs/i18n/README.it.md b/docs/i18n/README.it.md index 4091c1a7c..368861c23 100644 --- a/docs/i18n/README.it.md +++ b/docs/i18n/README.it.md @@ -6,7 +6,7 @@
-failproof ai +failproof ai [![npm](https://img.shields.io/npm/v/failproofai?style=flat-square&color=CB3837)](https://www.npmjs.com/package/failproofai) [![CI](https://img.shields.io/github/actions/workflow/status/failproofai/failproofai/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/failproofai/failproofai/actions) @@ -17,72 +17,127 @@ **Traduzioni:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) -**Risoluzione dei guasti di runtime per gli agenti di codice.** +**Risoluzione dei fallimenti di runtime per gli agenti di codifica.** Si integra con Claude Code e Codex. Cattura loop, azioni pericolose e fughe di segreti -prima che diventino incidenti. Latenza zero. Eseguito localmente. +prima che diventino incidenti. Zero latenza. Eseguito localmente.

- Failproof AI in action + Failproof AI in azione

--- -## CLI degli agenti supportati - -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> Installa gli hook per uno o qualsiasi combinazione: `failproofai policies --install --cli opencode pi` (o `--cli claude codex copilot cursor opencode pi hermes`). Ometti `--cli` per rilevare automaticamente le CLI installate e ricevere un prompt. +## CLI agenti supportati + + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> Installa hook per uno o una combinazione qualsiasi: `failproofai policies --install --cli opencode pi` (oppure `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`). Ometti `--cli` per rilevare automaticamente i CLI installati e ricevere un prompt. +> +> **Hermes** (hermes-agent, un gateway Slack/Telegram) è supportato sia per **l'applicazione live-hook** (`--cli hermes` — un singolo install intercetta le tool call da ogni piattaforma e subagent) che per l'**audit** offline replay delle sue sessioni gateway dal singolo `~/.hermes/state.db`. +> +> **OpenClaw** (openclaw gateway, un assistente multi-canale auto-hosted) è supportato sia per l'**applicazione live-hook** (`--cli openclaw`, user-scope) che per l'**audit** offline replay delle sue sessioni JSONL (`~/.openclaw/agents//sessions/*.jsonl`). L'applicazione utilizza i **plugin hook in-process** di OpenClaw (un `openclaw-plugin/` fornito che spawna failproofai async — i suoi hook interni basati su file sono solo di osservazione e non possono bloccare): `before_tool_call` blocca una tool, e `before_agent_finalize` è un vero gate di fine turno, quindi i builtin `require-*-before-stop` applicano l'enforcement. +> +> **Factory Droid** (`droid`) è supportato sia per l'**applicazione live-hook** (`--cli factory`, user + project scope) che per l'**audit** offline replay delle sue sessioni JSONL su disco. droid blocca le tool call dall'**exit code 2** dell'hook (non una decisione JSON) e rispetta `{decision:"block"}` solo sull'evento `Stop` di fine turno — failproofai emette automaticamente la forma giusta per ogni evento. +> +> **Devin CLI** (`devin`, Cognition) è supportato sia per l'**applicazione live-hook** (`--cli devin`, user + project scope) che per l'**audit** offline replay delle sue sessioni SQLite (`~/.local/share/devin/cli/sessions.db`). Devin è un **pure Claude-clone** — stessi nomi di eventi, stesso payload snake_case, stessa configurazione `"hooks"`-wrapper (`~/.config/devin/config.json` / `/.devin/config.json`) — blocking tramite JSON `{decision:"block"}` su ogni evento. +> +> **Antigravity CLI** (`agy`) è supportato sia per l'**applicazione live-hook** (`--cli antigravity`, user + project scope) che per l'**audit** offline replay delle sue sessioni plain-JSONL (`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`). Antigravity ha il **suo** contratto (non un Claude-clone): uno schema `hooks.json` **named-hook** (`~/.gemini/config/hooks.json` / `/.agents/hooks.json`), un payload stdin camelCase che failproofai normalizza, e le sue proprie forme di risposta — `{decision:"deny"}` per bloccare una tool, `{decision:"continue"}` per forzare un altro turno a `Stop`, `{injectSteps}` per iniettare un reminder prima che il modello esegua. > -> **Hermes** (hermes-agent, un gateway Slack/Telegram) è supportato sia per l'**applicazione dei hook in diretta** (`--cli hermes` — un'unica installazione intercetta le chiamate ai tool da ogni piattaforma e subagente) che per il **controllo** offline della riproduzione delle sue sessioni gateway dal singolo `~/.hermes/state.db`. +> **Goose** (codename goose, Block) è supportato sia per l'**applicazione live-hook** (`--cli goose`, user + project scope) che per l'**audit** offline replay delle sue sessioni SQLite (`~/.local/share/goose/sessions/sessions.db`). L'applicazione utilizza il sistema **hooks** di Goose (la spec cross-agent **Open Plugins**) — l'installer semplicemente rilascia una dir di plugin in `~/.agents/plugins/failproofai/` e Goose la scopre automaticamente. Il blocking è JSON `{"decision":"block"}` sull'evento `PreToolUse` (che si attiva per la shell tool e dentro i subagent delegati), verificato live contro goose v1.43.0; Goose non ha un evento `Stop` di fine turno, quindi i builtin `require-*-before-stop` non si applicano (come con Hermes). --- @@ -90,32 +145,32 @@ prima che diventino incidenti. Latenza zero. Eseguito localmente. ```sh npm install -g failproofai -failproofai policies --install # oppure esegui semplicemente `failproofai` e accetta il prompt al primo avvio +failproofai policies --install # oppure esegui `failproofai` e accetta il prompt del primo avvio failproofai ``` -30 politiche integrate si attivano immediatamente. Dashboard disponibile su `localhost:8020`. Disabilita il prompt al primo avvio con `FAILPROOFAI_NO_FIRST_RUN=1`. +30 politiche built-in si attivano immediatamente. Dashboard su `localhost:8020`. Disabilita il prompt del primo avvio con `FAILPROOFAI_NO_FIRST_RUN=1`. --- ## Cosa blocca -| Politica | Cosa blocca | +| Policy | Cosa blocca | |---|---| | `block-push-master` | Push diretti a `main` / `master` | | `block-force-push` | `git push --force` | | `block-work-on-main` | Commit, merge, rebase su `main` / `master` | | `block-rm-rf` | Eliminazione ricorsiva di file | -| `sanitize-api-keys` | Fughe di chiavi API nel contesto dell'agente | +| `sanitize-api-keys` | Chiavi API che perdono nel contesto dell'agent | -→ [Tutte le 30 politiche integrate](https://docs.befailproof.ai/built-in-policies) +→ [Tutte le 30 politiche built-in](https://docs.befailproof.ai/built-in-policies) --- -## Le tue politiche personali +## Le tue politiche personalizzate -Inserisci un file in `.failproofai/policies/` — carica automaticamente, nessun flag necessario. -Committalo e l'intero team lo riceverà al prossimo pull. +Rilascia un file in `.failproofai/policies/` — viene caricato automaticamente, senza flag necessari. +Committalo e l'intero team lo avrà al prossimo pull. ```js import { customPolicies, deny, allow } from "failproofai"; @@ -131,13 +186,13 @@ customPolicies.add({ }); ``` -Tre decisioni disponibili per ogni politica: +Tre decisioni disponibili per ogni policy: | Decisione | Effetto | |---|---| -| `allow()` | Permetti l'operazione | -| `deny(message)` | Bloccala — il messaggio torna all'agente | -| `instruct(message)` | Lasciarla passare, ma aggiungi contesto al prossimo prompt dell'agente | +| `allow()` | Consenti l'operazione | +| `deny(message)` | Bloccala — il messaggio torna all'agent | +| `instruct(message)` | Lasciarla passare, ma aggiungi contesto al prossimo prompt dell'agent | → [Guida alle politiche personalizzate](https://docs.befailproof.ai/custom-policies) @@ -145,9 +200,9 @@ Tre decisioni disponibili per ogni politica: ## Visibilità della sessione -Ogni chiamata ai tool effettuata dal tuo agente viene registrata localmente. Il dashboard mostra -cosa è stato eseguito, cosa è stato bloccato e cosa ha detto la politica all'agente — così non devi -indovinare quando qualcosa va male. → [Guida al dashboard](https://docs.befailproof.ai/dashboard) +Ogni tool call che il tuo agent effettua viene registrata localmente. Il dashboard mostra cosa è stato eseguito, +cosa è stato bloccato, e cosa la policy ha detto all'agent — quindi non stai indovinando +quando qualcosa va male. → [Guida al Dashboard](https://docs.befailproof.ai/dashboard) --- @@ -155,28 +210,32 @@ indovinare quando qualcosa va male. → [Guida al dashboard](https://docs.befail | | | |---|---| -| [Per Iniziare](https://docs.befailproof.ai/getting-started) | Installazione e primi passi | -| [Politiche Integrate](https://docs.befailproof.ai/built-in-policies) | Tutte le 30 politiche con parametri | -| [Politiche Personalizzate](https://docs.befailproof.ai/custom-policies) | Scrivi le tue | -| [Configurazione](https://docs.befailproof.ai/configuration) | Ambiti di configurazione e regole di merge | -| [Dashboard](https://docs.befailproof.ai/dashboard) | Monitor delle sessioni e attività delle politiche | -| [Architettura](https://docs.befailproof.ai/architecture) | Come funziona il sistema di hook | +| [Getting Started](https://docs.befailproof.ai/getting-started) | Installazione e primi passi | +| [Built-in Policies](https://docs.befailproof.ai/built-in-policies) | Tutte le 30 politiche con parametri | +| [Custom Policies](https://docs.befailproof.ai/custom-policies) | Scrivi le tue | +| [Configuration](https://docs.befailproof.ai/configuration) | Scope di configurazione e regole di merge | +| [Dashboard](https://docs.befailproof.ai/dashboard) | Monitor di sessione e attività delle policy | +| [Architecture](https://docs.befailproof.ai/architecture) | Come funziona il sistema di hook | --- ## Licenza -MIT con [Commons Clause](https://commonsclause.com/) — gratuito per uso interno e personale; la rivendita commerciale di failproofai stesso richiede un accordo separato. Consulta [LICENSE](./LICENSE) per il testo completo. +MIT con [Commons Clause](https://commonsclause.com/) — gratuito per uso interno e personale; la rivendita commerciale di failproofai stesso richiede un accordo separato. Vedi [LICENSE](./LICENSE) per il testo completo. --- ## Contribuire -Vedi [CONTRIBUTING.md](./CONTRIBUTING.md). Nuove politiche, casi limite e traduzioni sono benvenuti. +Vedi [CONTRIBUTING.md](./CONTRIBUTING.md). Nuove politiche, casi edge, e traduzioni sono tutti benvenuti. -> **Compila prima di iniziare.** Esegui prima `bun install && bun run build`. Questo repository esegue i propri hook di failproofai su se stesso e risolvono l'importazione di `failproofai` rispetto al bundle compilato `dist/` — senza una compilazione riceverai errori di hook `Cannot find package 'failproofai'`. Ricompila dopo aver modificato `src/`. Consulta [Build before the in-repo dev hooks will work](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). +> **Compila prima di iniziare.** Esegui `bun install && bun run build` per primo. Questo repo esegue +> i propri hook di failproofai su se stesso, e risolvono l'import `failproofai` contro il +> bundle compilato `dist/` — senza una build otterrai errori hook `Cannot find package 'failproofai'`. +> Ricompila dopo aver cambiato `src/`. Vedi +> [Build before the in-repo dev hooks will work](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). --- -Realizzato da [Nivedit Jain](https://github.com/NiveditJain) e [Nikita Agarwal](https://github.com/nk-ag). +Costruito da [Nivedit Jain](https://github.com/NiveditJain) e [Nikita Agarwal](https://github.com/nk-ag). [befailproof.ai](https://befailproof.ai) diff --git a/docs/i18n/README.ja.md b/docs/i18n/README.ja.md index 9ef5129ba..8e08c2e97 100644 --- a/docs/i18n/README.ja.md +++ b/docs/i18n/README.ja.md @@ -17,9 +17,9 @@ **翻訳:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) -**コーディングエージェントのランタイム障害を解決します。** -Claude Code と Codex にフックして、ループ・危険な操作・シークレット漏洩を -インシデントになる前に検知。レイテンシーゼロ。ローカルで動作。 +**コーディングエージェントのランタイム障害解決ツール。** +Claude Code および Codex にフックし、ループ・危険な操作・シークレット漏洩を +インシデントになる前に検知・阻止します。レイテンシーゼロ。ローカル実行。 @@ -31,58 +31,113 @@ Claude Code と Codex にフックして、ループ・危険な操作・シー ## 対応エージェント CLI -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> 1つまたは任意の組み合わせでフックをインストールできます: `failproofai policies --install --cli opencode pi`(または `--cli claude codex copilot cursor opencode pi hermes`)。`--cli` を省略するとインストール済み CLI を自動検出してプロンプトを表示します。 + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> 1つまたは任意の組み合わせでフックをインストールできます: `failproofai policies --install --cli opencode pi`(または `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`)。`--cli` を省略すると、インストール済みの CLI を自動検出してプロンプトを表示します。 +> +> **Hermes**(hermes-agent、Slack/Telegram ゲートウェイ)は、**ライブフック適用**(`--cli hermes` — 1回のインストールで全プラットフォームおよびサブエージェントのツール呼び出しをインターセプト)と、単一の `~/.hermes/state.db` からゲートウェイセッションをオフライン**監査**リプレイする両方に対応しています。 +> +> **OpenClaw**(openclaw gateway、セルフホスト型マルチチャンネルアシスタント)は、**ライブフック適用**(`--cli openclaw`、ユーザースコープ)と、JSONL セッション(`~/.openclaw/agents//sessions/*.jsonl`)のオフライン**監査**リプレイの両方に対応しています。適用には OpenClaw の**インプロセスプラグインフック**(failproofai を非同期起動する同梱の `openclaw-plugin/` — ファイルベースの内部フックは観測専用でブロック不可)を使用します: `before_tool_call` でツールをブロックし、`before_agent_finalize` はターン終了のゲートとして機能するため、`require-*-before-stop` ビルトインが有効になります。 +> +> **Factory Droid**(`droid`)は、**ライブフック適用**(`--cli factory`、ユーザー+プロジェクトスコープ)と、ディスク上の JSONL セッションのオフライン**監査**リプレイの両方に対応しています。droid はフックの**終了コード 2**でツール呼び出しをブロックし(JSON による判断ではなく)、`{decision:"block"}` はターン終了の `Stop` イベントのみ有効です — failproofai はイベントごとに適切な形式を自動的に出力します。 +> +> **Devin CLI**(`devin`、Cognition)は、**ライブフック適用**(`--cli devin`、ユーザー+プロジェクトスコープ)と、SQLite セッション(`~/.local/share/devin/cli/sessions.db`)のオフライン**監査**リプレイの両方に対応しています。Devin は**純粋な Claude クローン**です — 同じイベント名、同じ snake_case ペイロード、同じ `"hooks"` ラッパー設定(`~/.config/devin/config.json` / `/.devin/config.json`)— すべてのイベントで `{decision:"block"}` JSON によってブロックします。 +> +> **Antigravity CLI**(`agy`)は、**ライブフック適用**(`--cli antigravity`、ユーザー+プロジェクトスコープ)と、プレーン JSONL セッション(`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`)のオフライン**監査**リプレイの両方に対応しています。Antigravity は**独自の**契約を持ちます(Claude クローンではありません): **名前付きフック**の `hooks.json` スキーマ(`~/.gemini/config/hooks.json` / `/.agents/hooks.json`)、failproofai が正規化する camelCase の stdin ペイロード、および独自のレスポンス形式 — ツールをブロックする `{decision:"deny"}`、`Stop` 時に次のターンを強制する `{decision:"continue"}`、モデル実行前にリマインダーを挿入する `{injectSteps}`。 > -> **Hermes**(hermes-agent、Slack/Telegram ゲートウェイ)は、**ライブフック強制実行**(`--cli hermes` — 1回のインストールですべてのプラットフォームとサブエージェントのツール呼び出しをインターセプト)と、単一の `~/.hermes/state.db` からのゲートウェイセッションのオフライン**監査**リプレイの両方に対応しています。 +> **Goose**(コードネーム goose、Block)は、**ライブフック適用**(`--cli goose`、ユーザー+プロジェクトスコープ)と、SQLite セッション(`~/.local/share/goose/sessions/sessions.db`)のオフライン**監査**リプレイの両方に対応しています。適用には Goose の**フック**システム(クロスエージェントの **Open Plugins** 仕様)を使用します — インストーラーは `~/.agents/plugins/failproofai/` にプラグインディレクトリを配置するだけで、Goose が自動検出します。ブロックは PreToolUse イベントの `{"decision":"block"}` JSON(シェルツールおよび委譲されたサブエージェント内で発火)で行われ、goose v1.43.0 に対してライブ検証済みです。Goose にはターン終了の `Stop` イベントがないため、`require-*-before-stop` ビルトインは適用されません(Hermes と同様)。 --- @@ -90,17 +145,17 @@ Claude Code と Codex にフックして、ループ・危険な操作・シー ```sh npm install -g failproofai -failproofai policies --install # または `failproofai` を実行して初回起動プロンプトに同意 +failproofai policies --install # または `failproofai` を実行して初回起動プロンプトに従う failproofai ``` -30個の組み込みポリシーが即座に有効化されます。ダッシュボードは `localhost:8020` で確認できます。`FAILPROOFAI_NO_FIRST_RUN=1` を設定すると初回起動プロンプトを無効化できます。 +30 個のビルトインポリシーが即座に有効化されます。ダッシュボードは `localhost:8020` で確認できます。初回起動プロンプトを無効化するには `FAILPROOFAI_NO_FIRST_RUN=1` を設定してください。 --- -## ブロックされる操作 +## 何を防ぐか -| ポリシー | ブロックされる内容 | +| ポリシー | ブロック対象 | |---|---| | `block-push-master` | `main` / `master` への直接プッシュ | | `block-force-push` | `git push --force` | @@ -108,14 +163,14 @@ failproofai | `block-rm-rf` | 再帰的なファイル削除 | | `sanitize-api-keys` | エージェントコンテキストへの API キー漏洩 | -→ [組み込みポリシー一覧(全30件)](https://docs.befailproof.ai/built-in-policies) +→ [30 個のビルトインポリシー一覧](https://docs.befailproof.ai/built-in-policies) --- ## 独自ポリシーの作成 `.failproofai/policies/` にファイルを置くだけで自動的に読み込まれます。フラグは不要です。 -コミットすればチーム全員が次回の pull 時に取得できます。 +コミットすれば、次回プル時にチーム全員に適用されます。 ```js import { customPolicies, deny, allow } from "failproofai"; @@ -131,13 +186,13 @@ customPolicies.add({ }); ``` -各ポリシーで使用できる3つの判定: +各ポリシーで使用できる判断は3種類です: -| 判定 | 効果 | +| 判断 | 効果 | |---|---| | `allow()` | 操作を許可する | | `deny(message)` | ブロックする — メッセージがエージェントに返される | -| `instruct(message)` | 通過させるが、エージェントの次のプロンプトにコンテキストを追加する | +| `instruct(message)` | 通過させつつ、エージェントの次のプロンプトにコンテキストを追加する | → [カスタムポリシーガイド](https://docs.befailproof.ai/custom-policies) @@ -145,7 +200,7 @@ customPolicies.add({ ## セッションの可視化 -エージェントが行ったすべてのツール呼び出しはローカルに記録されます。ダッシュボードでは実行内容・ブロックされた内容・ポリシーがエージェントに伝えた内容を確認できるため、何か問題が起きたときに推測に頼る必要がありません。→ [ダッシュボードガイド](https://docs.befailproof.ai/dashboard) +エージェントが行ったすべてのツール呼び出しはローカルにログとして記録されます。ダッシュボードでは、実行されたもの・ブロックされたもの・ポリシーがエージェントに伝えた内容を確認できます — 問題が発生したときに推測で対処する必要はありません。→ [ダッシュボードガイド](https://docs.befailproof.ai/dashboard) --- @@ -154,7 +209,7 @@ customPolicies.add({ | | | |---|---| | [はじめに](https://docs.befailproof.ai/getting-started) | インストールと最初のステップ | -| [組み込みポリシー](https://docs.befailproof.ai/built-in-policies) | パラメーター付き全30ポリシー | +| [ビルトインポリシー](https://docs.befailproof.ai/built-in-policies) | パラメーター付き 30 ポリシー全覧 | | [カスタムポリシー](https://docs.befailproof.ai/custom-policies) | 独自ポリシーの作成方法 | | [設定](https://docs.befailproof.ai/configuration) | 設定スコープとマージルール | | [ダッシュボード](https://docs.befailproof.ai/dashboard) | セッションモニターとポリシーアクティビティ | @@ -164,17 +219,17 @@ customPolicies.add({ ## ライセンス -MIT に [Commons Clause](https://commonsclause.com/) を追加 — 社内利用および個人利用は無料。failproofai 自体の商業的な再販には別途契約が必要です。全文は [LICENSE](./LICENSE) をご覧ください。 +MIT + [Commons Clause](https://commonsclause.com/) — 社内利用・個人利用は無償。failproofai 自体の商用再販には別途契約が必要です。全文は [LICENSE](./LICENSE) をご覧ください。 --- -## コントリビュート +## コントリビューション -[CONTRIBUTING.md](./CONTRIBUTING.md) をご覧ください。新しいポリシー、エッジケース、翻訳はいずれも歓迎です。 +[CONTRIBUTING.md](./CONTRIBUTING.md) をご参照ください。新しいポリシー、エッジケース、翻訳はいずれも歓迎します。 -> **作業を始める前にビルドしてください。** 最初に `bun install && bun run build` を実行してください。このリポジトリは failproofai 自身のフックを自分自身に対して実行しており、`failproofai` のインポートをコンパイル済みの `dist/` バンドルに対して解決します。ビルドなしでは `Cannot find package 'failproofai'` というフックエラーが発生します。`src/` を変更した後は再ビルドしてください。詳細は [Build before the in-repo dev hooks will work](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work) を参照してください。 +> **開始前にビルドしてください。** 最初に `bun install && bun run build` を実行してください。このリポジトリは failproofai 自身のフックを自身に対して実行しており、`failproofai` のインポートをコンパイル済みの `dist/` バンドルに対して解決します — ビルドなしで実行すると `Cannot find package 'failproofai'` フックエラーが発生します。`src/` を変更した後は再ビルドしてください。詳細は [リポジトリ内開発フックを動かすためのビルド手順](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work) をご覧ください。 --- -[Nivedit Jain](https://github.com/NiveditJain) と [Nikita Agarwal](https://github.com/nk-ag) により開発。 +[Nivedit Jain](https://github.com/NiveditJain) と [Nikita Agarwal](https://github.com/nk-ag) が開発。 [befailproof.ai](https://befailproof.ai) diff --git a/docs/i18n/README.ko.md b/docs/i18n/README.ko.md index b38c022b9..7ddf52c3d 100644 --- a/docs/i18n/README.ko.md +++ b/docs/i18n/README.ko.md @@ -18,8 +18,8 @@ **번역:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) **코딩 에이전트를 위한 런타임 장애 해결 도구.** -Claude Code 및 Codex에 연동됩니다. 루프, 위험한 동작, 시크릿 유출을 -인시던트가 되기 전에 차단합니다. 지연 시간 없음. 로컬에서 실행. +Claude Code 및 Codex에 훅으로 연결됩니다. 루프, 위험한 작업, 시크릿 누출을 +인시던트가 되기 전에 차단합니다. 지연 없음. 로컬에서 실행. @@ -29,60 +29,115 @@ Claude Code 및 Codex에 연동됩니다. 루프, 위험한 동작, 시크릿 --- -## 지원하는 에이전트 CLI - -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> 하나 또는 여러 CLI를 조합하여 훅을 설치할 수 있습니다: `failproofai policies --install --cli opencode pi` (또는 `--cli claude codex copilot cursor opencode pi hermes`). `--cli`를 생략하면 설치된 CLI를 자동으로 감지하고 선택을 안내합니다. +## 지원되는 에이전트 CLI + + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> 하나 또는 여러 CLI를 조합하여 훅을 설치하세요: `failproofai policies --install --cli opencode pi` (또는 `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`). `--cli`를 생략하면 설치된 CLI를 자동으로 감지하고 선택 프롬프트를 표시합니다. +> +> **Hermes** (hermes-agent, Slack/Telegram 게이트웨이)는 **실시간 훅 적용** (`--cli hermes` — 한 번의 설치로 모든 플랫폼과 서브에이전트의 도구 호출을 차단) 및 단일 `~/.hermes/state.db`의 게이트웨이 세션에 대한 오프라인 **감사** 재생 모두를 지원합니다. +> +> **OpenClaw** (openclaw gateway, 셀프호스팅 멀티채널 어시스턴트)는 **실시간 훅 적용** (`--cli openclaw`, 사용자 범위) 및 JSONL 세션(`~/.openclaw/agents//sessions/*.jsonl`)에 대한 오프라인 **감사** 재생 모두를 지원합니다. 적용은 OpenClaw의 **인프로세스 플러그인 훅**(비동기로 failproofai를 생성하는 `openclaw-plugin/`이 포함되어 있으며, 파일 기반 내부 훅은 관찰 전용으로 차단 불가)을 사용합니다: `before_tool_call`은 도구를 차단하고, `before_agent_finalize`는 실제 턴 종료 게이트로서 `require-*-before-stop` 내장 정책이 적용됩니다. +> +> **Factory Droid** (`droid`)는 **실시간 훅 적용** (`--cli factory`, 사용자 + 프로젝트 범위) 및 온디스크 JSONL 세션에 대한 오프라인 **감사** 재생 모두를 지원합니다. droid는 훅 **종료 코드 2**(JSON 결정이 아님)로 도구 호출을 차단하며, 턴 종료 `Stop` 이벤트에서만 `{decision:"block"}`을 지원합니다 — failproofai는 이벤트별로 올바른 형식을 자동으로 내보냅니다. +> +> **Devin CLI** (`devin`, Cognition)는 **실시간 훅 적용** (`--cli devin`, 사용자 + 프로젝트 범위) 및 SQLite 세션(`~/.local/share/devin/cli/sessions.db`)에 대한 오프라인 **감사** 재생 모두를 지원합니다. Devin은 **순수 Claude 클론**으로, 동일한 이벤트 이름, 동일한 snake_case 페이로드, 동일한 `"hooks"` 래퍼 설정(`~/.config/devin/config.json` / `/.devin/config.json`)을 사용하며, 모든 이벤트에서 `{decision:"block"}` JSON으로 차단합니다. +> +> **Antigravity CLI** (`agy`)는 **실시간 훅 적용** (`--cli antigravity`, 사용자 + 프로젝트 범위) 및 플레인 JSONL 세션(`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`)에 대한 오프라인 **감사** 재생 모두를 지원합니다. Antigravity는 **자체** 계약 방식(Claude 클론이 아님)을 사용합니다: **named-hook** `hooks.json` 스키마(`~/.gemini/config/hooks.json` / `/.agents/hooks.json`), failproofai가 정규화하는 camelCase stdin 페이로드, 그리고 고유한 응답 형식 — 도구 차단 시 `{decision:"deny"}`, `Stop`에서 다음 턴 강제 진행 시 `{decision:"continue"}`, 모델 실행 전 리마인더 주입 시 `{injectSteps}`. > -> **Hermes** (hermes-agent, Slack/Telegram 게이트웨이)는 **실시간 훅 적용** (`--cli hermes` — 한 번의 설치로 모든 플랫폼과 서브에이전트의 툴 호출을 가로챔)과 단일 `~/.hermes/state.db`의 게이트웨이 세션 오프라인 **감사** 재생을 모두 지원합니다. +> **Goose** (코드명 goose, Block)는 **실시간 훅 적용** (`--cli goose`, 사용자 + 프로젝트 범위) 및 SQLite 세션(`~/.local/share/goose/sessions/sessions.db`)에 대한 오프라인 **감사** 재생 모두를 지원합니다. 적용은 Goose의 **훅** 시스템(크로스 에이전트 **Open Plugins** 스펙)을 사용하며 — 설치 시 `~/.agents/plugins/failproofai/`에 플러그인 디렉터리를 생성하면 Goose가 자동으로 감지합니다. 차단은 `PreToolUse` 이벤트에서 `{"decision":"block"}` JSON을 사용하며(셸 도구 및 위임된 서브에이전트 내부에서 발생), goose v1.43.0에서 실제 검증되었습니다; Goose에는 턴 종료 `Stop` 이벤트가 없으므로 `require-*-before-stop` 내장 정책은 적용되지 않습니다(Hermes와 동일). --- @@ -90,11 +145,11 @@ Claude Code 및 Codex에 연동됩니다. 루프, 위험한 동작, 시크릿 ```sh npm install -g failproofai -failproofai policies --install # 또는 `failproofai`를 실행하고 최초 실행 프롬프트에 동의 +failproofai policies --install # 또는 `failproofai`를 실행하고 첫 실행 프롬프트에서 수락 failproofai ``` -30개의 기본 제공 정책이 즉시 활성화됩니다. 대시보드는 `localhost:8020`에서 확인할 수 있습니다. `FAILPROOFAI_NO_FIRST_RUN=1`로 최초 실행 프롬프트를 비활성화할 수 있습니다. +30개의 내장 정책이 즉시 활성화됩니다. 대시보드는 `localhost:8020`에서 확인할 수 있습니다. `FAILPROOFAI_NO_FIRST_RUN=1`로 첫 실행 프롬프트를 비활성화할 수 있습니다. --- @@ -102,20 +157,20 @@ failproofai | 정책 | 차단 내용 | |---|---| -| `block-push-master` | `main` / `master`에 직접 푸시 | +| `block-push-master` | `main` / `master` 브랜치로의 직접 푸시 | | `block-force-push` | `git push --force` | | `block-work-on-main` | `main` / `master`에서의 커밋, 머지, 리베이스 | | `block-rm-rf` | 재귀적 파일 삭제 | -| `sanitize-api-keys` | 에이전트 컨텍스트로 유출되는 API 키 | +| `sanitize-api-keys` | 에이전트 컨텍스트로 누출되는 API 키 | -→ [30개 기본 제공 정책 전체 목록](https://docs.befailproof.ai/built-in-policies) +→ [30개 내장 정책 전체 보기](https://docs.befailproof.ai/built-in-policies) --- ## 커스텀 정책 -`.failproofai/policies/` 디렉토리에 파일을 추가하면 별도의 플래그 없이 자동으로 로드됩니다. -커밋해두면 다음 풀 시 팀 전체에 적용됩니다. +`.failproofai/policies/` 디렉터리에 파일을 추가하면 — 별도의 플래그 없이 자동으로 로드됩니다. +커밋하면 팀 전체가 다음 풀 시 적용받습니다. ```js import { customPolicies, deny, allow } from "failproofai"; @@ -131,13 +186,13 @@ customPolicies.add({ }); ``` -모든 정책에서 사용할 수 있는 세 가지 결정: +모든 정책에서 사용 가능한 세 가지 결정: | 결정 | 효과 | |---|---| | `allow()` | 작업 허용 | -| `deny(message)` | 차단 — 메시지가 에이전트에 반환됨 | -| `instruct(message)` | 통과 허용, 단 에이전트의 다음 프롬프트에 컨텍스트 추가 | +| `deny(message)` | 차단 — 메시지가 에이전트에게 반환됨 | +| `instruct(message)` | 통과 허용, 하지만 에이전트의 다음 프롬프트에 컨텍스트 추가 | → [커스텀 정책 가이드](https://docs.befailproof.ai/custom-policies) @@ -145,8 +200,8 @@ customPolicies.add({ ## 세션 가시성 -에이전트가 수행하는 모든 툴 호출은 로컬에 기록됩니다. 대시보드에서는 실행된 내용, -차단된 내용, 정책이 에이전트에 전달한 내용을 확인할 수 있어 — 문제가 발생했을 때 +에이전트가 실행하는 모든 도구 호출은 로컬에 기록됩니다. 대시보드에서 무엇이 실행되었는지, +무엇이 차단되었는지, 정책이 에이전트에게 무엇을 알렸는지 확인할 수 있어 — 문제가 발생했을 때 추측할 필요가 없습니다. → [대시보드 가이드](https://docs.befailproof.ai/dashboard) --- @@ -156,17 +211,17 @@ customPolicies.add({ | | | |---|---| | [시작하기](https://docs.befailproof.ai/getting-started) | 설치 및 첫 번째 단계 | -| [기본 제공 정책](https://docs.befailproof.ai/built-in-policies) | 파라미터 포함 30개 정책 전체 목록 | +| [내장 정책](https://docs.befailproof.ai/built-in-policies) | 파라미터가 포함된 30개 정책 전체 | | [커스텀 정책](https://docs.befailproof.ai/custom-policies) | 직접 작성하기 | | [설정](https://docs.befailproof.ai/configuration) | 설정 범위 및 병합 규칙 | | [대시보드](https://docs.befailproof.ai/dashboard) | 세션 모니터 및 정책 활동 | -| [아키텍처](https://docs.befailproof.ai/architecture) | 훅 시스템 동작 방식 | +| [아키텍처](https://docs.befailproof.ai/architecture) | 훅 시스템 작동 방식 | --- ## 라이선스 -[Commons Clause](https://commonsclause.com/)가 적용된 MIT 라이선스 — 내부 및 개인 사용은 무료이며, failproofai 자체의 상업적 재판매는 별도 계약이 필요합니다. 전문은 [LICENSE](./LICENSE)를 참조하세요. +[Commons Clause](https://commonsclause.com/)가 포함된 MIT — 내부 및 개인 사용은 무료이며, failproofai 자체의 상업적 재판매는 별도 계약이 필요합니다. 전문은 [LICENSE](./LICENSE)를 참조하세요. --- @@ -175,9 +230,9 @@ customPolicies.add({ [CONTRIBUTING.md](./CONTRIBUTING.md)를 참고하세요. 새로운 정책, 엣지 케이스, 번역 모두 환영합니다. > **시작 전에 빌드하세요.** 먼저 `bun install && bun run build`를 실행하세요. 이 저장소는 -> failproofai 자체 훅을 자기 자신에게 적용하며, 컴파일된 `dist/` 번들에서 `failproofai` 임포트를 해석합니다 — -> 빌드 없이는 `Cannot find package 'failproofai'` 훅 오류가 발생합니다. `src/` 변경 후에는 다시 빌드하세요. -> [빌드해야 저장소 내 개발 훅이 동작합니다](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work)를 참고하세요. +> failproofai의 자체 훅을 스스로에게 적용하며, `failproofai` 임포트를 컴파일된 `dist/` 번들로 해석합니다 — +> 빌드 없이는 `Cannot find package 'failproofai'` 훅 오류가 발생합니다. `src/`를 변경한 후에는 다시 빌드하세요. +> [저장소 내 개발 훅이 동작하려면 빌드가 필요합니다](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work)를 참고하세요. --- diff --git a/docs/i18n/README.pt-br.md b/docs/i18n/README.pt-br.md index 4d0a4f7dc..5039de038 100644 --- a/docs/i18n/README.pt-br.md +++ b/docs/i18n/README.pt-br.md @@ -17,9 +17,9 @@ **Traduções:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) -**Resolução de falhas em tempo de execução para agentes de codificação.** +**Resolução de falhas em tempo de execução para agentes de código.** Integra-se ao Claude Code e ao Codex. Detecta loops, ações perigosas e vazamentos de segredos -antes que se tornem incidentes. Latência zero. Roda localmente. +antes que se tornem incidentes. Latência zero. Executa localmente. @@ -31,58 +31,113 @@ antes que se tornem incidentes. Latência zero. Roda localmente. ## CLIs de agentes suportados -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> Instale hooks para um ou qualquer combinação: `failproofai policies --install --cli opencode pi` (ou `--cli claude codex copilot cursor opencode pi hermes`). Omita `--cli` para detectar automaticamente os CLIs instalados e ser solicitado a escolher. + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> Instale hooks para um ou qualquer combinação: `failproofai policies --install --cli opencode pi` (ou `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`). Omita `--cli` para detectar automaticamente as CLIs instaladas e exibir o prompt de seleção. +> +> **Hermes** (hermes-agent, um gateway Slack/Telegram) é suportado tanto para **aplicação de hooks em tempo real** (`--cli hermes` — uma única instalação intercepta chamadas de ferramentas de todas as plataformas e subagentes) quanto para replay de **auditoria** offline de suas sessões do gateway a partir do único `~/.hermes/state.db`. +> +> **OpenClaw** (openclaw gateway, um assistente multicanal auto-hospedado) é suportado tanto para **aplicação de hooks em tempo real** (`--cli openclaw`, escopo de usuário) quanto para replay de **auditoria** offline de suas sessões JSONL (`~/.openclaw/agents//sessions/*.jsonl`). A aplicação usa os **hooks de plugin em processo** do OpenClaw (um `openclaw-plugin/` incluído que invoca o failproofai de forma assíncrona — seus hooks internos baseados em arquivo são apenas de observação e não podem bloquear): `before_tool_call` bloqueia uma ferramenta, e `before_agent_finalize` é um portão real de fim de turno, portanto os builtins `require-*-before-stop` são aplicados. +> +> **Factory Droid** (`droid`) é suportado tanto para **aplicação de hooks em tempo real** (`--cli factory`, escopo de usuário + projeto) quanto para replay de **auditoria** offline de suas sessões JSONL em disco. O droid bloqueia chamadas de ferramentas via **código de saída 2** do hook (não uma decisão JSON) e respeita `{decision:"block"}` apenas no evento `Stop` de fim de turno — o failproofai emite o formato correto por evento automaticamente. +> +> **Devin CLI** (`devin`, Cognition) é suportado tanto para **aplicação de hooks em tempo real** (`--cli devin`, escopo de usuário + projeto) quanto para replay de **auditoria** offline de suas sessões SQLite (`~/.local/share/devin/cli/sessions.db`). O Devin é um **clone puro do Claude** — mesmos nomes de eventos, mesmo payload snake_case, mesma configuração com wrapper `"hooks"` (`~/.config/devin/config.json` / `/.devin/config.json`) — bloqueio via JSON `{decision:"block"}` em todos os eventos. +> +> **Antigravity CLI** (`agy`) é suportado tanto para **aplicação de hooks em tempo real** (`--cli antigravity`, escopo de usuário + projeto) quanto para replay de **auditoria** offline de suas sessões JSONL simples (`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`). O Antigravity possui seu **próprio** contrato (não é um clone do Claude): um esquema `hooks.json` de **hooks nomeados** (`~/.gemini/config/hooks.json` / `/.agents/hooks.json`), um payload stdin em camelCase que o failproofai normaliza, e seus próprios formatos de resposta — `{decision:"deny"}` para bloquear uma ferramenta, `{decision:"continue"}` para forçar outro turno no `Stop`, `{injectSteps}` para injetar um lembrete antes da execução do modelo. > -> **Hermes** (hermes-agent, um gateway para Slack/Telegram) é suportado tanto para **aplicação de hooks em tempo real** (`--cli hermes` — uma única instalação intercepta chamadas de ferramentas de todas as plataformas e subagentes) quanto para **auditoria** offline a partir de sessões do gateway gravadas no `~/.hermes/state.db`. +> **Goose** (codinome goose, Block) é suportado tanto para **aplicação de hooks em tempo real** (`--cli goose`, escopo de usuário + projeto) quanto para replay de **auditoria** offline de suas sessões SQLite (`~/.local/share/goose/sessions/sessions.db`). A aplicação usa o sistema de **hooks** do Goose (a especificação **Open Plugins** entre agentes) — o instalador apenas coloca um diretório de plugin em `~/.agents/plugins/failproofai/` e o Goose o descobre automaticamente. O bloqueio é feito com JSON `{"decision":"block"}` no evento `PreToolUse` (que dispara para a ferramenta shell e dentro de subagentes delegados), verificado em tempo real contra o goose v1.43.0; o Goose não possui evento de fim de turno `Stop`, portanto os builtins `require-*-before-stop` não se aplicam (assim como com o Hermes). --- @@ -90,11 +145,11 @@ antes que se tornem incidentes. Latência zero. Roda localmente. ```sh npm install -g failproofai -failproofai policies --install # ou simplesmente execute `failproofai` e aceite o prompt da primeira execução +failproofai policies --install # ou simplesmente execute `failproofai` e aceite o prompt de primeira execução failproofai ``` -30 políticas nativas são ativadas imediatamente. Dashboard disponível em `localhost:8020`. Desative o prompt da primeira execução com `FAILPROOFAI_NO_FIRST_RUN=1`. +30 políticas integradas são ativadas imediatamente. Dashboard em `localhost:8020`. Desative o prompt de primeira execução com `FAILPROOFAI_NO_FIRST_RUN=1`. --- @@ -106,16 +161,16 @@ failproofai | `block-force-push` | `git push --force` | | `block-work-on-main` | Commits, merges e rebases em `main` / `master` | | `block-rm-rf` | Exclusão recursiva de arquivos | -| `sanitize-api-keys` | Vazamento de chaves de API no contexto do agente | +| `sanitize-api-keys` | Chaves de API vazando para o contexto do agente | -→ [Todas as 30 políticas nativas](https://docs.befailproof.ai/built-in-policies) +→ [Todas as 30 políticas integradas](https://docs.befailproof.ai/built-in-policies) --- ## Suas próprias políticas -Adicione um arquivo em `.failproofai/policies/` — ele é carregado automaticamente, sem nenhuma flag necessária. -Faça o commit e toda a equipe receberá a política no próximo pull. +Adicione um arquivo em `.failproofai/policies/` — ele é carregado automaticamente, sem necessidade de flags. +Faça commit e toda a equipe recebe na próxima atualização. ```js import { customPolicies, deny, allow } from "failproofai"; @@ -136,17 +191,17 @@ Três decisões disponíveis para cada política: | Decisão | Efeito | |---|---| | `allow()` | Permite a operação | -| `deny(message)` | Bloqueia — a mensagem é enviada de volta ao agente | +| `deny(message)` | Bloqueia — a mensagem é devolvida ao agente | | `instruct(message)` | Deixa passar, mas adiciona contexto ao próximo prompt do agente | → [Guia de políticas personalizadas](https://docs.befailproof.ai/custom-policies) --- -## Visibilidade da sessão +## Visibilidade das sessões Cada chamada de ferramenta feita pelo seu agente é registrada localmente. O dashboard mostra o que foi executado, -o que foi bloqueado e o que a política comunicou ao agente — para que você não fique no escuro +o que foi bloqueado e o que a política informou ao agente — para você não ficar no escuro quando algo der errado. → [Guia do dashboard](https://docs.befailproof.ai/dashboard) --- @@ -155,30 +210,30 @@ quando algo der errado. → [Guia do dashboard](https://docs.befailproof.ai/dash | | | |---|---| -| [Primeiros Passos](https://docs.befailproof.ai/getting-started) | Instalação e primeiras etapas | -| [Políticas Nativas](https://docs.befailproof.ai/built-in-policies) | Todas as 30 políticas com parâmetros | -| [Políticas Personalizadas](https://docs.befailproof.ai/custom-policies) | Crie as suas próprias | +| [Primeiros Passos](https://docs.befailproof.ai/getting-started) | Instalação e primeiros passos | +| [Políticas Integradas](https://docs.befailproof.ai/built-in-policies) | Todas as 30 políticas com parâmetros | +| [Políticas Personalizadas](https://docs.befailproof.ai/custom-policies) | Escreva as suas próprias | | [Configuração](https://docs.befailproof.ai/configuration) | Escopos de configuração e regras de mesclagem | -| [Dashboard](https://docs.befailproof.ai/dashboard) | Monitor de sessão e atividade de políticas | +| [Dashboard](https://docs.befailproof.ai/dashboard) | Monitor de sessões e atividade de políticas | | [Arquitetura](https://docs.befailproof.ai/architecture) | Como o sistema de hooks funciona | --- ## Licença -MIT com [Commons Clause](https://commonsclause.com/) — gratuito para uso interno e pessoal; a revenda comercial do failproofai em si requer um acordo separado. Consulte [LICENSE](./LICENSE) para o texto completo. +MIT com [Commons Clause](https://commonsclause.com/) — gratuito para uso interno e pessoal; a revenda comercial do próprio failproofai requer um acordo separado. Consulte [LICENSE](./LICENSE) para o texto completo. --- ## Contribuindo -Consulte [CONTRIBUTING.md](./CONTRIBUTING.md). Novas políticas, casos extremos e traduções são sempre bem-vindos. +Consulte [CONTRIBUTING.md](./CONTRIBUTING.md). Novas políticas, casos extremos e traduções são bem-vindos. > **Faça o build antes de começar.** Execute `bun install && bun run build` primeiro. Este repositório executa -> os próprios hooks do failproofai sobre si mesmo, e eles resolvem o import `failproofai` a partir do -> bundle compilado em `dist/` — sem um build você encontrará erros de hook `Cannot find package 'failproofai'`. -> Recompile após alterar `src/`. Consulte -> [Build before the in-repo dev hooks will work](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). +> os próprios hooks do failproofai sobre si mesmo, e eles resolvem o import `failproofai` contra o +> bundle compilado `dist/` — sem um build você encontrará erros de hook `Cannot find package 'failproofai'`. +> Refaça o build após alterar `src/`. Consulte +> [Build antes que os hooks de desenvolvimento internos do repositório funcionem](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). --- diff --git a/docs/i18n/README.ru.md b/docs/i18n/README.ru.md index cdd69b6b1..b7d7356ec 100644 --- a/docs/i18n/README.ru.md +++ b/docs/i18n/README.ru.md @@ -17,72 +17,127 @@ **Переводы:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) -**Разрешение ошибок во время выполнения для кодирующих агентов.** -Подключается к Claude Code и Codex. Перехватывает циклы, опасные действия и утечки секретов -до того, как они станут инцидентами. Нулевая задержка. Работает локально. +**Разрешение ошибок времени выполнения для кодирующих агентов.** +Встраивается в Claude Code и Codex. Перехватывает циклы, опасные действия и утечки секретов +прежде чем они станут инцидентами. Нулевая задержка. Работает локально.

- failproofai в действии + Failproof AI в действии

--- ## Поддерживаемые CLI агентов -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> Установите hooks для одного или любой комбинации: `failproofai policies --install --cli opencode pi` (или `--cli claude codex copilot cursor opencode pi hermes`). Опустите `--cli` для автоматического обнаружения установленных CLI и подсказок. + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> Установите хуки для одного или любой комбинации: `failproofai policies --install --cli opencode pi` (или `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`). Опустите `--cli` для автоматического обнаружения установленных CLI и получения подсказок. +> +> **Hermes** (hermes-agent, шлюз Slack/Telegram) поддерживается как для **активной реализации хуков** (`--cli hermes` — одна установка перехватывает вызовы инструментов со всех платформ и вложенных агентов), так и для автономного **аудита** повторного воспроизведения его сеансов шлюза из `~/.hermes/state.db`. +> +> **OpenClaw** (шлюз openclaw, многоканальный ассистент с собственным размещением) поддерживается как для **активной реализации хуков** (`--cli openclaw`, область пользователя), так и для автономного **аудита** повторного воспроизведения его JSONL-сеансов (`~/.openclaw/agents//sessions/*.jsonl`). Реализация использует **встроенные плагины хуков** OpenClaw (поставляемый `openclaw-plugin/`, который асинхронно запускает failproofai — его встроенные хуки на основе файлов только для наблюдения и не могут блокировать): `before_tool_call` блокирует инструмент, а `before_agent_finalize` — это реальные ворота конца хода, поэтому встроенные `require-*-before-stop` реализуют принуждение. +> +> **Factory Droid** (`droid`) поддерживается как для **активной реализации хуков** (`--cli factory`, область пользователя + проект), так и для автономного **аудита** повторного воспроизведения его JSONL-сеансов на диске. droid блокирует вызовы инструментов по коду выхода хука **2** (не решение JSON) и соответствует `{decision:"block"}` только на события конца хода `Stop` — failproofai автоматически выдает правильную форму для каждого события. +> +> **Devin CLI** (`devin`, Cognition) поддерживается как для **активной реализации хуков** (`--cli devin`, область пользователя + проект), так и для автономного **аудита** повторного воспроизведения его SQLite-сеансов (`~/.local/share/devin/cli/sessions.db`). Devin — это **чистый клон Claude** — те же имена событий, тот же snake_case-полезные нагрузки, та же конфигурация `"hooks"`-обертки (`~/.config/devin/config.json` / `/.devin/config.json`) — блокирование через JSON `{decision:"block"}` на каждом событии. +> +> **Antigravity CLI** (`agy`) поддерживается как для **активной реализации хуков** (`--cli antigravity`, область пользователя + проект), так и для автономного **аудита** повторного воспроизведения его JSONL-сеансов (`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`). Antigravity имеет **свой** контракт (не клон Claude): схему **именованного хука** `hooks.json` (`~/.gemini/config/hooks.json` / `/.agents/hooks.json`), полезные нагрузки stdin в camelCase, которые failproofai нормализует, и свои формы ответов — `{decision:"deny"}` для блокирования инструмента, `{decision:"continue"}` для принудительного следующего хода на `Stop`, `{injectSteps}` для внедрения напоминания перед запуском модели. > -> **Hermes** (hermes-agent, шлюз Slack/Telegram) поддерживается как для **live-hook принудительного исполнения** (`--cli hermes` — одна установка перехватывает вызовы инструментов с каждой платформы и субагента), так и для автономного **аудита** воспроизведения сессий шлюза из отдельного `~/.hermes/state.db`. +> **Goose** (кодовое имя goose, Block) поддерживается как для **активной реализации хуков** (`--cli goose`, область пользователя + проект), так и для автономного **аудита** повторного воспроизведения его SQLite-сеансов (`~/.local/share/goose/sessions/sessions.db`). Реализация использует систему **хуков** Goose (кроссагентная спецификация **Open Plugins**) — установщик просто размещает каталог плагина в `~/.agents/plugins/failproofai/` и Goose автоматически обнаруживает его. Блокирование — это JSON `{"decision":"block"}` на событии `PreToolUse` (которое срабатывает для инструмента shell и внутри делегированных подагентов), подтверждено в реальном времени для goose v1.43.0; Goose не имеет события конца хода `Stop`, поэтому встроенные `require-*-before-stop` не применяются (как и в случае Hermes). --- @@ -94,19 +149,19 @@ failproofai policies --install # или просто запустите `failp failproofai ``` -30 встроенных политик активируются немедленно. Панель управления на `localhost:8020`. Отключите первую подсказку с помощью `FAILPROOFAI_NO_FIRST_RUN=1`. +30 встроенных политик активируются немедленно. Панель инструментов в `localhost:8020`. Отключите первую подсказку с помощью `FAILPROOFAI_NO_FIRST_RUN=1`. --- -## Что это блокирует +## Что это останавливает | Политика | Что она блокирует | |---|---| -| `block-push-master` | Прямые push в `main` / `master` | +| `block-push-master` | Прямые отправки в `main` / `master` | | `block-force-push` | `git push --force` | -| `block-work-on-main` | Коммиты, merges, rebases в `main` / `master` | +| `block-work-on-main` | Коммиты, слияния, перебазирование на `main` / `master` | | `block-rm-rf` | Рекурсивное удаление файлов | -| `sanitize-api-keys` | Утечки API ключей в контекст агента | +| `sanitize-api-keys` | Утечки ключей API в контекст агента | → [Все 30 встроенных политик](https://docs.befailproof.ai/built-in-policies) @@ -115,7 +170,7 @@ failproofai ## Ваши собственные политики Поместите файл в `.failproofai/policies/` — он загружается автоматически, флаги не требуются. -Закоммитьте его, и вся команда получит его при следующем pull. +Зафиксируйте его, и вся команда получит его при следующем запросе. ```js import { customPolicies, deny, allow } from "failproofai"; @@ -125,7 +180,7 @@ customPolicies.add({ match: { events: ["PreToolUse"] }, fn: async (ctx) => { if (ctx.toolInput?.file_path?.includes("production")) - return deny("Записи в production пути заблокированы."); + return deny("Writes to production paths are blocked."); return allow(); }, }); @@ -136,18 +191,18 @@ customPolicies.add({ | Решение | Эффект | |---|---| | `allow()` | Разрешить операцию | -| `deny(message)` | Заблокировать её — сообщение возвращается агенту | -| `instruct(message)` | Пропустить её, но добавить контекст в следующую подсказку агента | +| `deny(message)` | Блокировать её — сообщение возвращается агенту | +| `instruct(message)` | Пропустить, но добавить контекст к следующей подсказке агента | → [Руководство по пользовательским политикам](https://docs.befailproof.ai/custom-policies) --- -## Видимость сессии +## Видимость сеансов -Каждый вызов инструмента, который делает ваш агент, записывается локально. Панель управления показывает, что запустилось, -что было заблокировано, и что политика сообщила агенту — поэтому вы не гадаете, -когда что-то идёт не так. → [Руководство панели управления](https://docs.befailproof.ai/dashboard) +Каждый вызов инструмента, который делает ваш агент, регистрируется локально. На панели инструментов показано, что было запущено, +что было заблокировано и что политика сказала агенту — поэтому вы не гадаете, +когда что-то идет не так. → [Руководство по панели инструментов](https://docs.befailproof.ai/dashboard) --- @@ -159,8 +214,8 @@ customPolicies.add({ | [Встроенные политики](https://docs.befailproof.ai/built-in-policies) | Все 30 политик с параметрами | | [Пользовательские политики](https://docs.befailproof.ai/custom-policies) | Напишите свои | | [Конфигурация](https://docs.befailproof.ai/configuration) | Области конфигурации и правила слияния | -| [Панель управления](https://docs.befailproof.ai/dashboard) | Монитор сессии и активность политик | -| [Архитектура](https://docs.befailproof.ai/architecture) | Как работает система hooks | +| [Панель инструментов](https://docs.befailproof.ai/dashboard) | Монитор сеансов и активность политик | +| [Архитектура](https://docs.befailproof.ai/architecture) | Как работает система хуков | --- @@ -172,9 +227,10 @@ MIT с [Commons Clause](https://commonsclause.com/) — бесплатно дл ## Участие в разработке -See [CONTRIBUTING.md](./CONTRIBUTING.md). Новые политики, граничные случаи и переводы всегда приветствуются. +См. [CONTRIBUTING.md](./CONTRIBUTING.md). Новые политики, граничные случаи и переводы приветствуются. -> **Соберите проект перед началом.** Сначала запустите `bun install && bun run build`. Этот репозиторий запускает собственные hooks failproofai на себе, и они разрешают импорт `failproofai` относительно скомпилированного пакета `dist/` — без build вы получите ошибки hooks `Cannot find package 'failproofai'`. Пересоберите после изменения `src/`. See [Build before the in-repo dev hooks will work](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). +> **Соберите перед началом.** Запустите `bun install && bun run build` сначала. Это репозиторий запускает собственные хуки failproofai на себе, и они разрешают импорт `failproofai` в отношении скомпилированного пакета `dist/` — без сборки вы получите ошибки `Cannot find package 'failproofai'`. Перестройте после изменения `src/`. См. +> [Собрать перед тем, как встроенные хуки разработки будут работать](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). --- diff --git a/docs/i18n/README.tr.md b/docs/i18n/README.tr.md index 314e35042..0ebdf104f 100644 --- a/docs/i18n/README.tr.md +++ b/docs/i18n/README.tr.md @@ -17,72 +17,127 @@ **Çeviriler:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) -**Kodlama ajanları için çalışma zamanı hatası çözümü.** -Claude Code ve Codex'e bağlanır. Döngüleri, tehlikeli işlemleri ve gizli diliş sızıntılarını -olaylar haline gelmeden önce yakalar. Sıfır gecikme. Yerel olarak çalışır. +**Kodlama ajanları için çalışma zamanı hata çözümü.** +Claude Code ve Codex'e bağlanır. Döngüleri, tehlikeli eylemleri ve sır sızıntılarını +olay haline gelmeden yakalar. Sıfır gecikme. Yerel olarak çalışır.

- Failproof AI çalışmada + Failproof AI in action

--- -## Desteklenen ajan CLI'ları - -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> Bir veya herhangi bir kombinasyon için kanca yükleyin: `failproofai policies --install --cli opencode pi` (veya `--cli claude codex copilot cursor opencode pi hermes`). Yüklü CLI'ları otomatik olarak algılamak ve istemek için `--cli` öğesini atlayın. +## Desteklenen ajan CLIleri + + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> Bir veya herhangi bir kombinasyon için hook'ları kurun: `failproofai policies --install --cli opencode pi` (veya `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`). Kurulu CLIleri otomatik olarak algılamak ve isteme almak için `--cli` kısmını atlayın. +> +> **Hermes** (hermes-agent, Slack/Telegram geçidi) hem **canlı hook zorlama** (`--cli hermes` — bir kurulum her platformdan ve alt ajantan gelen araç çağrılarını engeller) hem de çevrimdışı **denetim** olarak desteklenir. Ağ geçidi oturumlarının yeniden oynatılması tek bir `~/.hermes/state.db` dosyasından yapılır. +> +> **OpenClaw** (openclaw geçidi, kendinden barındırılan çok kanallı asistan) hem **canlı hook zorlama** (`--cli openclaw`, kullanıcı kapsamı) hem de çevrimdışı **denetim** olarak desteklenir. JSONL oturumlarının yeniden oynatılması (`~/.openclaw/agents//sessions/*.jsonl`). Zorlama, OpenClaw'un **işlem içi eklenti hook'larını** kullanır (sevk edilmiş `openclaw-plugin/` failproofai'yi asenkron olarak başlatır — dosya tabanlı iç hook'ları yalnızca gözlemdir ve engellemeyi bloke edemez): `before_tool_call` bir aracı engeller ve `before_agent_finalize` gerçek bir tur sonu kapısıdır, bu nedenle `require-*-before-stop` yerleşik özellikleri zorlama uygular. +> +> **Factory Droid** (`droid`) hem **canlı hook zorlama** (`--cli factory`, kullanıcı + proje kapsamı) hem de çevrimdışı **denetim** olarak desteklenir. Disk üstündeki JSONL oturumlarının yeniden oynatılması. droid, hook **çıkış kodu 2** (JSON kararı değil) devre dışı bırakır ve `{decision:"block"}` yalnızca tur sonu `Stop` olayında onurlandırır — failproofai her olay için otomatik olarak doğru şekli yayınlar. +> +> **Devin CLI** (`devin`, Cognition) hem **canlı hook zorlama** (`--cli devin`, kullanıcı + proje kapsamı) hem de çevrimdışı **denetim** olarak desteklenir. SQLite oturumlarının yeniden oynatılması (`~/.local/share/devin/cli/sessions.db`). Devin, **saf Claude kopyası** — aynı olay adları, aynı snake_case yükü, aynı `"hooks"`-sarmalayıcı config (`~/.config/devin/config.json` / `/.devin/config.json`) — her olayda `{decision:"block"}` JSON aracılığıyla engelleme. +> +> **Antigravity CLI** (`agy`) hem **canlı hook zorlama** (`--cli antigravity`, kullanıcı + proje kapsamı) hem de çevrimdışı **denetim** olarak desteklenir. Düz JSONL oturumlarının yeniden oynatılması (`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`). Antigravity'nin **kendi** sözleşmesi vardır (Claude kopyası değil): **adlandırılmış hook** `hooks.json` şeması (`~/.gemini/config/hooks.json` / `/.agents/hooks.json`), failproofai'nin normalleştirdiği camelCase stdin yükü ve kendi yanıt şekilleri — bir aracı engellemek için `{decision:"deny"}`, `Stop` konumunda başka bir tur zorlamak için `{decision:"continue"}`, model çalışmadan önce bir hatırlatıcı enjekte etmek için `{injectSteps}`. > -> **Hermes** (hermes-agent, bir Slack/Telegram ağ geçidi) hem **canlı kanca uygulaması** (`--cli hermes` — bir kurulum her platformdan ve alt ajantan araç çağrılarını keser) hem de çevrimdışı **denetim** için desteklenir. tek `~/.hermes/state.db` dosyasından ağ geçidi oturumlarının tekrar oynatılması. +> **Goose** (kodadı goose, Block) hem **canlı hook zorlama** (`--cli goose`, kullanıcı + proje kapsamı) hem de çevrimdışı **denetim** olarak desteklenir. SQLite oturumlarının yeniden oynatılması (`~/.local/share/goose/sessions/sessions.db`). Zorlama, Goose'un **hooks** sistemini kullanır (platformlar arası **Open Plugins** spesifikasyonu) — yükleyici sadece bir eklenti dizini `~/.agents/plugins/failproofai/` konumuna bırakır ve Goose otomatik olarak keşfeder. Engelleme, `PreToolUse` olayında `{"decision":"block"}` JSON'udur (shell aracı ve devredilen alt ajanlar içinde ateşlenir), goose v1.43.0 sürümüne karşı canlı olarak doğrulanır; Goose'un `Stop` tur sonu olayı yoktur, bu nedenle `require-*-before-stop` yerleşik özellikleri uygulanmaz (Hermes'te olduğu gibi). --- @@ -90,23 +145,23 @@ olaylar haline gelmeden önce yakalar. Sıfır gecikme. Yerel olarak çalışır ```sh npm install -g failproofai -failproofai policies --install # veya sadece `failproofai` çalıştırın ve ilk çalıştırma istemini kabul edin +failproofai policies --install # veya sadece `failproofai` çalıştırın ve ilk çalışma istemini kabul edin failproofai ``` -30 yerleşik ilke hemen etkinleşir. Pano `localhost:8020` adresinde. İlk çalıştırma istemini `FAILPROOFAI_NO_FIRST_RUN=1` ile devre dışı bırakın. +30 yerleşik ilke hemen etkinleştirilir. Pano `localhost:8020` adresinde. `FAILPROOFAI_NO_FIRST_RUN=1` ile ilk çalışma istemini devre dışı bırakın. --- -## Neleri durdurur +## Ne engeller -| İlke | Neyi engeller | +| İlke | Ne engeller | |---|---| -| `block-push-master` | `main` / `master` öğesine doğrudan itme işlemleri | +| `block-push-master` | `main` / `master` direktif gönderileri | | `block-force-push` | `git push --force` | -| `block-work-on-main` | `main` / `master` üzerine işlemeler, birleştirmeler, yeniden temeller | +| `block-work-on-main` | `main` / `master` üzerinde işlemeler, birleştirmeler, taban değişiklikleri | | `block-rm-rf` | Özyinelemeli dosya silme | -| `sanitize-api-keys` | API anahtarlarının ajan bağlamına sızması | +| `sanitize-api-keys` | Ajan bağlamına sızan API anahtarları | → [Tüm 30 yerleşik ilke](https://docs.befailproof.ai/built-in-policies) @@ -114,8 +169,8 @@ failproofai ## Kendi ilkeleriniz -`.failproofai/policies/` içine bir dosya bırakın — otomatik olarak yüklenir, bayrak gerekmez. -Taahhüt edin ve tüm takım bir sonraki çekişte alacaktır. +`.failproofai/policies/` dizinine bir dosya bırakın — otomatik olarak yüklenir, bayrak gerekmez. +Bunu commit edin ve tüm takım sonraki çekme sırasında alır. ```js import { customPolicies, deny, allow } from "failproofai"; @@ -125,19 +180,19 @@ customPolicies.add({ match: { events: ["PreToolUse"] }, fn: async (ctx) => { if (ctx.toolInput?.file_path?.includes("production")) - return deny("Üretim yollarına yazma işlemleri engellendi."); + return deny("Production yollarına yazma işlemleri engellenir."); return allow(); }, }); ``` -Her ilkeye sunulan üç karar: +Her ilke için mevcut olan üç karar: | Karar | Etki | |---|---| | `allow()` | İşleme izin ver | | `deny(message)` | Engelle — ileti ajana geri gider | -| `instruct(message)` | İzin ver, ama ajana sonraki tavsiyeye bağlam ekle | +| `instruct(message)` | Bunu geçir ama ajanın sonraki istemesine bağlam ekle | → [Özel ilkeler rehberi](https://docs.befailproof.ai/custom-policies) @@ -145,9 +200,9 @@ Her ilkeye sunulan üç karar: ## Oturum görünürlüğü -Ajanınızın yaptığı her araç çağrısı yerel olarak günlüğe kaydedilir. Pano neyin çalıştığını, -neyin engellediğini ve ilkenin ajana ne söylediğini gösterir — böylece bir şey -yanlış gittiğinde tahmin etmezsiniz. → [Pano rehberi](https://docs.befailproof.ai/dashboard) +Ajanınızın yaptığı her araç çağrısı yerel olarak kaydedilir. Pano ne çalıştığını, +ne engellediğini ve ilkenin ajana ne söylediğini gösterir — bu nedenle +bir şey ters gittiğinde tahmin etmiyorsunuz. → [Pano rehberi](https://docs.befailproof.ai/dashboard) --- @@ -156,27 +211,27 @@ yanlış gittiğinde tahmin etmezsiniz. → [Pano rehberi](https://docs.befailpr | | | |---|---| | [Başlangıç](https://docs.befailproof.ai/getting-started) | Kurulum ve ilk adımlar | -| [Yerleşik İlkeler](https://docs.befailproof.ai/built-in-policies) | Tüm 30 ilke ve parametreleri | -| [Özel İlkeler](https://docs.befailproof.ai/custom-policies) | Kendi ilkelerinizi yazın | -| [Yapılandırma](https://docs.befailproof.ai/configuration) | Yapılandırma kapsamları ve birleştirme kuralları | +| [Yerleşik İlkeler](https://docs.befailproof.ai/built-in-policies) | 30 ilkenin tümü parametreler ile | +| [Özel İlkeler](https://docs.befailproof.ai/custom-policies) | Kendi kurallarınızı yazın | +| [Yapılandırma](https://docs.befailproof.ai/configuration) | Konfigürasyon kapsamları ve birleştirme kuralları | | [Pano](https://docs.befailproof.ai/dashboard) | Oturum monitörü ve ilke etkinliği | -| [Mimari](https://docs.befailproof.ai/architecture) | Kanca sistemi nasıl çalışır | +| [Mimari](https://docs.befailproof.ai/architecture) | Hook sistemi nasıl çalışır | --- ## Lisans -MIT ve [Commons Clause](https://commonsclause.com/) — dahili ve kişisel kullanım için ücretsiz; failproofai'nin ticari yeniden satışı ayrı bir anlaşma gerektirir. Tam metin için [LICENSE](./LICENSE) bölümüne bakın. +MIT ile [Commons Clause](https://commonsclause.com/) — iç ve kişisel kullanım için ücretsiz; failproofai'nin kendisinin ticari yeniden satışı ayrı bir anlaşma gerektirir. Tam metin için [LİSANS](./LICENSE) bölümüne bakın. --- -## Katkıda bulunmak +## Katkı Sağlama -[CONTRIBUTING.md](./CONTRIBUTING.md) bölümüne bakın. Yeni ilkeler, sınır durumları ve çeviriler hepsi hoş geldiniz. +[CONTRIBUTING.md](./CONTRIBUTING.md) dosyasına bakın. Yeni ilkeler, uç durumlar ve çeviriler hoş geldiniz. -> **Başlamadan önce derleyin.** Önce `bun install && bun run build` komutunu çalıştırın. Bu depo, failproofai'nin kendi kancalarını kendisinde çalıştırır ve `failproofai` ithalatını derlenmiş `dist/` paketi karşı çözer — bir derleme olmadan `Cannot find package 'failproofai'` kanca hatalarına çarparsınız. `src/` değişikliğinden sonra yeniden derleyin. [Depo içi geliştirme kanalarının çalışması için önce derleme](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work) bölümüne bakın. +> **Başlamadan önce derleyin.** Önce `bun install && bun run build` çalıştırın. Bu depo failproofai'nin kendi hook'larını kendisinde çalıştırır ve `failproofai` içe aktarılmasını derlenmiş `dist/` paketine karşı çözerler — derleme olmadan `Cannot find package 'failproofai'` hook hataları alırsınız. `src/` değiştirildikten sonra yeniden derleyin. Bkz. [In-repo dev hook'larının çalışması için önce derleyin](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). --- -[Nivedit Jain](https://github.com/NiveditJain) ve [Nikita Agarwal](https://github.com/nk-ag) tarafından oluşturulmuştur. +Tarafından yapıldı [Nivedit Jain](https://github.com/NiveditJain) ve [Nikita Agarwal](https://github.com/nk-ag). [befailproof.ai](https://befailproof.ai) diff --git a/docs/i18n/README.vi.md b/docs/i18n/README.vi.md index c84f2b3eb..2ba5c51ca 100644 --- a/docs/i18n/README.vi.md +++ b/docs/i18n/README.vi.md @@ -15,11 +15,11 @@ [![Docs](https://img.shields.io/badge/docs-befailproof.ai-002CA7?style=flat-square)](https://docs.befailproof.ai/introduction) [![License](https://img.shields.io/badge/license-MIT%20%2B%20Commons%20Clause-blue?style=flat-square)](./LICENSE) -**Dịch:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) +**Bản dịch:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) -**Giải quyết sự cố runtime cho các agents lập trình.** -Kết nối với Claude Code và Codex. Bắt các vòng lặp, hành động nguy hiểm và rò rỉ bí mật -trước khi chúng trở thành sự cố. Độ trễ bằng không. Chạy cục bộ. +**Giải quyết lỗi thời gian chạy cho các agent mã hóa.** +Tích hợp vào Claude Code và Codex. Phát hiện các vòng lặp, hành động nguy hiểm và rò rỉ bí mật +trước khi chúng trở thành sự cố. Không độ trễ. Chạy cục bộ. @@ -31,58 +31,113 @@ trước khi chúng trở thành sự cố. Độ trễ bằng không. Chạy c ## Các CLI agent được hỗ trợ -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> Cài đặt hooks cho một hoặc bất kỳ tổ hợp nào: `failproofai policies --install --cli opencode pi` (hoặc `--cli claude codex copilot cursor opencode pi hermes`). Bỏ qua `--cli` để tự động phát hiện các CLI được cài đặt và nhắc lựa chọn. + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> Cài đặt hook cho một hoặc bất kỳ sự kết hợp nào: `failproofai policies --install --cli opencode pi` (hoặc `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`). Bỏ qua `--cli` để tự động phát hiện CLI đã cài đặt và nhắc nhở. +> +> **Hermes** (hermes-agent, một gateway Slack/Telegram) được hỗ trợ cho cả **cụ thể thực thi hook trực tiếp** (`--cli hermes` — một lần cài đặt chặn lệnh gọi công cụ từ mọi nền tảng và agent phụ) và **kiểm tra** ngoại tuyến phát lại các phiên gateway từ `~/.hermes/state.db` duy nhất. +> +> **OpenClaw** (openclaw gateway, một assistant đa kênh tự lưu trữ) được hỗ trợ cho cả **cụ thể thực thi hook trực tiếp** (`--cli openclaw`, phạm vi người dùng) và **kiểm tra** ngoại tuyến phát lại các phiên JSONL của nó (`~/.openclaw/agents//sessions/*.jsonl`). Cụ thể sử dụng **hook plugin quy trình OpenClaw** (một `openclaw-plugin/` được gửi kèm theo hệ thống tạo failproofai không đồng bộ — hook nội bộ dựa trên tệp của nó chỉ quan sát và không thể chặn): `before_tool_call` chặn một công cụ, và `before_agent_finalize` là một cổng turn-end thực, vì vậy các builtins `require-*-before-stop` cũng cụ thể. +> +> **Factory Droid** (`droid`) được hỗ trợ cho cả **cụ thể thực thi hook trực tiếp** (`--cli factory`, phạm vi người dùng + dự án) và **kiểm tra** ngoại tuyến phát lại các phiên JSONL trên đĩa của nó. droid chặn lệnh gọi công cụ ngoài mã thoát hook **2** (không phải quyết định JSON) và chỉ tôn trọng `{decision:"block"}` trên sự kiện turn-end `Stop` — failproofai phát ra hình dạng phù hợp cho mỗi sự kiện tự động. +> +> **Devin CLI** (`devin`, Cognition) được hỗ trợ cho cả **cụ thể thực thi hook trực tiếp** (`--cli devin`, phạm vi người dùng + dự án) và **kiểm tra** ngoại tuyến phát lại các phiên SQLite của nó (`~/.local/share/devin/cli/sessions.db`). Devin là một **bản sao Claude tinh khiết** — cùng tên sự kiện, cùng tải trọng snake_case, cùng cấu hình `hooks`-wrapper (`~/.config/devin/config.json` / `/.devin/config.json`) — chặn thông qua JSON `{decision:"block"}` trên mọi sự kiện. +> +> **Antigravity CLI** (`agy`) được hỗ trợ cho cả **cụ thể thực thi hook trực tiếp** (`--cli antigravity`, phạm vi người dùng + dự án) và **kiểm tra** ngoại tuyến phát lại các phiên JSONL thuần của nó (`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`). Antigravity có **riêng** hợp đồng của nó (không phải bản sao Claude): một sơ đồ `hooks.json` **hook có tên** (`~/.gemini/config/hooks.json` / `/.agents/hooks.json`), tải trọng stdin camelCase mà failproofai chuẩn hóa, và các hình dạng phản hồi của riêng nó — `{decision:"deny"}` để chặn một công cụ, `{decision:"continue"}` để buộc một turn khác tại `Stop`, `{injectSteps}` để tiêm một lời nhắc trước khi mô hình chạy. > -> **Hermes** (hermes-agent, một gateway Slack/Telegram) được hỗ trợ cho cả **thực thi live-hook** (`--cli hermes` — một cài đặt chặn các lệnh gọi công cụ từ mọi nền tảng và subagent) và **kiểm toán** ngoại tuyến của các phiên gateway của nó từ `~/.hermes/state.db` duy nhất. +> **Goose** (codename goose, Block) được hỗ trợ cho cả **cụ thể thực thi hook trực tiếp** (`--cli goose`, phạm vi người dùng + dự án) và **kiểm tra** ngoại tuyến phát lại các phiên SQLite của nó (`~/.local/share/goose/sessions/sessions.db`). Cụ thể sử dụng hệ thống **hooks** của Goose (spec **Open Plugins** xuyên agent) — bộ cài đặt chỉ thả một thư mục plugin tại `~/.agents/plugins/failproofai/` và Goose tự động phát hiện nó. Chặn là JSON `{"decision":"block"}` trên sự kiện `PreToolUse` (kích hoạt cho công cụ shell và bên trong các agent phụ được ủy quyền), được xác minh trực tiếp với goose v1.43.0; Goose không có sự kiện turn-end `Stop`, vì vậy các builtins `require-*-before-stop` không áp dụng (như với Hermes). --- @@ -94,17 +149,17 @@ failproofai policies --install # hoặc chỉ chạy `failproofai` và chấp failproofai ``` -30 chính sách tích hợp kích hoạt ngay lập tức. Bảng điều khiển tại `localhost:8020`. Tắt lời nhắc lần đầu với `FAILPROOFAI_NO_FIRST_RUN=1`. +30 chính sách tích hợp được kích hoạt ngay lập tức. Bảng điều khiển tại `localhost:8020`. Tắt lời nhắc lần đầu bằng `FAILPROOFAI_NO_FIRST_RUN=1`. --- -## Những gì nó chặn +## Những gì nó ngăn chặn | Chính sách | Những gì nó chặn | |---|---| | `block-push-master` | Đẩy trực tiếp đến `main` / `master` | | `block-force-push` | `git push --force` | -| `block-work-on-main` | Commits, merges, rebases trên `main` / `master` | +| `block-work-on-main` | Cam kết, hợp nhất, rebase trên `main` / `master` | | `block-rm-rf` | Xóa tệp đệ quy | | `sanitize-api-keys` | Các khóa API rò rỉ vào ngữ cảnh agent | @@ -114,8 +169,8 @@ failproofai ## Các chính sách của riêng bạn -Thả một tệp vào `.failproofai/policies/` — nó tải tự động, không cần cờ nào. -Commit nó và toàn bộ nhóm sẽ nhận được nó trong pull tiếp theo. +Thả một tệp vào `.failproofai/policies/` — nó tải tự động, không cần cờ. +Cam kết nó và toàn bộ nhóm sẽ nhận được nó vào lần kéo tiếp theo. ```js import { customPolicies, deny, allow } from "failproofai"; @@ -125,7 +180,7 @@ customPolicies.add({ match: { events: ["PreToolUse"] }, fn: async (ctx) => { if (ctx.toolInput?.file_path?.includes("production")) - return deny("Ghi vào các đường dẫn production bị chặn."); + return deny("Writes to production paths are blocked."); return allow(); }, }); @@ -136,8 +191,8 @@ Ba quyết định có sẵn cho mọi chính sách: | Quyết định | Hiệu ứng | |---|---| | `allow()` | Cho phép hoạt động | -| `deny(message)` | Chặn nó — thông báo quay lại agent | -| `instruct(message)` | Cho phép thực hiện, nhưng thêm ngữ cảnh vào lời nhắc tiếp theo của agent | +| `deny(message)` | Chặn nó — thông báo quay trở lại agent | +| `instruct(message)` | Để nó đi qua, nhưng thêm ngữ cảnh vào lời nhắc tiếp theo của agent | → [Hướng dẫn chính sách tùy chỉnh](https://docs.befailproof.ai/custom-policies) @@ -146,8 +201,8 @@ Ba quyết định có sẵn cho mọi chính sách: ## Khả năng hiển thị phiên Mọi lệnh gọi công cụ mà agent của bạn thực hiện đều được ghi nhật ký cục bộ. Bảng điều khiển hiển thị những gì đã chạy, -những gì bị chặn và những gì chính sách đã nói với agent — để bạn không phải đoán -khi có sự cố. → [Hướng dẫn bảng điều khiển](https://docs.befailproof.ai/dashboard) +những gì bị chặn và những gì chính sách đã nói với agent — vì vậy bạn không phải đoán +khi có điều gì đó không ổn. → [Hướng dẫn bảng điều khiển](https://docs.befailproof.ai/dashboard) --- @@ -155,9 +210,9 @@ khi có sự cố. → [Hướng dẫn bảng điều khiển](https://docs.befa | | | |---|---| -| [Bắt đầu](https://docs.befailproof.ai/getting-started) | Cài đặt và các bước đầu tiên | +| [Bắt đầu](https://docs.befailproof.ai/getting-started) | Cài đặt và bước đầu tiên | | [Chính sách tích hợp](https://docs.befailproof.ai/built-in-policies) | Tất cả 30 chính sách với các tham số | -| [Chính sách tùy chỉnh](https://docs.befailproof.ai/custom-policies) | Viết chính sách của riêng bạn | +| [Chính sách tùy chỉnh](https://docs.befailproof.ai/custom-policies) | Viết của riêng bạn | | [Cấu hình](https://docs.befailproof.ai/configuration) | Phạm vi cấu hình và quy tắc hợp nhất | | [Bảng điều khiển](https://docs.befailproof.ai/dashboard) | Giám sát phiên và hoạt động chính sách | | [Kiến trúc](https://docs.befailproof.ai/architecture) | Cách hệ thống hook hoạt động | @@ -166,19 +221,19 @@ khi có sự cố. → [Hướng dẫn bảng điều khiển](https://docs.befa ## Giấy phép -MIT với [Commons Clause](https://commonsclause.com/) — miễn phí cho việc sử dụng nội bộ và cá nhân; bán lại failproofai yêu cầu một thỏa thuận riêng. Xem [LICENSE](./LICENSE) để biết toàn bộ văn bản. +MIT với [Commons Clause](https://commonsclause.com/) — miễn phí cho việc sử dụng nội bộ và cá nhân; bán lại thương mại của failproofai yêu cầu một thỏa thuận riêng. Xem [LICENSE](./LICENSE) để có toàn bộ văn bản. --- ## Đóng góp -Xem [CONTRIBUTING.md](./CONTRIBUTING.md). Các chính sách mới, trường hợp đặc biệt và bản dịch đều được chào đón. +Xem [CONTRIBUTING.md](./CONTRIBUTING.md). Các chính sách mới, trường hợp cạnh và bản dịch đều được chào đón. -> **Xây dựng trước khi bắt đầu.** Chạy `bun install && bun run build` trước. Repository này chạy -> các hook riêng của failproofai trên chính nó, và chúng giải quyết nhập `failproofai` dựa trên -> gói `dist/` được biên dịch — nếu không có bản dựng, bạn sẽ gặp lỗi hook `Cannot find package 'failproofai'`. -> Xây dựng lại sau khi thay đổi `src/`. Xem -> [Build before the in-repo dev hooks will work](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). +> **Xây dựng trước khi bắt đầu.** Chạy `bun install && bun run build` trước tiên. Kho lưu trữ này chạy +> các hook của failproofai trên chính nó, và chúng giải quyết nhập `failproofai` so với +> gói biên dịch `dist/` — mà không cần xây dựng bạn sẽ gặp `Cannot find package 'failproofai'` +> lỗi hook. Xây dựng lại sau khi thay đổi `src/`. Xem +> [Xây dựng trước khi các hook dev trong repo sẽ hoạt động](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work). --- diff --git a/docs/i18n/README.zh.md b/docs/i18n/README.zh.md index 32269ce76..83ae5fdd3 100644 --- a/docs/i18n/README.zh.md +++ b/docs/i18n/README.zh.md @@ -15,10 +15,10 @@ [![Docs](https://img.shields.io/badge/docs-befailproof.ai-002CA7?style=flat-square)](https://docs.befailproof.ai/introduction) [![License](https://img.shields.io/badge/license-MIT%20%2B%20Commons%20Clause-blue?style=flat-square)](./LICENSE) -**翻译版本:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) +**翻译:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Русский](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) -**面向编程智能体的运行时故障修复工具。** -接入 Claude Code 和 Codex,在循环、危险操作和密钥泄露演变成事故之前将其拦截。零延迟,本地运行。 +**为编程 Agent 提供运行时故障处理能力。** +接入 Claude Code 和 Codex,在死循环、危险操作和密钥泄露演变为事故之前将其拦截。零延迟,本地运行。 @@ -28,60 +28,115 @@ --- -## 支持的智能体 CLI - -

- - Claude Code - -        - - - - OpenAI Codex - - -        - - - - GitHub Copilot - - -        - - - - Cursor Agent - - -

-

- - - - OpenCode - - -        - - - - Pi - - -        - - - - Hermes - - -

- -> 可为一个或多个 CLI 安装 hooks:`failproofai policies --install --cli opencode pi`(或 `--cli claude codex copilot cursor opencode pi hermes`)。省略 `--cli` 参数将自动检测已安装的 CLI 并提示选择。 +## 支持的 Agent CLI + + + + + + + + + + + + + + + + + + + +
+ + Claude Code + + + + + + OpenAI Codex + + + + + + + GitHub Copilot + + + + + + + Cursor Agent + + + + + + + OpenCode + + + + + + + Pi + + +
+ + + + Hermes + + + + + OpenClaw + + + + + + Factory Droid + + + + + Devin CLI + + + + Antigravity CLI + + + + + + Goose + + +
+ +> 可为单个或任意组合的 CLI 安装 Hook:`failproofai policies --install --cli opencode pi`(或 `--cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose`)。省略 `--cli` 则自动检测已安装的 CLI 并提示选择。 +> +> **Hermes**(hermes-agent,一个 Slack/Telegram 网关)同时支持**实时 Hook 执行**(`--cli hermes` — 一次安装即可拦截所有平台和子 Agent 的工具调用)和对其网关会话(单一 `~/.hermes/state.db`)的离线**审计**回放。 +> +> **OpenClaw**(openclaw gateway,一个自托管的多渠道助手)同时支持**实时 Hook 执行**(`--cli openclaw`,用户级作用域)和对其 JSONL 会话(`~/.openclaw/agents//sessions/*.jsonl`)的离线**审计**回放。执行依赖 OpenClaw 的**进程内插件 Hook**(随附的 `openclaw-plugin/` 会异步启动 failproofai — 其基于文件的内部 Hook 仅供观测,无法阻断):`before_tool_call` 可阻断工具调用,`before_agent_finalize` 是真正的轮次结束门控,因此内置的 `require-*-before-stop` 策略生效。 +> +> **Factory Droid**(`droid`)同时支持**实时 Hook 执行**(`--cli factory`,用户 + 项目级作用域)和对其磁盘 JSONL 会话的离线**审计**回放。droid 通过 Hook **退出码 2**(而非 JSON 决策)阻断工具调用,且仅在轮次结束的 `Stop` 事件上识别 `{decision:"block"}` — failproofai 会自动根据事件类型输出正确格式。 +> +> **Devin CLI**(`devin`,Cognition)同时支持**实时 Hook 执行**(`--cli devin`,用户 + 项目级作用域)和对其 SQLite 会话(`~/.local/share/devin/cli/sessions.db`)的离线**审计**回放。Devin 是 **Claude 的纯克隆** — 事件名称相同,snake_case 负载相同,`"hooks"` 包装配置相同(`~/.config/devin/config.json` / `/.devin/config.json`)— 所有事件均通过 `{decision:"block"}` JSON 进行阻断。 +> +> **Antigravity CLI**(`agy`)同时支持**实时 Hook 执行**(`--cli antigravity`,用户 + 项目级作用域)和对其纯 JSONL 会话(`~/.gemini/antigravity-cli/brain//…/transcript_full.jsonl`)的离线**审计**回放。Antigravity 有其**自有**协议(非 Claude 克隆):采用**命名 Hook** 的 `hooks.json` 模式(`~/.gemini/config/hooks.json` / `/.agents/hooks.json`),以及 failproofai 会自动规范化的 camelCase stdin 负载和专属响应格式 — `{decision:"deny"}` 阻断工具,`{decision:"continue"}` 在 `Stop` 时强制再次轮转,`{injectSteps}` 在模型运行前注入提示。 > -> **Hermes**(hermes-agent,一个 Slack/Telegram 网关)同时支持**实时 hook 执行**(`--cli hermes` — 一次安装即可拦截所有平台和子智能体的工具调用)以及离线**审计**回放,可从单一的 `~/.hermes/state.db` 文件回放其网关会话。 +> **Goose**(代号 goose,Block)同时支持**实时 Hook 执行**(`--cli goose`,用户 + 项目级作用域)和对其 SQLite 会话(`~/.local/share/goose/sessions/sessions.db`)的离线**审计**回放。执行依赖 Goose 的 **hooks** 系统(跨 Agent 的 **Open Plugins** 规范)— 安装程序只需在 `~/.agents/plugins/failproofai/` 下放置一个插件目录,Goose 会自动发现它。阻断方式为在 `PreToolUse` 事件上返回 `{"decision":"block"}` JSON(该事件在 shell 工具调用及委托给子 Agent 时均会触发),已针对 goose v1.43.0 验证;Goose 没有轮次结束的 `Stop` 事件,因此内置的 `require-*-before-stop` 策略不适用(与 Hermes 相同)。 --- @@ -89,11 +144,11 @@ ```sh npm install -g failproofai -failproofai policies --install # 或直接运行 `failproofai` 并接受首次运行提示 +failproofai policies --install # 或直接运行 `failproofai` 并在首次运行提示时确认 failproofai ``` -30 条内置策略即时生效。访问 `localhost:8020` 查看控制台。使用 `FAILPROOFAI_NO_FIRST_RUN=1` 禁用首次运行提示。 +30 条内置策略立即生效。控制台地址:`localhost:8020`。通过设置 `FAILPROOFAI_NO_FIRST_RUN=1` 可禁用首次运行提示。 --- @@ -101,11 +156,11 @@ failproofai | 策略 | 拦截内容 | |---|---| -| `block-push-master` | 直接推送到 `main` / `master` 分支 | +| `block-push-master` | 直接推送到 `main` / `master` | | `block-force-push` | `git push --force` | | `block-work-on-main` | 在 `main` / `master` 上提交、合并、变基 | | `block-rm-rf` | 递归删除文件 | -| `sanitize-api-keys` | API 密钥泄露到智能体上下文 | +| `sanitize-api-keys` | API 密钥泄露到 Agent 上下文中 | → [全部 30 条内置策略](https://docs.befailproof.ai/built-in-policies) @@ -113,7 +168,8 @@ failproofai ## 自定义策略 -将文件放入 `.failproofai/policies/` 目录即可自动加载,无需任何额外参数。提交到代码库后,团队所有成员在下次拉取时即可生效。 +将文件放入 `.failproofai/policies/` 目录即可自动加载,无需任何标志。 +提交到代码库后,团队所有成员在下次拉取时即可获得该策略。 ```js import { customPolicies, deny, allow } from "failproofai"; @@ -134,8 +190,8 @@ customPolicies.add({ | 决策 | 效果 | |---|---| | `allow()` | 允许该操作 | -| `deny(message)` | 阻止该操作——消息将返回给智能体 | -| `instruct(message)` | 放行该操作,但向智能体的下一个提示词中追加上下文信息 | +| `deny(message)` | 阻断操作 — 消息将返回给 Agent | +| `instruct(message)` | 放行操作,但在 Agent 的下一次提示中附加上下文信息 | → [自定义策略指南](https://docs.befailproof.ai/custom-policies) @@ -143,7 +199,7 @@ customPolicies.add({ ## 会话可见性 -智能体发起的每次工具调用都会在本地记录日志。控制台展示已执行的操作、被拦截的操作以及策略向智能体反馈的内容——让你在出现问题时不再茫然无措。→ [控制台指南](https://docs.befailproof.ai/dashboard) +Agent 发起的每次工具调用均会在本地记录。控制台展示了哪些操作被执行、哪些被拦截,以及策略向 Agent 返回了什么信息 — 出现问题时无需猜测。→ [控制台指南](https://docs.befailproof.ai/dashboard) --- @@ -152,8 +208,8 @@ customPolicies.add({ | | | |---|---| | [快速上手](https://docs.befailproof.ai/getting-started) | 安装与入门步骤 | -| [内置策略](https://docs.befailproof.ai/built-in-policies) | 全部 30 条策略及参数说明 | -| [自定义策略](https://docs.befailproof.ai/custom-policies) | 编写自己的策略 | +| [内置策略](https://docs.befailproof.ai/built-in-policies) | 全部 30 条策略及其参数 | +| [自定义策略](https://docs.befailproof.ai/custom-policies) | 编写你自己的策略 | | [配置](https://docs.befailproof.ai/configuration) | 配置作用域与合并规则 | | [控制台](https://docs.befailproof.ai/dashboard) | 会话监控与策略活动 | | [架构](https://docs.befailproof.ai/architecture) | Hook 系统的工作原理 | @@ -162,17 +218,17 @@ customPolicies.add({ ## 许可证 -MIT 附加 [Commons Clause](https://commonsclause.com/) — 免费用于内部和个人用途;将 failproofai 本身作为商业产品转售需另行签订协议。完整条款请参阅 [LICENSE](./LICENSE)。 +MIT 附加 [Commons Clause](https://commonsclause.com/) — 个人及内部使用免费;以 failproofai 本身进行商业转售需另行签订协议。完整条款请参见 [LICENSE](./LICENSE)。 --- ## 贡献 -请参阅 [CONTRIBUTING.md](./CONTRIBUTING.md)。欢迎贡献新策略、边界用例和翻译内容。 +请参阅 [CONTRIBUTING.md](./CONTRIBUTING.md)。欢迎贡献新策略、边界情况处理和翻译。 -> **开始前请先构建项目。** 首先运行 `bun install && bun run build`。本仓库会对自身运行 failproofai 的 hooks,这些 hooks 从编译后的 `dist/` 包中解析 `failproofai` 导入——如果未执行构建,将会遇到 `Cannot find package 'failproofai'` hook 错误。修改 `src/` 后需重新构建。详见 [构建后才能使用仓库内开发 hooks](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work)。 +> **开始前请先构建项目。** 首先运行 `bun install && bun run build`。本仓库在自身上运行 failproofai 的 Hook,它们会将 `failproofai` 导入解析到已编译的 `dist/` 包 — 若未构建,你将遇到 `Cannot find package 'failproofai'` Hook 错误。修改 `src/` 后请重新构建。详见 [构建后才能使用仓库内开发 Hook](./CONTRIBUTING.md#build-before-the-in-repo-dev-hooks-will-work)。 --- -由 [Nivedit Jain](https://github.com/NiveditJain) 和 [Nikita Agarwal](https://github.com/nk-ag) 共同打造。 +由 [Nivedit Jain](https://github.com/NiveditJain) 和 [Nikita Agarwal](https://github.com/nk-ag) 构建。 [befailproof.ai](https://befailproof.ai)