跳转到主要内容
failproofai 控制台是一个本地 Web 应用,用于监控 AI Agent 会话和管理策略。随时查看 Agent 在后台执行了哪些操作。

启动控制台

failproofai
访问地址:http://localhost:8020 控制台直接从文件系统读取数据——包括 Claude Code 项目文件夹和 failproofai 配置文件。所有数据均不会上传至远程服务。

页面说明

项目

列出本机上所有已发现的 Claude Code 项目。项目从 ~/.claude/projects/(或 CLAUDE_PROJECTS_PATH 环境变量指定的路径)中自动发现。 每个项目展示以下信息:
  • 项目名称(从文件夹路径派生)
  • 会话数量
  • 最近一次会话活动的日期
点击项目可查看其下所有会话。

会话

列出某个项目下的所有会话。每个会话展示:
  • 会话 ID
  • 开始和结束时间戳
  • 工具调用次数
  • Hook 活动次数(触发的策略数量)
可使用日期范围筛选器和会话 ID 搜索来缩小列表范围。会话列表支持分页。 点击会话可打开会话查看器。

会话查看器

会话查看器回答了自主 Agent 最核心的问题:Agent 做了什么,是否按预期执行?它以时间线形式展示会话中发生的所有事件:
  • 消息 — Claude 的文本回复和用户提示
  • 工具调用 — Claude 调用的每个工具,包含其输入和输出
  • 策略活动 — 针对每次工具调用,显示哪些策略触发以及返回了什么决策
顶部统计栏显示会话时长、工具调用总次数,以及 Hook 决策汇总(allow / deny / instruct 的数量统计)。 可通过下载按钮将会话导出为 ZIP 或 JSONL 文件。

策略

包含两个选项卡,用于管理策略和查看活动记录。
  • 单击即可启用或禁用某条策略(写入 ~/.failproofai/policies-config.json
  • 展开策略以配置其参数(适用于支持 policyParams 的策略)
  • 为指定作用域安装或移除 Hook
  • 设置自定义策略文件路径

自动刷新

控制台顶部导航栏提供自动刷新开关。启用后,当前页面将定期刷新,实时显示新增的会话和策略活动。这对于监控长时间运行的自主 Agent 会话尤为重要。

禁用页面

如果只需要控制台的部分功能,可将 FAILPROOFAI_DISABLE_PAGES 设置为以逗号分隔的页面名称列表:
FAILPROOFAI_DISABLE_PAGES=policies failproofai
有效值:policiesprojects

主题

控制台支持亮色和暗色模式,可通过导航栏中的按钮切换。偏好设置存储在浏览器的本地存储中。

配置项目路径

默认情况下,控制台从标准的 Claude Code 项目目录读取数据。如需自定义设置,可覆盖该路径:
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai

从非 localhost 主机访问

开发模式npm run dev)下运行控制台,并通过非 localhost 的主机名访问时——例如自定义域名、远程 IP 或隧道 URL——可能会看到如下警告:
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
这是 Next.js 阻止跨域访问其 HMR(热模块重载)WebSocket 的行为,该功能仅在开发模式下存在。如需允许特定主机访问,请使用 --allowed-origins 参数:
npm run dev -- --allowed-origins dashboard.example.com
如需允许多个主机或 IP,以逗号分隔传入:
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
也可以通过设置 FAILPROOFAI_ALLOWED_DEV_ORIGINS 环境变量来实现:
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
此设置仅适用于开发模式。运行 failproofai(生产模式)时,不存在 HMR WebSocket,也不存在跨域开发资源问题。