Back to Picoclaw

🔄 异步任务与 Spawn

docs/guides/spawn-tasks.zh.md

0.2.82.1 KB
Original Source

🔄 异步任务与 Spawn

返回 README

PicoClaw 通过 spawn 工具支持异步任务执行。主要由 Heartbeat(心跳) 系统使用,在不阻塞主 Agent 循环的情况下运行耗时任务。

Heartbeat

心跳系统会定期检查 workspace/HEARTBEAT.md 中的计划任务。首次运行时会自动生成默认模板,你可以自定义它来定义快速任务(内联处理)和长任务(通过 spawn 委派)。

HEARTBEAT.md 示例:

markdown
## Quick Tasks (respond directly)

- Report current time

## Long Tasks (use spawn for async)

- Search the web for AI news and summarize
- Check email and report important messages

关键行为:

特性描述
spawn创建异步子 Agent,不阻塞主心跳进程
独立上下文子 Agent 拥有独立上下文,无会话历史
message tool子 Agent 通过 message 工具直接与用户通信
非阻塞spawn 后,心跳继续处理下一个任务

子 Agent 通信原理

心跳触发 (Heartbeat triggers)
    ↓
Agent 读取 HEARTBEAT.md
    ↓
对于长任务: spawn 子 Agent
    ↓                           ↓
继续下一个任务               子 Agent 独立工作
    ↓                           ↓
所有任务完成                 子 Agent 使用 "message" 工具
    ↓                           ↓
响应 HEARTBEAT_OK            用户直接收到结果

子 Agent 可以访问工具(message, web_search 等),并且无需通过主 Agent 即可独立与用户通信。

配置:

json
{
  "heartbeat": {
    "enabled": true,
    "interval": 30
  }
}
选项默认值描述
enabledtrue启用/禁用心跳
interval30检查间隔,单位分钟 (最小: 5)

环境变量:

  • PICOCLAW_HEARTBEAT_ENABLED=false 禁用
  • PICOCLAW_HEARTBEAT_INTERVAL=60 更改间隔