failproofai

FailproofAI活跃维护

给 AI Agent 运行框架加上可观测与策略执行层,记录每次运行轨迹,并实时拦截违规行为,提升运行时可靠性。

Observability and enforcement for AI agent harnesses. Capture every run and runtime reliability with policy enforcement.

v1.0.13发布于 2026-11-02 10:27 UTC8,305star +84 / 7 天574fork同步于 2026-11-10 05:31 UTC

怎么上手

由 README 提炼,执行前请确认
npm install -g failproofai
failproofai config
failproofai policies add FailproofAI/policies
failproofai
硬件要求按 README 说明

README 未说明;工具本地运行,未提及 GPU 或显存要求

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

给 AI 编码代理做运行观测和策略拦截的本地工具,记录每次运行并在工具调用执行前拦截危险操作

给 AI Agent 运行框架加上可观测与策略执行层,记录每次运行轨迹,并实时拦截违规行为,提升运行时可靠性。

核心能力

  • 接入 Claude Code、Codex 等 12 种代理 harness,统一策略 API 和会话历史
  • 在工具调用执行前拦截,内置 40 条策略如禁读 .env、禁 sudo、禁 rm -rf
  • 支持在 .failproofai/policies/ 写自定义策略,返回 allow/deny/instruct 三种决策
  • 本地仪表盘在 localhost:8020 展示会话、模型调用、工具调用和拦截记录
  • failproofai audit 离线扫描历史,找出风险模式并推荐策略

容易踩的坑

setup 默认不装任何策略,必须再执行 policies add 才有拦截效果;block-failproofai-commands 始终开启且无法关闭或暂停;无终端环境(CI、容器)下 config 会直接应用而不询问,可用 FAILPROOFAI_NO_FIRST_RUN=1 关闭首次运行向导

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README
这个条目还没有人工点评。如果它对你很有用,欢迎到 提交仓库 页写下你的使用经验。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    最近发版

    5 个版本v1.0.13
    1. v1.0.13FailproofAI v1.0.13最新正式版2026-11-02 · 2026-11-02 10:27 UTC

      failproofai 1.0.13

      This release restores policy enforcement on OpenClaw 2026.9.6+ and on Antigravity's current file tools, and makes daemon setup work on Fedora, RHEL, Rocky and Alma.

      Fixes

      Antigravity

      • Path policies enforce again. Antigravity's read_file, write_file and edit_file tools were not recognized, so path-based policies and the guard protecting failproofai's own config saw no path and allowed the call. An agent could read and overwrite .env, create id_rsa, and overwrite .failproofai/policies-config.json. These calls are now denied. (#961)
      • A file call with no recognizable path is now denied. If Antigravity renames these arguments again, the tools stop with a message saying why, rather than every path policy silently allowing them.

      OpenClaw

      • Enforcement works again on OpenClaw 2026.9.6 and later. Those releases load plugins from a copy that broke the plugin's path to the CLI, and the plugin read that failure as an allow, so every tool call ran unchecked. The plugin now asks failproofaid for each verdict over its socket. (#956)

      Daemon setup and uninstall

      • failproofai config works on Fedora, RHEL, Rocky and Alma. SELinux doesn't let systemd run files from a home directory, so the daemon failed with 203/EXEC. The binary now runs from a root-owned copy under /opt/failproofai/<user>/bin/. (#957)
      • Manual root commands quote every path, so a home directory with a space no longer breaks the install commands, and the removal command's rm -rf can't be pointed at the wrong path.
      • uninstall and uninstall --purge remove the /opt copy even if the service unit is already gone. They used to leave it behind and report success.

      Dependencies

      • minimatch is overridden to 11.0.3 for GHSA-g3hv-75wg-m249. It is ESLint tooling only and ships in neither package.
      • nltk is bumped to 3.10.4 in the Python SDK's dev/test lockfile for GHSA-j456-xh4h-cpf2. The SDK itself has no runtime dependencies.

      Upgrading

      1. Run npm i -g failproofai@latest.
      2. Run failproofai config. This moves an existing Linux daemon to the /opt path and restarts it.
      3. If you use OpenClaw, restart the gateway so it loads the new plugin.

      Behaviour changes

      • OpenClaw now requires the daemon. Install refuses without it. If no verdict comes back, tool calls and prompts are blocked rather than allowed.
      • Antigravity file tools can now stop outright. If a future Antigravity version renames its path arguments, read_file, write_file and edit_file calls are denied until failproofai is updated. A session pause lifts this, unless an enforcing Cloud policy is deployed.
    2. v1.0.13-beta.3pre-release2026-11-02 · 2026-11-02 07:01 UTC
      查看更新说明

      Automated build of v1.0.13-beta.3 from 164a975c6fac568266fee357f6412a353e079dad (run 41402808782).

    3. v1.0.13-beta.2pre-release2026-10-28 · 2026-10-28 11:47 UTC
      查看更新说明

      Automated build of v1.0.13-beta.2 from c15b64e35bbc651ef4230d0face4863ac8f508e7 (run 40681901125).

    4. v1.0.13-beta.1pre-release2026-10-28 · 2026-10-28 10:52 UTC
      查看更新说明

      Automated build of v1.0.13-beta.1 from 42d3daf72ab71763900fca82b29f0b87bf1b8539 (run 40674383346).

    5. v1.0.12FailproofAI 1.0.122026-10-25 · 2026-10-25 01:25 UTC
      查看更新说明

      FailproofAI 1.0.12

      Log in to FailproofAI Cloud from your browser, and run Jev policies on FailproofAI Cloud, scoped to the agents you choose.

      New

      • Log in from failproofai config. On a machine that isn't connected, config opens a browser login straight away. Sign up or sign in, pick or create an organization, and authorize the machine; the terminal notices by itself and shows who approved it and for which organization.

        • Over SSH or with no display, it prints the link to open on any device.
        • The machine's key is created only when setup finishes, so an abandoned run leaves no key behind.
        • A machine that's already connected gets a menu with "keep" first, so running setup again never opens a browser on its own.
        • Prefer a key? Press Tab to paste an API key, or to use open source.
      • Every agent on the machine knows FailproofAI. config adds a small failproofai skill to each agent it finds: Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, every Hermes and OpenClaw profile, droid, Devin, Antigravity and Goose. It points the agent at the FailproofAI skills on GitHub, so what it reads is always current. A failproofai skill you installed yourself is left alone, and failproofai uninstall removes only the ones config wrote.

      • Jev policies from FailproofAI Cloud. A Cloud policy now has a kind:

        • regex: JavaScript, as before;
        • jev: Jev checks only;
        • both: JavaScript that its own Jev checks can review.

        Jev checks run on FailproofAI Cloud, so nothing Jev-related is installed on the machine. FailproofAI Cloud sets each machine's Jev mode: enforce while a Jev policy is deployed, off when none is. A policy you set to watch (observe) records what it would have done and never blocks.

      • Policies scoped to agents. Deploy a Cloud policy to one integration or to a single agent profile instead of the whole machine. The daemon keeps a roster of the agent profiles it has seen (up to 256) and reports it to FailproofAI Cloud.

      • Machines report the Cloud policies they couldn't apply. A policy that failed to load, a Jev mode the machine can't act on, or a pack check dropped for the question budget shows up on the fleet page and in fp fleet show.

      • fp, for Cloud policies:

        • fp policies publish --kind regex|jev|both;
        • per-assignment block / watch;
        • fp fleet deploy --target POLICY=INTEGRATION[/agent] and --all-agents POLICY;
        • fp fleet history and fp fleet rollback include each deployment's Jev mode.

      Fixed

      • A FailproofAI Cloud Jev reply that contradicts itself can't clear a both policy's regex denial. A malformed reply is ignored, and the regex decides alone.
      • Redacting secrets can't make FailproofAI Cloud clear a check the machine wouldn't. Where redaction changes what a check sees, the machine marks the scan incomplete, which clears nothing.
      • A failing or rate-limited FailproofAI Cloud Jev is no longer silent and no longer slows every tool call. After 3 failures in a row, the machine decides by regex alone for 60 seconds, then tries again. Outages and rate limits are reported on the fleet page.
      • config --disconnect sticks. Before, the old organization's policies and Jev mode could come back within minutes.
      • Reconnecting the same organization on a new address is a reconnect, not an organization switch. One example is moving from http to https with the same key.
      • Keys refused earlier are retried with the current key without stalling new uploads, and nothing in a refused batch is lost.
      • Browser login handles the edge cases:
        • an approved login whose key couldn't be claimed;
        • a saved key that stopped working;
        • an expired link, which is taken off the screen when a new one prints;
        • a FailproofAI Cloud without browser login, where you paste a key instead.
      • config asks for your sudo password again before installing the daemon if the first

    README 原文

    未翻译

    npm CI Supply Chain Discord Reddit Docs License

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

    Observability and enforcement for every harness your agents run in. Wherever your agents run, we see it — and we can say no. Failproof hooks 12 agent harnesses — coding CLIs like Claude Code and Codex, chat gateways like Hermes, self-hosted assistants like OpenClaw — capturing every run and blocking dangerous tool calls before they execute. 40 built-in policies. Zero latency. Runs locally.


    Supported harnesses

    Twelve harnesses in two classes — ten coding CLIs, and two chat and assistant gateways (Hermes, OpenClaw). One policy API and one session history across all of them. What a policy can block is per-harness: stopping a tool call before it runs is verified on all twelve, turn-end gates on eight. The per-harness matrix lists the events each one honours.

    Agents that run in none of them report through the Python SDK, which gives you tracing, sessions and audits. Enforcement there needs a hook in your own runtime — talk to us and we'll map it.

    Install

    npm install -g failproofai
    failproofai config                             # wire up your agents and the daemon
    failproofai policies add FailproofAI/policies  # choose what to enforce
    failproofai                                    # dashboard on localhost:8020
    

    Setup wires the hooks and picks no policies — that second command is what puts guardrails on the machine, and any pack is typed the same way (failproofai policies add <owner>/<repo>; policies show <owner>/<repo> reads one first). Run failproofai config with no terminal — CI, a container, an agent driving it — and it applies rather than asking. On a machine that has never been set up, any other command runs the same wizard first; disable that with FAILPROOFAI_NO_FIRST_RUN=1.

    Until a pack arrives, the only thing enforcing is block-failproofai-commands, which is always on and cannot be switched off or paused: an agent that can pause enforcement can switch off every other policy.


    What it stops

    PolicyWhat it blocks
    block-env-filesReads of .env and other secret files
    warn-repeated-tool-callsThe agent looping on the same call
    block-sudoPrivilege escalation
    warn-destructive-sqlDROP, TRUNCATE, unbounded DELETE
    block-terraform / block-kubectlUnreviewed changes to live infrastructure
    block-rm-rfRecursive file deletion
    block-force-push / block-push-mastergit push --force, direct pushes to main

    Every one of these gates the call before it runs, so they hold on all twelve harnesses. The first four apply to any agent that can call a tool; the last three are the developer favourites — coding CLIs are the harness class we cover deepest. The sanitize-* family is separate: it runs after a tool returns, so it reports a secret in tool output rather than keeping it out of the context.

    → All 40 built-in policies


    Your own policies

    Drop a file into .failproofai/policies/ — it loads automatically, no flags needed. Commit it and the whole team gets it on next 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();
      },
    });
    

    Three decisions available to every policy:

    DecisionEffect
    allow()Permit the operation
    deny(message)Block it — message goes back to the agent
    instruct(message)Let it through, but add context to the agent's next prompt

    → Write a policy


    Observability

    Enforcement is one half. The other half is seeing what the agent actually did.

    Run failproofai with no arguments and it serves a dashboard on localhost:8020 reading the run history already on your machine — no account, no signup, nothing leaving the box. You get the session list, the sequence of model calls, tool calls and hook decisions inside each run, what was blocked and what the policy told the agent, and an offline audit (failproofai audit) that scans your history for risky patterns and suggests policies to stop them.

    → Local dashboard · Read a trace · Local audit

    Failproof AI Observability is the hosted side of the same data model, for teams running agents across a fleet: every run from every harness in one place, an execution graph with parallel sub-agents on their own lanes, p50/p95/p99 latency for models, tools and hooks, per-model cost and context-window tracking, error tracking, SQL over your own traces with shareable dashboards, evaluations scored by your own service, scheduled audits that turn recurring failures into evidence-backed findings, and alerts routed to Slack, email or a signed webhook. Self-hosting in your own cluster is available on the Enterprise plan.

    → Sessions · Audits · Book a demo


    Documentation

    Start
    QuickstartInstall, connect a harness, see the first run
    ConceptsHow the hook system works
    Supported harnessesAll 12, and what each one can enforce
    Observe
    SessionsFollow a run: models, tools, errors, latency
    Read a traceWhat the execution graph is telling you
    AuditsFind failure patterns across many sessions
    Local dashboardlocalhost:8020, no account needed
    Enforce
    Policy packsThe Failproof AI policies, and packs from the policy hub
    Write a policyFrom an audit, or in code
    ConfigurationConfig scopes, merge rules and policy parameters
    Instrument your own agent
    Python SDKReport runs from an agent with no harness
    Policy SDKallow / deny / instruct reference

    License

    MIT with Commons Clause — free for internal and personal use; commercial resale of failproofai itself requires a separate agreement. See LICENSE for the full text.


    Contributing

    See CONTRIBUTING.md. New policies, edge cases, and translations all welcome.


    Built with ❤️ by befailproof.ai in SF and Bengaluru.