task-monitor

📊 OpenClaw 实时会话监控中心

OpenClaw 官方生态的实时监控仪表板,提供 Web 界面和 API 端点追踪会话、子代理及定时任务状态,助力开发者高效掌握系统运行全貌。

收藏
4.8k
安装
1.2k
版本
0.0.0
CLS 安全性认证2026-05-21
点击查看完整报告 >

使用说明

核心用法

Task Monitor 是专为 OpenClaw 生态系统打造的实时监控仪表板,通过 Web 界面和 REST API 提供系统状态的可视化呈现。用户执行 ./scripts/start-server.sh 即可在 3030 端口启动服务,随后通过浏览器访问 http://localhost:3030 或局域网 IP 查看实时数据。核心功能包括:主会话状态追踪、Discord 会话监控、活跃子代理列表展示,以及定时任务历史记录。系统采用客户端轮询机制(60 秒间隔)实现自动刷新,同时提供 curl http://localhost:3030/api/status 的纯 JSON 接口供程序化调用。

技术实现上,该 Skill 通过调用 openclaw sessions list --jsonopenclaw cron list --json 命令获取原始数据,经解析后通过 Express 服务器对外提供。内置双层缓存机制(30 秒 TTL 会话缓存 + 5 分钟定时任务缓存)确保 API 响应时间低于 100 毫秒,相比无缓存时的 15 秒阻塞式响应提升约 365 倍性能。此外,系统保留向后兼容的 Markdown 生成能力,每 5 分钟通过 CRON 任务自动更新 DASHBOARD.md 文件。

显著优点

极简依赖架构:仅依赖 Express 4.22.1 单一生产依赖,无前端框架负担,纯 HTML/CSS/JS 实现,大幅降低维护复杂度和供应链攻击面。性能优化出色:Stale-while-revalidate 缓存模式兼顾响应速度与数据新鲜度,预加载机制确保首屏体验,异步后台刷新避免阻塞用户请求。移动优先设计:响应式布局适配手机和平板,渐变暗色主题符合开发者审美偏好。生态深度整合:作为 OpenClaw 官方社区项目,与 CLI 工具链无缝衔接,数据源自系统原生输出,准确性和实时性有保障。

潜在缺点与局限性

安全机制缺失:无身份验证、无 HTTPS、默认绑定 0.0.0.0 导致局域网内任意设备可访问,存在信息泄露风险。功能边界有限:纯只读监控,不支持远程控制或配置修改;数据可视化能力基础,无图表组件,仅列表和文本展示。扩展性约束:硬编码的 3030 端口和 60 秒轮询间隔无法通过配置调整;缓存 TTL 固定,未开放自定义接口。单点故障风险:依赖本地 openclaw CLI 可用性,若主程序异常则监控数据中断;无持久化存储,重启后历史数据丢失。

适合的目标群体

OpenClaw 重度用户:需要同时管理多个会话、子代理和定时任务的开发者,可通过单一界面掌握全局状态。小型团队协作:局域网内共享监控视图,快速定位阻塞任务或异常会话,提升调试效率。运维和 DevOps 人员:利用 API 端点集成到现有监控体系,或配合 CRON 生成的 Markdown 文档进行离线审计。教育和技术演示场景:简洁的架构设计适合作为 Node.js 服务端开发、缓存策略实现的参考案例。

使用风险

网络暴露风险:默认配置下服务监听所有网络接口,公共 Wi-Fi 或企业内网环境中可能被未授权访问,建议通过防火墙限制 3030 端口或修改绑定地址为 127.0.0.1。性能与资源消耗:虽然缓存机制优化了响应速度,但每 30 秒执行 openclaw 命令仍会产生周期性负载,大规模部署时需评估对主系统的影响。数据准确性延迟:缓存策略导致数据最大滞后 30 秒,对实时性要求极高的场景(如金融交易监控)不适用。版本兼容性:紧密耦合 OpenClaw CLI 输出格式,若主程序升级变更 JSON 结构可能导致解析失败。

安全解读

核心用法

Task Monitor 是专为 OpenClaw 设计的实时 Web 监控仪表盘,通过本地 HTTP 服务器(默认端口 3030)提供会话状态、Discord 连接、子代理活动和定时任务的可视化监控。

启动方式

./scripts/start-server.sh  # 启动服务
# 访问 http://localhost:3030 查看仪表盘

关键特性

  • 纯前端实现:无框架依赖的 HTML/CSS/JS,确保轻量快速
  • 智能缓存:30 秒 TTL 内存缓存,命中响应 <100ms,相比无缓存的 15 秒提升 365 倍
  • Stale-While-Revalidate:缓存过期时先返回旧数据、后台异步刷新,保证用户体验
  • 双模式输出:Web 仪表盘 + 遗留 Markdown 生成器(generate-dashboard.js

---

显著优点

| 维度 | 表现 |
|------|------|
| **性能优化** | 缓存机制将 API 响应从 15 秒降至 <100ms,采用 stale-while-revalidate 模式避免阻塞 |
| **移动体验** | 响应式设计,针对手机/平板优化,支持 60 秒自动刷新 |
| **架构简洁** | 仅依赖 Express 4.22.1,无前端框架,维护成本低 |
| **本地优先** | 零外部 API 调用,所有数据来自本地 OpenClaw CLI,隐私可控 |

---

潜在缺点与局限性

安全隐患(需重点关注)

1. 命令注入风险(RISK-001):使用 child_process.exec 执行 openclaw 命令,虽当前为硬编码,但 shell 解释器存在注入隐患。建议改用 execFile

2. 网络暴露风险(RISK-002):默认绑定 0.0.0.0:3030,局域网可访问;/api/status 无身份验证,会话元数据可能泄露。

3. 路径遍历可能(RISK-003)sessionId 直接拼接文件路径,缺乏输入验证。

功能局限

  • 仅支持单节点监控,无多代理聚合能力
  • 无历史趋势图表,仅显示当前状态
  • CRON 调度固定为 5 分钟间隔,不可配置

---

适合人群

  • OpenClaw 重度用户:需要实时监控多个会话和子代理
  • 本地开发调试:排查会话状态、定时任务执行问题
  • 个人/小团队:单节点部署,无复杂安全合规要求
  • 生产环境多用户:缺乏访问控制和审计日志
  • 高安全要求场景:未修复的命令注入和网络暴露风险

---

常规风险

| 风险项 | 等级 | 说明 |
|--------|------|------|
| 命令注入 | 中 | `exec` 调用 shell,未来代码变更可能引入注入 |
| 未授权访问 | 中 | LAN 暴露 + 无 API 认证,会话数据可被抓取 |
| 路径遍历 | 低 | `sessionId` 未验证,理论存在 `../` 风险 |
| 日志泄露 | 低 | 日志文件权限未强制限制,可能含敏感信息 |
| 供应链 | 低 | 单一 Express 依赖,无已知 CVE |

缓解建议

  • 立即修改 HOST127.0.0.1,或添加防火墙规则限制 3030 端口
  • 审查代码后部署,避免直接用于公网环境
  • 关注项目更新,预计 v0.2 会修复核心安全问题

task-monitor 内容

scripts文件夹
手动下载zip · 14.3 kB
generate-dashboard.jstext/javascript
请选择文件