Task Runner Skill 综合评估
核心用法
Task Runner 是一个持久化、守护进程风格的任务队列系统,采用双模式架构运作:
1. INTAKE 模式(用户触发):解析自然语言任务描述,将任务结构化后存入 ${TASK_RUNNER_DIR}/task-queue.json,立即确认并触发调度器。
2. DISPATCHER 模式(自动执行):通过心跳/定时轮询检查队列状态,按 maxConcurrent 限制并发派发任务给子代理执行,并监控完成、失败、阻塞等状态。
系统首次使用时自动完成初始化:创建目录、初始化队列文件、注册心跳条目、部署 15 分钟备份定时任务,全程无需手动配置。
显著优点
- 零配置启动:自动检测首次运行并完成全部基础设施部署
- 持久化可靠:单文件队列设计,支持任务重试、状态追踪、历史归档
- 弹性并发控制:可配置最大并发数,防止资源过载
- 完整生命周期管理:pending → running → done/blocked,支持跳过、取消、手动重试
- 多触发保障:即时调度为主,心跳+定时任务为备份,确保任务不被遗漏
- 子代理隔离:每个任务独立会话执行,故障隔离
潜在缺点与局限性
- 单点队列文件:所有任务存储于单一 JSON 文件,高并发写入场景存在理论竞态风险(依赖文件系统原子写)
- 无内置持久化数据库:极端情况下文件损坏可能导致队列丢失
- 依赖子代理能力:任务执行质量受限于子代理的推理与工具调用能力
- 阻塞任务需人工介入:复杂失败场景不会自动降级,需用户明确操作
- 无跨任务依赖自动编排:需手动设置阻塞理由,不支持声明式 DAG
适合人群
- 需要长期、异步、多步骤任务管理的用户
- 希望用自然语言批量提交工作并自动执行的开发者
- 需要可靠重试机制和失败通知的生产工作流场景
- 不追求复杂工作流编排的简单自动化需求
常规风险
- 任务堆积风险:大量任务涌入时可能形成长队列,需关注
archiveDays配置 - 子代理失败级联:若任务间隐含依赖未声明,可能导致后续任务连锁阻塞
- 配置漂移:手动修改
TOOLS.md后需验证路径权限和并发数合理性 - 安全风险:队列文件若位于共享目录,可能存在信息泄露风险(建议保持
~/.openclaw/私有权限)