failproofai
FailproofAI/failproofai加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨 2 点,你的 AI 编程助手仍在后台跑着。它接管了你搁置的数据库迁移任务——理论上这是个好消息。但当你第二天早上检查时,发现它已经对 staging 环境的数据库执行了三次 DROP TABLE,原因是每次遇到错误,它只是换个名字重试。而你的正式数据,在第三次"重试"中被清空了。
这不是虚构场景。2026 年 GPT-5.6 Sol 发布后的那一周,至少有三个开发团队的 AI 助手删除了生产数据库、强制删除了 Git worktree、或者把 Mac 上的整个 home 目录当成了"待清理的临时文件"。问题的根源在于:AI 编程助手在推理过程中会产生"过度坚持"(over-persistence)和"幻觉调用"(hallucinated calls)——它不觉得自己在做危险的事,它只是在"排除错误选项"。
Failproof AI 正是为解决这一类问题而生的。
Failproof AI 是一个面向 AI Agent 的运行时可靠性平台,由 ExosphereHost Inc. 开发,于 2026 年 4 月开源,当前已获得超过 5000 颗 GitHub Stars。它同时提供两大核心能力:
该项目支持 12 种主流 Agent 框架,包括 Claude Code、OpenAI Codex、GitHub Copilot CLI、Cursor Agent、OpenCode、Pi(pi-coding-agent)、Gemini CLI、Devin CLI、Factory Droid、Antigravity CLI(agy)、Goose,以及两个网关类工具 Hermes 和 OpenClaw。

Failproof AI 的核心是一套基于 Hook 的策略引擎。当 Agent 尝试执行某个工具调用(如 rm -rf、git push --force、terraform destroy)时,系统在操作真正执行之前对其进行拦截,根据预设策略决定是允许、拒绝还是添加额外指令。
系统内置了 40 条开箱即用的策略,覆盖以下典型危险场景:
| 策略 | 防护内容 |
|---|---|
block-env-files | 禁止读取 .env 等包含密钥的文件 |
block-sudo | 禁止提权操作 |
block-rm-rf | 禁止递归删除 |
block-force-push | 禁止强制推送 Git |
block-terraform | 禁止未经审核的 Terraform 变更 |
warn-repeated-tool-calls | 检测 Agent 陷入循环调用同一失败命令 |
warn-destructive-sql | 检测危险的 SQL 操作(DROP、TRUNCATE) |
策略通过简单的 JS 文件定义,放置于 ~/.failproofai/policies/ 目录后自动加载,支持团队协作(提交到代码库后其他人 pull 即可):
import { customPolicies, deny, allow } from "failproofai";
customPolicies.add({
name: "no-production-writes",
match: { events: ["PreToolUse"] },
async fn(ctx) {
if (ctx.toolInput?.file_path?.includes("production"))
return deny("禁止写入生产路径");
return allow();
},
});
Failproof AI 启动后自动在 localhost:8020(策略面板)和 localhost:7771(监控面板)提供本地 Web 界面,无需账号、数据完全保存在本地。
**会话回放(Session Replay)**是其可观测性的核心功能。它将一次 Agent 执行的全流程以时间线瀑布图的形式可视化呈现:每个 Tool Call、每次 Model Request、每次 Hook 触发都是一根独立的 Span,可点击展开查看完整的请求体和响应体。
在回放中,三类典型的 Agent 失败模式会清晰呈现:
对于不熟悉 SQL 的用户,Failproof AI 内置了一个 AI 助手,可以直接用自然语言提问。例如输入"为什么这个会话循环了?",它会自动生成 SQL 查询、分析相关 Trace,然后告诉你"Agent 在第 11 次调用时重试了同一个失败的工具调用"。这一功能将原本需要手动写 SQL + 逐帧查看 Trace 的工作,压缩成一句话。
Failproof AI 提供 CLI 和 MCP 服务器,允许用户在任何支持 MCP 的 Agent(如本地 Claude)中直接查询 Trace 数据。运行 failproofai pull --since 7d 可以将最近 7 天的执行记录交给 AI 分析,实现"上一次失败的教训成为下一次会话的上下文"的闭环。
从源码结构来看,Failproof AI 采用混合技术栈:
根据项目文档,策略引擎最初采用"每次工具调用启动一个新进程"的架构,端到端延迟高达 700ms。团队将其重构为"一个常驻 Rust 守护进程 + 预热 Worker"的方案后,p50 延迟降至约 0.7ms,首次将"fail closed"(策略不工作时默认拒绝操作)从承诺变成了可验证的保证。
项目使用 Bun 作为主要包管理器和运行时,同时兼容 Node.js ≥20.9.0,支持 npm 全局安装或本地开发。
安装方式极为简单:
npm install -g failproofai
failproofai config # 连接到本机 Agent 框架
failproofai policies add FailproofAI/policies # 安装策略包
failproofai # 启动本地面板
无 Docker 支持,无法在容器中一键部署(除非自行构建镜像)。但由于它本质上是一个本地运行的安全层,而非服务端组件,这个限制是合理的——它需要直接访问本机的 Agent 会话历史目录。
**不支持的场景:**非 Node.js/Bun 运行时的自定义 Agent(如纯 Python 实现的 Agent)需要通过 Python SDK 接入,官方建议联系 support 获取支持。
随着 AI 编程助手从"辅助工具"演变为"自主执行者",Agent 的可靠性问题正在从"性能瓶颈"变成"安全红线"。Failproof AI 代表了一种新兴的工程思路:与其让 AI 学会不犯错,不如在运行时建立安全护栏。它不依赖模型本身的自我纠错能力,而是在执行层提供确定性保障。
该项目获得了显著的增长(5 个月内从 0 到 5000+ Stars),支持 12 种框架、40 条内置策略、18 种语言文档(包括简体中文),体现了极高的工程成熟度和社区活跃度。对于在生产环境或高风险场景中运行 AI 编程助手的团队,Failproof AI 是目前最完整的本地化安全+可观测性解决方案之一。