开发与工程 observabilitymonitoringmulti-agenthookssqlitewebsocketvue

Claude Code 多代理可观测性系统

通过简单的钩子事件跟踪,实时监控 Claude Code 代理。

FollowAgents 评估 · FARS-2.1
不推荐
35/ 100 五分制 1.8 / 5
1 2 3 4 5 6
1信任安全5 / 29 · 0.9/5

证据显示:README 描述了安全特性(阻止 rm -rf、敏感文件访问),但未提供具体实现细节;hook 脚本会发送事件数据到本地服务器,但未说明数据保留和访问控制;依赖未锁定版本,存在供应链风险;未提及用户确认机制;外部影响包括启动服务器和发送 HTTP 请求,但未提供回滚方案;发布者身份未验证。扣分原因:权限最小化仅部分实现(有阻止危险命令的说明),用户确认缺失,数据流透明度不足,敏感数据处理未明确,依赖安全未处理,外部影响未充分说明,回滚缺失,来源归属未提供。

2可靠稳定6 / 14 · 2.1/5

证据显示:README 和项目结构一致,hook 脚本命名清晰,但未提供测试结果或错误处理细节;依赖(Bun、uv、just)未锁定版本,可用性依赖外部;失败消息未在文档中说明。扣分原因:自洽性尚可,但依赖可用性未保证,失败消息未提供。

3适用触发9 / 18 · 2.5/5

证据显示:README 面向开发者,提供了多种使用场景(单项目、多项目、团队编排),但能力边界未明确(如支持的 Claude Code 版本);触发精度通过 matcher 和事件类型控制,但未说明所有事件的具体触发条件;环境适配依赖特定工具链(Bun、uv),未说明其他环境。扣分原因:受众和场景覆盖较好,但能力边界不清晰,环境适配有限。

4规范维护6 / 18 · 1.7/5

证据显示:README 结构清晰,包含安装步骤、项目结构、配置说明;提供了示例和 FAQ(通过视频链接);但未提及已知限制、许可证、版本变更日志;维护责任未明确(发布者未验证)。扣分原因:信息架构和安装说明较好,但命名稳定性未保证(版本号未提及),示例和 FAQ 部分依赖外部视频,已知限制缺失,许可证缺失,版本变更日志缺失,维护责任未明确。

5有效结果7 / 13 · 2.7/5

证据显示:输出为实时仪表盘,具有过滤、图表等功能,可用性较好;边际价值在于多代理可观测性,但未与其他工具对比;成本效益未量化,依赖多个外部服务(API 密钥)。扣分原因:输出可用性较好,但边际价值未充分论证,成本效益未评估。

6证据核验2 / 8 · 1.3/5

证据显示:README 中的声明(如安全特性)未提供代码级证据;未提供独立验证来源;事实与推断混合(如“vibe coding”等营销语言)。扣分原因:声明可追溯性不足,交叉验证缺失,事实与推断分离不清晰。

证据充分度: 评估于 2026年8月9日 审查版本 8a6e5cf795df
源码中未见的安全控制:执行前用户确认、依赖安全审查、回滚或恢复路径、来源归属可核验
使用前请注意
  • 依赖未锁定版本,存在供应链风险。
  • 未提供许可证信息,使用需谨慎。
  • hook 脚本会发送事件数据到本地服务器,但未说明数据保留和访问控制。
  • 发布者身份未验证,维护责任不明确。
评估证据 [1]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

这是一个开源的实时监控系统,用于跟踪 Claude Code 代理的行为。它通过钩子系统捕获所有工具调用、任务交接和代理生命周期事件,并通过 HTTP POST 发送到 Bun 服务器,存储到 SQLite 数据库,再通过 WebSocket 实时推送到 Vue 3 客户端。该系统支持多代理并发监控,提供会话跟踪、事件过滤、实时动态图表和聊天记录查看等功能。部署需要 Claude Code、Bun/Python 环境,以及 Anthropic API 密钥。该仓库还包含一个 Agent 团队配置(builder 和 validator),并演示了多代理编排。

该系统通过 Claude Code 的钩子机制捕获 12 种事件(如 PreToolUse, PostToolUse, Notification 等),并运行对应的 Python 脚本(如 pre_tool_use.py, post_tool_use.py)进行验证、记录和摘要。然后 send_event.py 将事件数据(包括工具名称、会话 ID、源应用等)通过 HTTP POST 发送到指定服务器(默认 localhost:4000/events)。服务器(Bun + TypeScript)验证事件,存储到 SQLite(WAL 模式),并通过 WebSocket 广播给所有连接的客户端。Vue 3 客户端实时展示事件时间线,支持按应用、会话、事件类型过滤,并提供实时脉冲图表和聊天记录查看。

  1. 个人开发者希望了解 Claude Code 在编码过程中的内部决策,追踪每个工具调用。
  2. 团队在多个项目中使用 Claude Code,需要集中式监控代理活动和错误。
  3. 开发多代理编排系统,需要在整个代理群中跟踪任务创建、更新和消息传递。
  4. 需要尽早发现代理失败和权限请求,以防止级联错误。
  5. 希望测量代理吞吐量并优化多代理工作流。

这个 Agent 有哪些优点和局限?

优点
  • 提供实时仪表板,显示所有 Claude Code 事件的完整时间线。
  • 支持多代理并发监控,按代理泳道过滤。
  • 包含安全功能,如阻止危险命令和敏感文件访问。
  • 支持聊天记录查看和实时脉冲图表。
  • 集成 Agent 团队,支持定义 builder 和 validator 角色。
局限
  • 仅适用于 Claude Code,不适用于其他 AI 编码工具。
  • 设置需要多个组件(服务器、客户端、钩子),学习曲线陡峭。
  • 需要 Anthropic API 密钥,可能需要付费。
  • 数据库存储事件,可能导致磁盘空间增长。
  • 依赖 WebSocket 和 HTTP 通信,网络不可用时无法接收事件。

如何安装或部署这个 Agent?

克隆仓库并安装依赖:需要 Claude Code、Astral uv、Bun(或 npm/yarn)以及 JavaScript 运行时。复制 .claude 目录到你的项目根目录:cp -R .claude /path/to/your/project/。然后编辑 .claude/settings.json 中的 source-app 参数。配置环境变量:在根目录创建 .env 文件,设置 ANTHROPIC_API_KEY(必需),可选的 OPENAI_API_KEY、ELEVENLABS_API_KEY、FIRECRAWL_API_KEY。在 apps/client 目录下复制 .env.sample 到 .env 并设置 VITE_MAX_EVENTS_TO_DISPLAY。启动系统:./scripts/start-system.sh 或 just start。

如何使用这个 Agent?

确保服务器和客户端已启动(默认端口 4000 和 5173)。在浏览器中打开 http://localhost:5173。在你的项目中使用 Claude Code 运行命令,例如 git ls-files,观察事件实时流入客户端。你会看到工具调用、会话开始/结束、子代理活动等事件。使用过滤面板按应用、会话、事件类型筛选。可以通过 just 命令管理:just stop 停止,just restart 重启,just test-event 发送测试事件,just health 检查状态。

这个 Agent 与同类方案有什么区别?

没有明确调用其他工具,但类似的可观测性工具可能包括 Langfuse、LangSmith 等。

常见问题

运行系统需要哪些密钥?
只有 ANTHROPIC_API_KEY 是必需的,其他(OpenAI、ElevenLabs、Firecrawl)是可选的。
如何阻止某些工具?
在 pre_tool_use.py 中定义了 deny_tool 逻辑,可阻止危险命令如 rm -rf。你可以编辑该文件来自定义。
事件数据是否包含敏感信息?
钩子脚本会记录工具输入和输出,确保不要在不安全的环境中运行。可以调整脚本以过滤敏感字段。
如果服务器未运行会发生什么?
send_event.py 会验证服务器连接性,如果服务器不可用,事件可能不会发送或记录错误。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents