动态仪表板与子代理生成
静态仪表板显示过时数据,需要不断手动更新。您需要跨多个数据源的实时可见性,而无需构建自定义前端或触碰 API 速率限制。
此工作流程创建一个实时仪表板,生成子代理来并行获取和处理数据:
• 同时监控多个数据源(API、数据库、GitHub、社交媒体) • 为每个数据源生成子代理以避免阻塞并分散 API 负载 • 将结果聚合到统一仪表板(文本、HTML 或 Canvas) • 每 N 分钟用新数据更新 • 当指标超过阈值时发送警报 • 在数据库中维护历史趋势以便可视化
痛点
构建自定义仪表板需要数周时间。等到完成时,需求已经改变。顺序轮询多个 API 很慢且触碰速率限制。您现在就需要洞察,而不是花一个周末编码之后。
功能介绍
您可以通过对话方式定义您想要监控的内容:"追踪 GitHub 星标、Twitter 提及、Polymarket 量级和系统健康。"OpenClaw 生成子代理并行获取每个数据源,聚合结果,并将格式化的仪表板发送到 Discord 或作为 HTML 文件。更新按定时计划自动运行。
示例仪表板部分:
- GitHub:星标、分支、打开的问题、最近提交
- 社交媒体:Twitter 提及、Reddit 讨论、Discord 活动
- 市场:Polymarket 量级、预测趋势
- 系统健康:CPU、内存、磁盘使用率、服务状态
所需技能
- 子代理生成用于并行执行
github(gh CLI)用于 GitHub 指标bird(Twitter)用于社交数据web_search或web_fetch用于外部 APIpostgres用于存储历史指标- Discord 或 Canvas 用于渲染仪表板
- 定时任务用于计划更新
如何设置
- 设置指标数据库:
sql
CREATE TABLE metrics (
id SERIAL PRIMARY KEY,
source TEXT, -- 例如 "github", "twitter", "polymarket"
metric_name TEXT,
metric_value NUMERIC,
timestamp TIMESTAMPTZ DEFAULT NOW()
);
CREATE TABLE alerts (
id SERIAL PRIMARY KEY,
source TEXT,
condition TEXT,
threshold NUMERIC,
last_triggered TIMESTAMPTZ
);创建 Discord 频道用于仪表板更新(例如 #dashboard)。
指示 OpenClaw:
text
您是我的动态仪表板管理器。每 15 分钟运行一个定时任务来:
1. 并行生成子代理从以下来源获取数据:
- GitHub:星标、分支、打开的问题、提交(过去 24 小时)
- Twitter:提及 "@username",情感分析
- Polymarket:追踪市场的量级
- 系统:通过 shell 命令获取 CPU、内存、磁盘使用率
2. 每个子代理将结果写入指标数据库。
3. 聚合所有结果并格式化仪表板:
📊 **仪表板更新** — [时间戳]
**GitHub**
- ⭐ 星标:[数量] (+[变化])
- 🍴 分支:[数量]
- 🐛 打开的问题:[数量]
- 💻 提交(24小时):[数量]
**社交媒体**
- 🐦 Twitter 提及:[数量]
- 📈 情感:[正面/负面/中性]
**市场**
- 📊 Polymarket 量级:$[金额]
- 🔥 趋势:[市场名称]
**系统健康**
- 💻 CPU:[使用率]%
- 🧠 内存:[使用率]%
- 💾 磁盘:[使用率]%
4. 发布到 Discord #dashboard。
5. 检查警报条件:
- 如果 GitHub 星标 1 小时内变化 > 50 → 提醒我
- 如果系统 CPU > 90% → 警报
- 如果 Twitter 上负面情感激增 → 通知
将所有指标存储在数据库中以进行历史分析。可选:使用 Canvas 渲染带有图表的 HTML 仪表板。
查询历史数据:"显示过去 30 天的 GitHub 星标增长。"