核心用法
Task Router 是 OpenClaw 多智能体生态的中央任务调度基础设施,通过声明式配置实现复杂工作流的自动化编排。核心操作流包括:智能体注册(声明能力与并发限制)→ 任务创建(指定类型、优先级、TTL)→ 自动路由(基于策略匹配最佳执行者)→ 生命周期追踪(pending→assigned→running→complete/failed)。支持通过 CLI 快速管理,同时提供完整的 TypeScript SDK 供程序化集成。
关键使用场景覆盖五类:程序化创建任务、基于能力的智能路由、多步骤跨智能体工作流协调、异步非阻塞任务移交、以及故障恢复与负载重平衡。开发者可通过 Task.spawn() 实现"即发即忘"模式,或用 Task.wait() 阻塞等待关键结果。
显著优点
1. 声明式架构:YAML 配置驱动,30秒轮询周期、TTL、重试策略、路由算法均可热更新,无需代码变更
2. 灵活路由策略:内置 round-robin、least-loaded、fastest、priority、sticky 五种策略,支持按任务类型与自定义规则动态切换
3. 完整生命周期管理:从依赖解析、阻塞执行到死信队列(Dead Letter Queue)的全状态机管理,故障任务可人工审查或强制重试
4. 多智能体原生:与 OpenClaw 会话系统深度集成,自动处理 sessions_spawn/sessions_send,支持并行任务(Task.parallel)与任务链(Task.chain)
5. 可观测性:结构化日志记录路由决策,支持按状态、创建者、智能体等多维度任务查询与结果导出
潜在局限
- 单点依赖:Router 作为中心化组件,若 HEARTBEAT 中断则整个调度系统停滞,虽有 cron 备用方案但仍属架构瓶颈
- 能力匹配粒度:当前仅支持字符串标签匹配,缺乏语义相似度或能力评分的智能降级机制
- 持久化未明确:任务状态存储于本地文件系统(
~/.openclaw/task-router/queue/),高可用场景需自行扩展分布式存储 - 无内置限流:虽可通过
max_concurrent控制单智能体负载,但全局速率限制、背压机制缺失 - 调试复杂度:分布式追踪能力不足,跨智能体的任务依赖故障定位依赖人工查看多节点日志
适合人群
- 构建 3 个以上专业化智能体的 OpenClaw 用户
- 需要异步执行长时间任务(研究、生成、分析)而不阻塞主会话的场景
- 追求工作流可编排而非硬编码的自动化工程师
- 具备基础运维能力、能维护 HEARTBEAT 与本地文件存储的技术团队
常规风险
1. 任务堆积风险:若智能体故障未被及时检测(agent_timeout 默认 300 秒),大量任务可能进入重试循环耗尽资源
2. 级联失败:依赖链中任一任务死信将导致下游任务永久阻塞,需人工介入 dead-letter 队列清理
3. 权限边界模糊:SDK 未显式区分任务创建者与执行者的权限,恶意或误操作智能体可能 Task.claim 非授权任务
4. TTL 配置陷阱:默认 3600 秒对于复杂研究任务可能过短,频繁超时重试将造成重复计算与 API 配额浪费
5. 数据残留:已完成任务默认保留于文件系统,长期运行需配合 task router cleanup 避免磁盘膨胀,自动化清理策略未内置