ClawSkills logoClawSkills

Task Monitor

用于 OpenClaw 会话和后台任务的实时 Web 仪表板。支持移动端响应并自动刷新。

介绍

# 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 秒

缓存系统确保: - 绝大多数请求获得闪电般的响应速度 - 不阻塞并发请求 - 缓存过期时优雅降级

更多产品