Skip to main content
测试版功能。 审计功能以测试版形式发布,我们正在收集早期反馈。 检测器目录和报告格式可能在下一个稳定版本发布前有所变动。 如有异常,请提交 issue。
审计功能会将你过去的 agent CLI 记录通过 failproofai 的策略引擎重新回放,并在 /audit 控制台页面生成一份可分享的可视化报告,内容包括:你的 agent 所属原型、0 到 100 的评分,以及哪些策略会捕获哪些问题。

运行方式

有三种入口——最终都会跳转到同一份 /audit 报告。

无需安装

npx -y failproofai audit 会自动获取 failproofai,执行扫描并打开控制台——无需预先安装任何东西。

通过 CLI

failproofai audit 在终端中运行扫描,完成后自动打开 localhost:8020/audit

通过控制台

运行 failproofai,点击导航栏中的 Audit(位于 Policies 和 Projects 之间),或直接打开 /audit
运行 failproofai audit -h(或 --help)查看使用说明。审计完全离线运行——无需账户或网络——控制台会持续服务,直到你按 Ctrl+C 停止。
控制台会扫描本机上过去的 agent CLI 记录(Claude Code、Codex、Copilot、Cursor、OpenCode、Pi),并报告 agent 执行了多少次 failproofai 所设计拦截的操作——包括环境变量检查、强制推送、多余的 cd <cwd> 前缀、sleep 轮询循环、重复读取刚刚编辑过的文件等。 对于每份记录,所有工具调用事件都会经过 39 条内置策略以及 8 个仅限审计的检测器重新回放,这些检测器用于捕获尚未被运行时策略覆盖的模式。计数按策略/检测器在所有会话中汇总。

报告内容

/audit 页面是一个单屏可分享的海报,后跟四个滚动区域:
  1. 海报 — 一目了然地展示 agent 的身份:原型(共 8 种——optimistcowboyexplorergoldfishparanoid architectprecision builderhammerghost)、persona 关键词、该原型的稀有程度,以及带等级区间的 0–100 评分(从 Sbottom tier)。专为分享设计——可发布到 X 或 LinkedIn,或下载为 PNG。
  2. // strengths — agent 已经做得好的方面,以扫描得出的真实数字呈现(例如:干净工具调用百分比、0 次 push-to-main 尝试),仅在相关策略记录完全干净时显示。
  3. // quirks — 存在的问题:一张按优先级排列的表格,展示 failproofai 本可捕获的行为——最近一次发生的时间具体内容(以及会拦截它的内置策略)、严重程度,以及出现频率new / recurring / N× seen)。
  4. // how to improve — 针对性修复列表:每条策略对应一行,附有可直接复制粘贴的 failproofai policy add <slug> 命令,以及一键全部安装按钮,可同时启用所有建议,并显示执行后的预期评分
  5. // 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 不会被回放(它们可能在原始会话之后已发生变更)。