启动控制台
http://localhost:8020。
控制台直接从文件系统读取数据——包括你的 Claude Code 项目文件夹和 failproofai 配置文件。不会向远程服务写入任何数据。
页面说明
项目
列出机器上发现的所有 Claude Code、OpenAI Codex、GitHub Copilot CLI (测试版)、Cursor Agent (测试版)、OpenCode (测试版)、Pi (测试版) 和 Gemini CLI (测试版) 项目。Claude 项目从~/.claude/projects/(或 CLAUDE_PROJECTS_PATH 环境变量指定的路径)中发现;Codex 项目通过扫描 ~/.codex/sessions/<YYYY>/<MM>/<DD>/*.jsonl 下的所有记录并按每个会话首条记录中的 cwd 字段分组发现;Copilot CLI 项目通过扫描每个 ~/.copilot/session-state/<sessionId>/workspace.yaml(可通过 COPILOT_HOME 配置)并按 cwd 字段分组发现;Cursor Agent 项目通过扫描 ~/.cursor/agent-sessions/<sessionId>/(可通过 CURSOR_HOME 配置,备选路径为 conversations/ 和 sessions/)下各会话的元数据,从 meta.json / session.json / workspace.yaml 中读取 cwd 字段发现;OpenCode 项目通过 opencode db --format json 查询位于 ~/.local/share/opencode/opencode.db 的 SQLite 数据库(读取 session 和 project 表并按 project_id 分组)发现;Pi 项目通过扫描 ~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl 下每个会话的 JSONL 记录(可通过 PI_SESSIONS_DIR 配置)并从每个会话首条记录中提取 cwd 发现;Gemini CLI 项目通过扫描 ~/.gemini/tmp/<basename>/chats/session-<timestamp>-<uuid-prefix>.jsonl(可通过 GEMINI_SESSIONS_DIR 配置)并从同级 .project_root 文本标记中还原规范 cwd 发现。同一项目若被多个 CLI 使用,将在表格中显示为一行,并附带所有匹配的标签。使用表格上方的 CLI 下拉菜单按特定 Agent CLI 筛选;URL 会通过 ?cli=claude|codex|copilot|cursor|opencode|pi|gemini 保存你的选择。
每个项目显示:
- 项目名称(从文件夹路径派生)
- CLI 标签——
Claude Code(橙色)、OpenAI Codex(紫色)、GitHub Copilot(蓝色)、Cursor Agent(翠绿色)、OpenCode(琥珀色)、Pi(粉色)和/或Gemini CLI(天蓝色) - 最近会话活动的日期
会话
列出项目内的所有会话。每个会话显示:- 会话 ID
- 开始和结束时间戳
- 工具调用次数
- Hook 活动次数(触发的策略数量)
会话查看器
会话查看器回答自主 Agent 最关键的问题:Agent 做了什么,是否保持在正轨上?页眉旁的 CLI 标签指示该会话是 Claude Code、OpenAI Codex、GitHub Copilot CLI、Cursor Agent、OpenCode、Pi 还是 Gemini CLI 的记录。它以时间轴的形式展示会话中发生的所有事件:- 消息 - Claude 的文本响应和用户提示
- 工具调用 - Claude 调用的每个工具及其输入和输出
- 策略活动 - 针对每个工具调用,显示哪些策略触发及其返回的决策
session / messages / parts 表的 JSON 文档。
策略
包含两个标签页,用于管理策略和查看活动记录。- 策略标签页
- 活动标签页
- 在单一面板中多选 failproofai 需要保护的 Agent CLI——Claude Code、OpenAI Codex、GitHub Copilot、Cursor Agent、OpenCode、Pi 和 Gemini CLI 均有各自的行,显示安装状态(
Active/Detected/Inactive)、用户级设置路径和品牌色强调样式。勾选或取消勾选所需的 CLI,点击Apply changes一步完成安装/卸载操作。PATH 中检测到二进制文件的 CLI 将被预先勾选。 - 单击即可启用或禁用单个策略(写入
~/.failproofai/policies-config.json——在所有已安装的 CLI 间共享) - 展开策略以配置其参数(适用于支持
policyParams的策略) - 设置自定义策略文件路径
自动刷新
控制台顶部导航栏提供自动刷新开关。启用后,当前页面将定期刷新,以实时显示新会话和策略活动。对于监控长时间运行的自主 Agent 会话至关重要。禁用页面
如果只需要控制台的某些部分,可将FAILPROOFAI_DISABLE_PAGES 设置为以逗号分隔的页面名称列表:
policies、projects。
配置项目路径
默认情况下,控制台从标准 Claude Code 项目目录读取数据。可为自定义设置覆盖此路径:从非 localhost 主机访问
在开发模式(npm run dev)下运行控制台并从非 localhost 的主机名访问时——例如自定义域名、远程 IP 或隧道 URL——可能会看到如下警告:
--allowed-origins 标志:
FAILPROOFAI_ALLOWED_DEV_ORIGINS 环境变量:
此设置仅适用于开发模式。以
failproofai(生产模式)运行时,不存在 HMR WebSocket,也不会有跨域开发资源问题。
