核心用法
本 Skill 实现 Worker-Monitor 架构 的长任务监控方案(V2),专为需要持续运行数分钟至数小时的任务设计,如 AI 模型训练、数据批量处理等。
工作流程:
1. 创建任务并启动 Worker 子会话执行实际任务
2. 启动 Monitor 子会话通过 hook-logger 插件监控 Worker 日志
3. Monitor 每轮约10分钟通过 Announce 向主会话汇报状态
4. 检测到 Worker 完成或异常时自动触发后续处理
关键命令:long-task.js start/update/complete/status
---
显著优点
- 架构清晰:Worker 专注执行,Monitor 专注监控,主会话协调调度,职责分离明确
- 状态可追踪:每轮监控记录持久化到本地 JSON,便于审计和故障排查
- 异常检测:自动识别 Worker 挂掉(5分钟无日志)和正常完成(agent_end 事件)
- 轮次保护:6轮后询问用户是否继续,防止无限监控
- 安全加固:使用
execFile+ 参数数组防命令注入,输入过滤严格
---
潜在缺点与局限性
| 问题 | 说明 |
|------|------|
| **手动 Session Key 更新** | Worker/Monitor spawn 后需手动执行 update 命令绑定 session key,无法自动关联 |
| **complete 命令 bug** | 当前版本存在 ReferenceError,可能需要手动清理 sessions |
| **完成检测延迟** | Worker 完成后需等待 Monitor 下一轮汇报(最长10分钟)才能感知 |
| **依赖外部插件** | 必须安装 hook-logger 插件,且需特定版本支持 sessionKey 记录 |
| **架构固有限制** | Monitor 必须使用 exec 工具执行 shell 命令写入日志 |
| **版本限制** | 推荐 OpenClaw 2.21+,旧版本可能存在兼容性问题 |
---
适合人群
- 需要运行 10分钟以上长任务 的开发者(训练、爬虫、编译等)
- 使用 OpenClaw 2.21+ 环境的用户
- 能接受 手动 session 管理 和一定程度 命令行操作 的技术用户
- 需要 任务状态持久化记录 的审计敏感场景
不适合:追求完全自动化、零配置体验的用户;无法安装 hook-logger 插件的受限环境。
---
常规风险
1. Session 泄漏风险:task.json 存储 session keys,需确保 ~/.openclaw/workspace/long-tasks/ 目录权限安全
2. Monitor 误报/漏报:依赖日志时间戳判断 Worker 状态,极端情况下可能误判挂掉
3. 僵尸 Session:complete 命令 bug 可能导致 Worker/Monitor sessions 残留,需手动检查 sessions_list
4. hook-logger 供应链风险:插件来源 @scotthuang/hook-logger,需确认 npm 包可信度