为 OpenClaw 智能体提供统一的可观测性解决方案 —— 涵盖指标、追踪与性能洞察。
OpenClaw 智能体需要生产级的可见性。虽然存在多个平台(Langfuse、Langsmith、AgentOps),但缺乏统一的视图。
Agent 可观测性仪表盘提供:
- 指标追踪 — 延迟、成功率、令牌使用量、错误计数
- 追踪可视化 — 工具链、决策流程、会话时间线
- 跨智能体聚合 — 对比多个智能体/会话的性能
- 可导出报告 — 支持 JSON、CSV、Markdown 格式,便于人工审查
- 告警阈值 — 指标超出限制时发送通知
# 启动仪表盘服务器
python3 scripts/observability.py --dashboard
# 记录会话指标
python3 scripts/observability.py --record --session agent:main --latency 1.5 --success true
# 查看会话追踪
python3 scripts/observability.py --trace --session agent:main:12345
# 获取性能报告
python3 scripts/observability.py --report --period 24h
# 导出为 CSV
python3 scripts/observability.py --export metrics.csv
# 设置告警阈值
python3 scripts/observability.py --alert --metric latency --threshold 5.0
| 类别 | 指标 | 描述 |
|---|---|---|
| 性能 | 延迟 | 工具调用延迟(毫秒) |
| 吞吐量 | 每秒调用次数 | |
| 成功率 | 成功率 | 成功工具调用的百分比 |
| 错误计数 | 失败的操作次数 | |
| 成本 | 令牌使用量 | 输入 + 输出令牌数 |
| API 成本 | 以美元估算的成本 | |
| 质量 | 幻觉检测 | 检测到的错误输出 |
| 需修正次数 | 用户修正的次数 |
每个工具调用都会记录以下信息:
- 时间戳
- 智能体会话 ID
- 工具名称 + 参数
- 延迟
- 成功/失败状态
- 令牌使用量
- 错误详情(如果失败)
追踪示例:
{
"session_id": "agent:main:12345",
"trace": [
{
"timestamp": "2026-01-31T14:00:00Z",
"tool": "web_search",
"params": {"query": "agent observability"},
"latency_ms": 1234,
"success": true,
"tokens_used": 150
},
{
"timestamp": "2026-01-31T14:00:02Z",
"tool": "memory_write",
"params": {"content": "..."},
"latency_ms": 45,
"success": true,
"tokens_used": 0
}
]
}
┌─────────────────┐
│ 数据采集层 │ ← 从 OpenClaw 日志自动捕获
└────────┬────────┘
│
▼
┌─────────────────┐
│ 指标存储层 │ ← 使用 SQLite/InfluxDB 存储时间序列数据
└────────┬────────┘
│
▼
┌─────────────────┐
│ 分析引擎 │ ← 聚合、趋势分析、异常检测
└────────┬────────┘
│
▼
┌─────────────────┐
│ 仪表盘 UI │ ← Web 界面(基于 Flask/FastAPI)
└─────────────────┘
# 克隆仓库
git clone https://github.com/orosha-ai/agent-observability-dashboard
# 安装依赖
pip install flask pandas influxdb-client
# 运行仪表盘
python3 scripts/observability.py --dashboard
# 打开 http://localhost:5000