Skip to content

动态仪表板与子代理生成

静态仪表板显示过时数据,需要不断手动更新。您需要跨多个数据源的实时可见性,而无需构建自定义前端或触碰 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_searchweb_fetch 用于外部 API
  • postgres 用于存储历史指标
  • Discord 或 Canvas 用于渲染仪表板
  • 定时任务用于计划更新

如何设置

  1. 设置指标数据库:
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
);
  1. 创建 Discord 频道用于仪表板更新(例如 #dashboard)。

  2. 指示 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 上负面情感激增 → 通知

将所有指标存储在数据库中以进行历史分析。
  1. 可选:使用 Canvas 渲染带有图表的 HTML 仪表板。

  2. 查询历史数据:"显示过去 30 天的 GitHub 星标增长。"

相关链接

MIT 许可证发布