用途:把 Devin CLI 子智能体作为后台工作者并行运行,适合把独立的研究、重构或测试任务扇出给多个智能体,或让长时间运行的 Devin 会话在后台保持存活,同时协调各自拥有独立任务与上下文的多个智能体。
使用前需在每个会话中做一次初始化:解析 TMUX=$(which tmux) 作为 tmux 二进制绝对路径,SESSION=$("$TMUX" display-message -p '#S') 作为当前会话名。若环境中 TMUX 未设置,说明不在 tmux 会话内,辅助脚本会拒绝运行,需先用 tmux new -s work 启动并重新在其中启动 Devin。
辅助脚本位于技能目录 skills/tmux/ 下:scripts/spawn_subagent.sh <window-name> [command] 创建新窗口并启动子智能体,默认命令为 devin --permission-mode dangerous;scripts/send_command.sh <window-name> <command> 发送文本、等待 1 秒后回车;scripts/exit_subagent.sh <window-name> 发送 /exit、等待 1 秒后若窗口仍在则杀掉。脚本成功输出 Done,失败输出 error: 行并以非零状态退出。
典型流程:用 spawn_subagent.sh 启动窗口;用 send_command.sh 下发任务,要求子智能体把结果写入指定文件(如 /tmp/<window-name>.md)并在完成时通知父智能体;等待通知而非循环轮询 capture-pane;读取输出文件;最后用 exit_subagent.sh 清理。
硬性要求:只使用 tmux 窗口而非窗格;窗口名必须遵循 agent-{task}-{number} 格式;通过 display-message 或 agentmail 等待通知,不要循环轮询 capture-pane;优先使用三个辅助脚本,仅调试或边缘情况才回退到原始 tmux 命令;每个子任务必须把结果写入已知文件路径,不要从窗格中抓取。
完成信号:让子智能体执行 tmux display-message -d 5000 "<window-name>: <short message>",父智能体会在状态行收到消息。可发送给子智能体的常用命令包括 /exit、/clear、/compact handoff:<info>。原始 tmux 命令速查见 references/tmux-commands.md,仅用于调试。其余细节暂未提供。