Agent Dashboard for Claude Code & Codex
一个实时监控仪表盘,通过原生钩子系统追踪 Claude Code 与 Codex 的会话、智能体活动、工具调用与子智能体编排,让本地 AI 编码工作负载完全可见。
README 详述了数据流(Hook→HTTP→SQLite→WebSocket)、SSH 远程拉取、Web Push 与 Webhook 外发,并声明 Codex 配置预览会脱敏、更新机制不自动拉取,但绝大多数安全声明停留在文字层面,实际权限范围、密钥管理、确认机制的代码证据未在本次样本中出现,只能给薄分。
package. 与 CI 提供了可运行的脚本与测试入口,存在一定自我一致性的证据;但 README 徽章中出现了明显可疑的版本号(如 React Router 8.3、Vite 7.3 等与生态不符的版本),且 engines 要求 Node>=22.22 与实际发布版本关系未解释,断言与可核对事实之间有出入。
README 对受众(个人开发者到团队部署)、部署形态(本地、Docker、K8s/Helm、桌面应用)描述充分,得 2;但能力边界与触发精度的说明多为主观功能描述,缺少明确的『不做什么』与失败条件定义。
许可证文件完整、为 MIT,得满分;文档结构、安装脚本、命名(ccam、agent-dashboard)与版本发布约定(package. 版本驱动 Release)均可见,得 2;但 FAQ 在本样本中只有标题、已知限制仅零散提及(如 Cursor 会话混淆、universal DMG 放弃),维护者响应路径无独立证据,扣分。
作为 Claude Code/Codex 监控面板,功能定位清晰且差异点(子 Agent 层级、任务归属、动态工作流)具体,得 2;但成本收益未量化(资源开销、数据库规模影响仅在 Health 面板中暗示),大量功能声明未经执行验证。
关键声明(幂等导入、reparent 计数、WAL 模式等)未能在本次源文件中直接追查到实现,仅有 wiki 测试与 Helm 测试文件作为局部佐证;事实与推断边界总体清晰但可回溯性弱,得 1。
- 发布者未经企业注册表验证,信任判断应基于仓库证据而非作者身份。
- README 中的版本徽章含可疑版本号(如 React Router 8.3、Vite 7.3),安装前请以 package. 与 lockfile 为准核对依赖。
- 监控面板会读取 ~/.claude 与 ~/.codex 全部会话转录并可能通过 SSH 拉取远程机器数据,部署时注意其具有的文件系统与网络访问范围。
- Web Push、Webhook(含 14 个第三方集成)与配置文件编辑(带备份)均为外发/写操作,启用前应逐一确认目标端点。
- 本评估为静态审查,未执行任何代码;全部功能与安全声明需在受控环境中自行验证。
这个 Agent 能做什么,适合哪些场景?
该仓库(hoangsonww/Claude-Code-Agent-Monitor)是一个自托管的实时监控平台,用于观察 Claude Code 和 OpenAI Codex 的智能体活动。它通过两家工具的原生钩子(hook)系统接收事件,将其存入 SQLite(better-sqlite3,WAL 模式),并经 WebSocket(RFC 6455)推送到 React 19 + Vite + TailwindCSS 的深色主题仪表盘。界面包含九个页面:Dashboard(含系统健康评分)、Kanban 状态板(智能体 4 列 / 会话 5 列视图)、Sessions、Activity Feed、Analytics、Workflows(D3.js 可视化)、Agent Config、Run Agent 与 Settings。除 Web UI 外,还提供 macOS(DMG)与 Windows(NSIS/便携版)Electron 桌面应用、VS Code 扩展、CLI statusline、带 VAPID 的 Web Push 通知,以及 mcp/ 目录下暴露 97 个工具、支持 stdio/HTTP+SSE/REPL 三种传输模式的本地 MCP 服务器。MIT 许可,UI 内置英/中/越/韩/西五种语言切换。
工作流程:Claude Code / Codex 会话在工具调用与回合结束时触发钩子;钩子处理器(Node.js 脚本)通过 HTTP POST 把事件发给 Express + SQLite 仪表盘服务器;服务器再通过 WebSocket 广播给 React 前端。仪表盘自动发现并持久化会话与智能体,解析 ~/.claude/ 与 ~/.codex/sessions 下的 JSONL 转录文件以提取 token、成本、压缩(compaction)、API 错误与回合时长;在 SubagentStop 时扫描 subagents/agent-*.l 并按 tool_use_id 归属子智能体工具调用。它产出实时的看板状态、按模型计价的成本统计、D3.js 编排 DAG 与 Sankey 图、规则告警(事件模式/不活跃/卡死/token 阈值),并可通过 14 种 webhook 提供方(Slack、Discord、Teams、Telegram、PagerDuty 等)外发通知。Run Agent 页面可直接从仪表盘 spawn claude 子进程(会话式流式输出或一次性执行),并支持 claude --resume 恢复历史会话;SSH 远程数据源可从其他机器镜像 ~/.claude/projects 与 ~/.codex/sessions。本地 MCP 服务器提供 97 个类型化工具用于查询与管理仪表盘自身。
- 同时运行多个 Claude Code 会话并需要看板了解哪些智能体在工作、哪些在等待权限输入的独立开发者
- 需要统计各模型 token 消耗与成本(含可配置定价规则与限时推广价)的团队负责人
- 使用 Codex CLI 并希望查看 rollout 历史、编辑 config.toml / hooks / skills 且带备份的工程师
- 需要基于规则(如 2 分钟内超 5 个错误)触发 Slack 或 PagerDuty 告警的 DevOps 人员
- 希望跨多台机器汇总智能体活动、通过 SSH 同步远程转录的远程工作者
- 想通过 MCP 服务器在 Claude Code 工作流内程序化查询仪表盘数据的自动化用户
这个 Agent 有哪些优点和局限?
- 经两家工具的原生钩子系统直接集成,事件为 WebSocket 实时推送而非轮询
- 功能深度罕见:按 tool_use_id 归属子智能体工具调用、压缩感知的 token 核算、按日期生效的限时定价、成本按会话/子智能体拆分
- 交付形态齐全:Web UI、macOS/Windows Electron 桌面应用、VS Code 扩展、CLI statusline、本地 MCP 服务器(97 个工具、三种传输模式)
- 告警与集成生态成熟:14 种 webhook 提供方、可选 HMAC 签名、带冷却去重的规则引擎
- 与 Claude Code 和 Codex 深度绑定——钩子摄取与转录解析逻辑均为厂商特定路径(~/.claude、~/.codex),迁移到其他智能体 CLI 需要开发适配
- 运行时栈较重:需要 Node.js >= 22.22、Python >= 3.6 与本地 SQLite,并需要安装/维护钩子配置
- Cursor 等工具写入相同 ~/.claude 路径的会话会被一并统计,且仪表盘不区分来源应用
- 远程同步依赖主机上的 SSH 认证,多机器配置需要手动设置路径与连接
如何安装或部署这个 Agent?
仓库提供 npm 脚本与 npm run setup(README 提到首次设置会执行启动导入,包括子智能体历史回填);Node.js >= 22.22 与 Python >= 3.6 为运行时要求。桌面分发提供 macOS DMG(arm64 + x64)与 Windows NSIS 安装器/便携版,并有 Docker/Podman(OCI)镜像、Kubernetes/Helm/Kustomize 清单与 Terraform 配置。README 被截断处未给出从零开始的逐条安装命令(如确切的首条 git clone / npm install 序列),需查阅仓库的 Quick Start 一节获取完整步骤。
如何使用这个 Agent?
1) 运行安装脚本并按提示为 Claude Code / Codex 安装原生钩子(Settings 页会显示钩子安装状态)。2) 打开 Web UI 或启动桌面应用;侧边栏含 Dashboard、Kanban Board、Sessions、Activity Feed、Analytics、Workflows、Agent Config、Run Agent、Settings 九个页面。3) 正常使用 claude / codex,会话与智能体卡片会在 SessionStart 等事件触发时自动出现;Cmd/Ctrl+K 打开全局命令面板。4) 在 Settings → Alerts & Notifications 配置告警规则与 webhook 渠道,在 Settings → Remote Data Sources 添加 SSH 远程机器,在 Settings → Model Pricing 调整模型单价。5) 通过 ccam remote-sources 等 CLI 命令或 mcp/ 目录下的 MCP 服务器(stdio、HTTP+SSE 或 REPL)进行自动化查询。
这个 Agent 与同类方案有什么区别?
README 未指名任何竞品,但定位上它填补了 Claude Code 与 Codex 仅输出本地 JSONL 转录、缺乏可视化监控层的空白;若你只跑单会话,原生 CLI 的 statusline 可能已足够,而本仓库适合需要看板、历史分析、成本核算与团队告警的场景。