数据截至 (上游 commit 01198332ef92)
第 4 章 · 编排自动化、安全边界、巧妙之处、代码地图
前三章讲清了「一个 agent 怎么被生出来、靠什么协作、为什么任意 CLI 能接入」。本章讲剩下的自动化机制、安全边界,并提炼可借鉴的精华与横向对比,最后给一张代码地图。
4.1 自动化编排:从「被动看板」到「主动唤醒」
ClawTeam 的基础形态是被动的——agent 要自己路过看板。但它提供了几个主动的协调器,都实现成「前台轮询循环 + 信号优雅退出」的同一套路。
TaskWaiter:leader 阻塞等全员完成
clawteam task wait 背后是 TaskWaiter.wait()(clawteam/team/waiter.py:66-165)。每轮循环做四件事:① 把自己信箱里的消息排干(触发回调);② 探测死掉的 agent,把它没干完的 in_progress 任务退回 pending(_check_dead_agents,第 168-191 行,这是自动故障恢复);③ 统计任务进度;④ 全完成 / 超时 / 被中断则返回。