vivekchand/clawmetry
GitHub: vivekchand/clawmetry
ClawMetry 是一个实时可观测性仪表板,专为监控和管理 AI 智能体的行为、成本与安全性而设计。
Stars: 367 | Forks: 57
# 🦞 ClawMetry

**洞察您的智能体思考。** 针对[OpenClaw](https://github.com/openclaw/openclaw) AI智能体的实时可观测性。
一条命令。零配置。自动检测一切。
```
pip install clawmetry && clawmetry
```
在 **http://localhost:8900** 打开即完成。

## 您将获得什么
- **流程** — 实时动画图表,展示消息在通道、大脑、工具间流动并返回的过程
- **概览** — 健康检查、活动热图、会话计数、模型信息
- **用量** — Token 和成本跟踪,支持每日/每周/每月明细
- **会话** — 活跃的智能体会话,包含模型、Token、最后活动信息
- **定时任务** — 计划作业,包含状态、下次运行时间、持续时间
- **日志** — 颜色编码的实时日志流
- **记忆** — 浏览 SOUL.md、MEMORY.md、AGENTS.md、每日笔记
- **对话记录** — 用于阅读会话历史的聊天气泡界面
- **警报** — 预算上限、错误率触发器、智能体离线检测;路由至 Slack、Discord、PagerDuty、Telegram、电子邮件
- **审批** — 将破坏性删除、强制推送、数据库修改、sudo、软件包安装、网络调用等操作置于一键签核之后
## 截图
### 🧠 大脑 — 实时智能体事件流

### 📊 概览 — Token 用量与会话摘要

### ⚡ 流程 — 实时工具调用反馈

### 💰 Token — 按模型与会话划分的成本明细

### 🧬 记忆 — 工作区文件浏览器

### 🔐 安全 — 态势与审计日志

### 🚨 警报 — 预算上限、错误率触发器、到 Slack / Discord / PagerDuty / 邮件的 Webhook

### ✋ 审批 — 将有风险的工具调用置于手动签核之后;基于策略的保护规则

## 安装
**单行命令(推荐):**
```
curl -sSL https://raw.githubusercontent.com/vivekchand/clawmetry/main/install.sh | bash
```
**pip 安装:**
```
pip install clawmetry
clawmetry
```
**从源码安装:**
```
git clone https://github.com/vivekchand/clawmetry.git
cd clawmetry && pip install flask && python3 dashboard.py
```
## v2 前端开发
v2 版本的 React 应用位于 `frontend/` 目录,当 Flask 服务器启用 v2 功能启动时,通过 `/v2` 路径提供服务。
开发时建议使用两个终端:
```
# 终端 1: Flask API/服务器在 :8900
CLAWMETRY_V2=1 python3 dashboard.py
```
```
# 终端 2: Vite 开发服务器在 :5173
cd frontend
nvm use
npm ci
npm run dev
```
打开 `http://localhost:5173/v2/`。Vite 会将 `/api` 请求代理到 `http://localhost:8900`,因此 React 应用无需额外设置 CORS 即可与本地 Flask 服务器通信。
构建随 Python 包分发的 bundle:
```
cd frontend
npm run build
```
生产环境 bundle 将写入 `clawmetry/static/v2/dist/`。
## 运行时 / 智能体兼容性
ClawMetry 可以观察多种 AI 智能体运行时,不仅仅是 OpenClaw。每个非 OpenClaw 的运行时都附带一个专用的读取器适配器,将其原生的会话格式转换为 ClawMetry 的统一结构;守护进程会将它们导入到同一个 DuckDB 存储 + 云端快照中,并标记运行时来源,当存在多个运行时时,会话回放标签页会显示一个**运行时切换器**。有关完整的兼容矩阵和添加运行时的指南,请参见 [`docs/compatibility.md`](docs/compatibility.md),有关 OpenClaw 系列运行时的入门说明,请参见 [`docs/RUNTIME_FAMILY.md`](docs/RUNTIME_FAMILY.md)。
| 运行时 / 智能体 | 状态 | 备注 |
|---|---|---|
| **OpenClaw** | 原生支持 | 参考运行时,自动检测 |
| **PicoClaw** | Beta 适配器 | 扁平 `providers.Message` JSONL (`~/.picoclaw/workspace/sessions`)。对话记录、模型、工具调用。 |
| **NanoClaw** | Beta 适配器 | 按会话存储的 SQLite (`data/v2-sessions`)。对话记录 + 消息计数。 |
| **Hermes** | Beta 适配器 | SQLite `~/.hermes/state.db`。对话记录、模型、Token/成本。 |
| **Claude Code** | Beta 适配器 | JSONL `~/.claude/projects/.../
.jsonl`。对话记录、模型、工具调用 + 思考过程、Token 用量。 |
| **Codex** | Beta 适配器 | 发布版 JSONL `~/.codex/sessions/...`。对话记录、模型、工具调用、Token 用量。 |
| **Cursor** | Beta 适配器 | SQLite `state.vscdb`。聊天/作曲家对话记录、模型。 |
| **Aider** | Beta 适配器 | 每个项目下的 `.aider.chat.history.md`。对话记录、模型、Token 计数。 |
| **Goose** | Beta 适配器 | SQLite `~/.local/share/goose`。对话记录、模型、工具调用、Token 总量。 |
| **opencode** | Beta 适配器 | SQLite `~/.local/share/opencode`。对话记录、模型、工具调用、Token + 成本。 |
| **Qwen Code** | Beta 适配器 | JSONL `~/.qwen/projects/.../chats`。对话记录、模型、工具调用、Token 用量。 |
“Beta 适配器”意味着 ClawMetry 提供了针对该运行时真实磁盘格式的读取器,每个都基于真实机器上的真实安装进行了构建和验证(参见 `tests/fixtures/runtimes/标签:AI agents, AI监控, API集成, OpenClaw, Web前端, 仪表板, 会话管理, 可观测性, 性能追踪, 成本追踪, 批准门控, 流可视化, 用户代理, 监控工具, 自动化监控, 警报系统, 请求拦截, 逆向工具