🚀 多 Agent 系统缓存监控与性能可视化仪表板
OpenClaw Dashboard 是一个专为多 Agent 系统设计的监控仪表板,提供:
- ✅ 实时缓存命中率监控
- ✅ Agent 性能分析
- ✅ 项目维度统计
- ✅ 告警通知
- ✅ 飞书集成
核心价值:
- 📊 可视化:告别命令行,直观的数据图表
⚠️ 告警:命中率偏低时自动通知- 📈 趋势:7 天趋势分析,发现性能问题
- 🎯 优化:定位低效环节,持续改进
- 核心指标:命中率、总读取次数、节省时间
- 按类型统计:TA 分析、CTO 决策、代码理解、审查意见等
- 项目对比:多个项目的命中率对比
- 趋势分析:近 7 天命中率变化趋势
- 架构审查覆盖率:执行架构审查的任务比例
- 重构建议数:提出的重构建议数量
- 架构维度评分:6 个维度(SRP/依赖/配置/错误处理/日志/扩展性)平均分
- 重构采纳率:OpenCode 已执行的重构比例
- 命中率告警:低于 50% 时触发警告
- 异常检测:突然下降时通知
- 优化建议:自动给出改进建议
- 每日报告:每天早上 9:00 自动发送
- 告警推送:实时推送异常告警
- 一键访问:报告含 Dashboard 链接
- 插件化设计:轻松添加新监控模块
- REST API:便于集成其他系统
- 自定义主题:支持 UI 主题定制
- Node.js >= 16
- npm >= 8
- (可选)飞书开放平台账号
# 1. 克隆项目
cd ~/git
git clone https://github.com/yourusername/openclaw-dashboard.git
cd openclaw-dashboard
# 2. 安装依赖
npm install
# 3. 启动 Dashboard 服务器
npm start
# 4. 访问仪表板
open http://localhost:3000环境变量(可选):
# .env 文件
PORT=3000
FEISHU_WEBHOOK_URL=https://open.feishu.cn/open-apis/bot/v2/hook/xxx
FEISHU_APP_ID=cli_xxx
FEISHU_APP_SECRET=xxx- 核心指标卡片:命中率、读取次数、节省时间、活跃项目
- 趋势图表:近 7 天命中率变化
- 类型统计:各类型缓存的命中情况
- 项目监控:每个项目的详细指标
- 告警信息:需要关注的异常
每天早上 9:00 自动发送:
- 核心指标汇总
- 按类型统计
- 项目监控
- 告警信息
- Dashboard 链接
server/
├── index.js # HTTP 服务器
├── metrics-aggregator.js # 数据聚合
└── api/
├── metrics.js # 指标 API
├── alerts.js # 告警 API
└── projects.js # 项目 API
dashboard/
├── index.html # 主页面
├── css/
│ └── style.css # 样式表
└── js/
├── charts.js # 图表组件
└── dashboard.js # Dashboard 逻辑
scripts/
├── daily-report.js # 每日报告生成
├── send-feishu.js # 飞书推送
└── aggregate-metrics.js # 数据聚合
openclaw-dashboard/
├── README.md
├── package.json
├── server/
│ ├── index.js
│ ├── metrics-aggregator.js
│ └── api/
├── dashboard/
│ ├── index.html
│ ├── css/
│ └── js/
├── scripts/
│ ├── daily-report.js
│ └── send-feishu.js
├── docs/
│ ├── INSTALL.md
│ ├── CONFIG.md
│ └── EXTENSION.md
└── examples/
└── sample-data.json
npm start# 编辑配置文件
cp config.example.js config.js
# 填写飞书 Webhook URL
nano config.js# 每天 9:00 发送报告
crontab -e
# 添加以下行
0 9 * * * node /path/to/openclaw-dashboard/scripts/daily-report.js| 指标 | 说明 | 计算方式 |
|---|---|---|
| 命中率 | 缓存命中的比例 | 命中次数 / 总读取次数 × 100% |
| 总读取次数 | 缓存读取总次数 | 累加所有读取操作 |
| 节省时间 | 因缓存节省的时间 | 命中次数 × 平均节省时间 |
| 活跃项目 | 有缓存读取的项目数 | 统计项目数量 |
| 告警类型 | 阈值 | 建议操作 |
|---|---|---|
| 命中率偏低 | < 50% | 检查缓存策略 |
| 命中率突降 | 较昨日下降 > 20% | 检查代码变更 |
| 读取异常 | 单项目读取 > 1000 次/天 | 检查是否有死循环 |
- 创建监控数据收集器
- 添加 API 路由
- 更新前端 Dashboard
- 添加配置选项
使用 Chart.js 或 ECharts:
// dashboard/js/charts.js
import { Chart } from 'chart.js';
const ctx = document.getElementById('myChart');
new Chart(ctx, {
type: 'bar',
data: { /* ... */ },
options: { /* ... */ }
});欢迎提交 Issue 和 Pull Request!
# Fork 项目
git clone https://github.com/yourusername/openclaw-dashboard.git
# 创建分支
git checkout -b feature/your-feature
# 开发并提交
git commit -m "feat: add new feature"
# 推送到 GitHub
git push origin feature/your-featurefeat:新功能fix:Bug 修复docs:文档更新style:代码格式refactor:重构test:测试chore:构建/工具
MIT License © 2026 OpenClaw Contributors
- OpenClaw - 多 Agent 协作框架
- Chart.js - 图表库
- Feishu Open Platform - 飞书开放平台
- GitHub Issues: https://github.com/yourusername/openclaw-dashboard/issues
- Discord: https://discord.gg/xxx
- 微信群: 扫码加入(见 docs/wechat-group.png)
Last updated: 2026-04-23

