介绍
# Task Monitor v0.1
OpenClaw 的实时监控仪表板,配备 Web 界面。
## 功能特性
- 🌐 **Web 仪表板** - 美观、响应式的 UI,可从任何设备访问 - 📱 **移动优先** - 针对手机和平板电脑进行了优化 - 🔄 **自动刷新** - 每 60 秒更新一次 - 🎨 **现代设计** - 带有深色主题的渐变 UI - 📊 **实时数据** - 主会话、Discord、子代理、定时任务 - 🚀 **快速 API** - 带有智能缓存(30秒 TTL)的 JSON 端点 - ⚡ **性能** - <100ms 响应时间(缓存),~15s 冷缓存
## 安装
```bash cd skills/task-monitor npm install ```
## 使用方法
### 启动 Web 服务器
```bash ./scripts/start-server.sh ```
服务器将在端口 **3030** 上运行(可在局域网中访问)。
**访问地址:** - 本地:`http://localhost:3030` - 局域网:`http://<your-ip>:3030`
### 停止服务器
```bash ./scripts/stop-server.sh ```
### API 端点
```bash curl http://localhost:3030/api/status ```
返回包含以下内容的 JSON: - 主会话统计 - Discord 会话统计 - 活跃子代理(含描述) - 最近的定时任务历史
### 生成 Markdown (v0.1)
旧版 Markdown 生成器仍然可用:
```bash ./scripts/generate-dashboard.js ```
更新工作区根目录下的 `DASHBOARD.md`。
## 自动化
CRON 任务每 5 分钟运行一次以更新 Markdown 仪表板: `*/5 * * * *` -> 执行 `generate-dashboard.js`
## 架构
- **后端:** Node.js + Express - **前端:** 纯 HTML/CSS/JS(无框架) - **数据源:** `openclaw sessions list --json` + `openclaw cron list --json` - **缓存:** 内存缓存,TTL 为 30 秒 - 服务器启动时预热 - 过期时异步后台刷新 - 采用 Stale-while-revalidate 模式以获得最佳用户体验 - **刷新:** 客户端轮询(60秒间隔)
## 性能
**无缓存时:** - API 响应时间:~15 秒(阻塞) - 问题:每个请求都会阻塞 Node.js 事件循环
**有缓存时:** - 缓存命中:<100ms(快约 365 倍) - 缓存未命中:~15s(仅首次请求) - 过期缓存:后台刷新时 <100ms - 缓存 TTL:30 秒
缓存系统确保: - 绝大多数请求获得闪电般的响应速度 - 不阻塞并发请求 - 缓存过期时优雅降级