测试版功能。 审计功能以测试版形式发布,我们正在收集早期反馈。
检测器目录和报告格式可能在下一个稳定版本发布前有所变动。
如有异常,请提交 issue。
/audit 控制台页面生成一份可分享的可视化报告,内容包括:你的 agent 所属原型、0 到 100 的评分,以及哪些策略会捕获哪些问题。
运行方式
有三种入口——最终都会跳转到同一份/audit 报告。
无需安装
npx -y failproofai audit 会自动获取 failproofai,执行扫描并打开控制台——无需预先安装任何东西。通过 CLI
failproofai audit 在终端中运行扫描,完成后自动打开 localhost:8020/audit。通过控制台
运行
failproofai,点击导航栏中的 Audit(位于 Policies 和 Projects 之间),或直接打开 /audit。cd <cwd> 前缀、sleep 轮询循环、重复读取刚刚编辑过的文件等。
对于每份记录,所有工具调用事件都会经过 39 条内置策略以及 8 个仅限审计的检测器重新回放,这些检测器用于捕获尚未被运行时策略覆盖的模式。计数按策略/检测器在所有会话中汇总。
报告内容
/audit 页面是一个单屏可分享的海报,后跟四个滚动区域:
- 海报 — 一目了然地展示 agent 的身份:原型(共 8 种——
optimist、cowboy、explorer、goldfish、paranoid architect、precision builder、hammer、ghost)、persona 关键词、该原型的稀有程度,以及带等级区间的 0–100 评分(从S到bottom tier)。专为分享设计——可发布到 X 或 LinkedIn,或下载为 PNG。 // strengths— agent 已经做得好的方面,以扫描得出的真实数字呈现(例如:干净工具调用百分比、0次 push-to-main 尝试),仅在相关策略记录完全干净时显示。// quirks— 存在的问题:一张按优先级排列的表格,展示 failproofai 本可捕获的行为——最近一次发生的时间、具体内容(以及会拦截它的内置策略)、严重程度,以及出现频率(new/recurring/N× seen)。// how to improve— 针对性修复列表:每条策略对应一行,附有可直接复制粘贴的failproofai policy add <slug>命令,以及一键全部安装按钮,可同时启用所有建议,并显示执行后的预期评分。// come back better— 养成习惯:设置重新审计的邮件提醒(3d/7d/14d/30d)或立即重新审计,并邀请朋友进行他们自己的审计(由 failproof.ai 发送,抄送给你)。提醒和邀请功能需要登录。
定时审计
如果你运行了 failproofaid 守护进程(参见failproofai config),它可以按计划自动重新运行审计,并在后台刷新 /audit 报告。该功能默认关闭,因为扫描会读取本机上每个 agent 会话记录的内容——在你明确开启之前,不会有任何定时扫描。
在 ~/.failproofai/config.toml 中开启:
- 计划基于挂钟时间,因此能在休眠和重启后继续:如果笔记本电脑在到期后才唤醒,仅运行一次,不会积压。
- 每次运行都是独立的低优先级(
nice 19)进程——绝不占用守护进程的 hook 路径,该路径始终保持空闲以响应工具调用。 - 如果
failproofai audit或控制台的重新运行已在进行中,本次扫描会被跳过;稍后会重试,而不是视为失败。 - 进度写入
~/.failproofai/state/audit-schedule.json(包含上次运行时间和下次计划时间)。该文件由守护进程管理——请在config.toml中修改周期。
如果你在旧版 failproofai 搭建的机器上启用了此功能,请运行一次
failproofai config。守护进程的服务定义在能启动 CLI 之前需要一个额外条目,刷新操作已包含在该命令中。仅限审计的检测器
这些检测器用于发现”低质量行为”模式,这些模式尚未被实时强制执行。它们仅在审计期间运行,绝不会阻断实时工具调用。缓存
- 逐记录缓存,位于
~/.failproofai/cache/audit/<sha1>.json,以(mtime, size, engineVersion, detectorVersion)为键——当记录或策略/检测器代码发生变化时自动失效。每个条目还存储了cachedAt时间戳作为 TTL 元数据(不属于缓存键);读取时,超过 7 天的条目将被拒绝,以防长期缓存的结果与演进中的检测器意图脱节。 - 完整结果缓存,位于
~/.failproofai/audit-dashboard.json(权限 0600)。让控制台在导航时能立即渲染,无需重新运行。超过 7 天 TTL 后读取同样会被拒绝——/audit随后回退到空状态并提示重新运行。点击报告底部附近的[ re-audit now ]刷新——重新审计会发送noCache: true,绕过逐记录缓存并重新扫描所有记录,而不是返回缓存结果;运行过程通过顶部固定条带显示进度,成功后原地替换结果(无需刷新页面;重新审计失败时保留之前的报告)。
说明
- 只读操作。 审计以只读模式回放。
warn-repeated-tool-calls会被跳过,否则其每会话附属文件将被修改。 - 跳过工作流策略。
require-*-before-stop策略仅在Stop事件时触发,并对实时 git 状态执行execSync——它们对于”2025 年会发生什么”没有实际意义,因此不会出现在审计计数中。 - 跳过自定义策略。 用户提供的自定义 hook 不会被回放(它们可能在原始会话之后已发生变更)。

