Skip to content

Latest commit

 

History

History
178 lines (135 loc) · 9.65 KB

File metadata and controls

178 lines (135 loc) · 9.65 KB

⚠️ This is an auto-generated translation. For the latest version, see the English README. Community corrections welcome!

🇺🇸 English | 🇨🇳 简体中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇪🇸 Español | 🇧🇷 Português | 🇩🇪 Deutsch | 🇫🇷 Français | 🇷🇺 Русский | 🇮🇳 हिन्दी | 🇹🇷 Türkçe | 🇻🇳 Tiếng Việt | 🇮🇹 Italiano | 🇸🇦 العربية | 🇮🇱 עברית


failproof ai

npm CI Supply Chain Slack Docs License

Переводы: 简体中文 · 日本語 · 한국어 · Español · Português · Deutsch · Français · Русский · हिन्दी · Türkçe · Tiếng Việt · Italiano · العربية · עברית

Разрешение ошибок во время выполнения для кодирующих агентов. Интегрируется с Claude Code и Codex. Перехватывает циклы, опасные действия и утечки секретов до того, как они станут инцидентами. Нулевая задержка. Работает локально.

Failproof AI в действии


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

Claude Code        OpenAI Codex        GitHub Copilot        Cursor Agent

OpenCode        Pi        Gemini CLI

Установите hooks для одного или любой комбинации: failproofai policies --install --cli opencode pi gemini (или --cli claude codex copilot cursor opencode pi gemini). Пропустите --cli для автоматического определения установленных CLI и запроса.


Установка

npm install -g failproofai
failproofai policies --install   # или просто запустите `failproofai` и примите приглашение при первом запуске
failproofai

30 встроенных политик активируются немедленно. Панель управления на localhost:8020. Отключите приглашение при первом запуске с помощью FAILPROOFAI_NO_FIRST_RUN=1.


Что оно блокирует

Политика Что блокируется
block-push-master Прямые push в main / master
block-force-push git push --force
block-work-on-main Коммиты, слияния, переносы на main / master
block-rm-rf Рекурсивное удаление файлов
sanitize-api-keys Утечки API-ключей в контекст агента

Все 30 встроенных политик


Ваши собственные политики

Поместите файл в .failproofai/policies/ — он загружается автоматически, флаги не требуются. Отправьте его, и вся команда получит его при следующем pull.

import { customPolicies, deny, allow } from "failproofai";

customPolicies.add({
  name: "no-production-writes",
  match: { events: ["PreToolUse"] },
  fn: async (ctx) => {
    if (ctx.toolInput?.file_path?.includes("production"))
      return deny("Writes to production paths are blocked.");
    return allow();
  },
});

Три решения доступны каждой политике:

Решение Эффект
allow() Разрешить операцию
deny(message) Заблокировать — сообщение вернётся к агенту
instruct(message) Пропустить, но добавить контекст в следующий запрос агента

Руководство по пользовательским политикам


Видимость сеанса

Каждый вызов инструмента, который делает ваш агент, логируется локально. Панель управления показывает, что было запущено, что было заблокировано и что политика сказала агенту — так что вы не гадаете, когда что-то идёт не так. → Руководство по панели управления


Документация

Начало работы Установка и первые шаги
Встроенные политики Все 30 политик с параметрами
Пользовательские политики Напишите свои собственные
Конфигурация Области конфигурации и правила слияния
Панель управления Монитор сеанса и активность политик
Архитектура Как работает система hooks

Лицензия

MIT с Commons Clause — бесплатна для внутреннего и личного использования; коммерческая перепродажа самого failproofai требует отдельного соглашения. Полный текст см. в LICENSE.


Вклад

См. CONTRIBUTING.md. Новые политики, граничные случаи и переводы приветствуются.


Разработано Nivedit Jain и Nikita Agarwal. befailproof.ai