技能标识:task-engine
Multi-agent task orchestration engine with state machine tracking. Use when complex multi-step projects need automated monitoring, multi-agent collaboration, and Discord-based progress tracking.
使用基于JSON持久化的状态机,跨多个智能体(Claude Code、Eva等)编排多步骤项目。每个任务都有分派给智能体的子任务,通过心跳进行跟踪,并通过Discord报告。
所有命令均从技能根目录运行:
bash
cd /home/zeron/.openclaw/workspace/skills/task-engine
所有命令均支持--json参数以输出机器可读格式:
json
{ok: true, task_id: TASK-001, status: PLANNING, message: 已创建 TASK-001}
bash
python3 scripts/task_engine.py create 实现功能X --priority P0 --plan 3个阶段:模型、API、测试
python3 scripts/task_engine.py create 功能Y --priority P1 --json
bash
python3 scripts/task_engine.py status # 所有活跃任务(表格形式)
python3 scripts/task_engine.py status TASK-001 # 单个任务详情
python3 scripts/task_engine.py status TASK-001 --json # 机器可读格式
python3 scripts/task_engine.py status --all # 包含已终止任务
bash
python3 scripts/task_engine.py transition TASK-001 approve --note 计划已批准 --json
python3 scripts/task_engine.py transition TASK-001 block --note 等待API密钥
python3 scripts/task_engine.py transition TASK-001 complete --note 全部已验证 --json
bash
python3 scripts/task_engine.py dispatch TASK-001 实现认证模型 \
--agent claude-code --type dev --json
python3 scripts/task_engine.py dispatch TASK-001 运行集成测试 \
--agent eva --type test --deps subtask01,subtask02
分派第一个子任务会自动将状态从APPROVED转换为IN_PROGRESS。
bash
python3 scripts/taskengine.py subtask TASK-001 subtask01 start --progress 30 --json
python3 scripts/taskengine.py subtask TASK-001 subtask01 done --note 模型已完成 --json
python3 scripts/taskengine.py subtask TASK-001 subtask02 fail --note 模式不匹配 --json
bash
python3 scripts/task_engine.py check # 检查所有活跃任务(详细模式)
python3 scripts/task_engine.py check TASK-001 # 检查单个任务
python3 scripts/task_engine.py check --quiet # 最小化输出(适用于cron)
python3 scripts/task_engine.py check --json # 机器可读JSON
python3 scripts/task_engine.py check --discord # Discord格式摘要
bash
python3 scripts/task_engine.py archive TASK-001 --json # 仅适用于已终止任务
自动分派会扫描子任务并将就绪的子任务分派给合适的智能体:
bash
python3 scripts/task_engine.py auto-dispatch TASK-001 # 分派就绪子任务
python3 scripts/task_engine.py auto-dispatch TASK-001 --dry-run # 预览而不执行
python3 scripts/task_engine.py auto-dispatch --all # 所有活跃任务
python3 scripts/taskengine.py auto-dispatch TASK-001 --subtask subtask02 # 指定子任务
python3 scripts/taskengine.py auto-dispatch TASK-001 --subtask subtask01 --show-context # 查看分派上下文
输出始终为JSON格式,包含dispatches和skipped数组。
生成Discord格式的通知消息:
bash
python3 scripts/task_engine.py notify digest # 完整心跳摘要
python3 scripts/task_engine.py notify TASK-001 created # 任务创建消息
python3 scripts/task_engine.py notify TASK-001 status # 带进度的状态更新
python3 scripts/task_engine.py notify TASK-001 transition # 最近一次转换
python3 scripts/task_engine.py notify TASK-001 completed # 完成摘要
python3 scripts/taskengine.py notify TASK-001 alert --type stuck --subtask-id subtask01
如果index.json损坏,从任务目录重建:
bash
python3 scripts/task_engine.py rebuild-index # 扫描并重建
python3 scripts/task_engine.py rebuild-index --json # 机器可读输出
在心跳的cmd_beat()函数中,在ongoing.json检查之后添加步骤4.3:
python
该检查开销很小(对于1-3个活跃任务,每次心跳约300-500个token)。它首先读取index.json,然后仅加载活跃任务的任务/子任务文件。
PLANNING ──approve──> APPROVED ──start──> IN_PROGRESS ──test──> TESTING ──review──> REVIEW ──complete──> COMPLETED
│ │ │ │ │ │
│reject block│ │fail reopen│ │fail reopen│ fail
v v v v v v v
REJECTED BLOCKED FAILED INPROGRESS FAILED INPROGRESS FAILED
│
unblock│
v
IN_PROGRESS
终止状态:COMPLETED、FAILED、REJECTED。
完整转换表请参见references/state-transitions.md。
PENDING -> ASSIGNED -> IN_PROGRESS -> DONE
│ │
│block │fail / block
v v
BLOCKED FAILED / BLOCKED
| 条件 | 操作 |
|---|---|
| 所有type: dev子任务DONE | 任务 -> TESTING |
| 所有type: test子任务DONE |
discord_formatter.py模块生成用于Discord通知的格式化消息。所有格式化均为纯字符串生成——不涉及API调用。
可用格式:
进度条渲染为:[████░░░░░░] 40%
| 智能体 | 键值 | 最适合 | 最大并行数 |
|---|---|---|---|
| Claude Code | claude-code | 开发、重构、调试、文档 | 3 |
| Eva |
智能体选择优先级:
详细信息请参见references/agent-capabilities.md。
bash
python3 scripts/task_engine.py rebuild-index --json
扫描所有tasks/TASK-*/task.json文件并重建
以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:
帮我安装 SkillHub 和 task-engine-1776291246 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 task-engine-1776291246 技能
skillhub install task-engine-1776291246
文件大小: 54.13 KB | 发布时间: 2026-4-16 15:38