← ClaudeAtlas

tmux-ailisted

使用 tmux 协调多个 AI 进程互相协作或 review,子 AI 工作时后台 bash 轮询完成状态,完成后通知主 agent。必须由用户自己调用
beixiyo/dotfiles · ★ 2 · AI & Automation · score 65
Install: claude install-skill beixiyo/dotfiles
## 目标 在 tmux 中拉起子 AI,发送任务,`spawn.sh` 内部自动启动后台 `watch.sh` 轮询。子 AI 完成后,`watch.sh` 用 `tmux send-keys` 通知主 agent,主 agent 再读取结果文件。整个等待过程由纯 bash 完成,主 agent 零 token 消耗 --- ## 工具脚本(均在 `scripts/` 目录,相对于本 skill) | 脚本 | 用途 | |------|------| | `spawn.sh <main_pane> [split-window args...]` | 创建新 pane(默认右分屏 `-h`)+ 生成 session 目录 + **自动启动 watch.sh**,输出 `PANE_ID` 和 `SESSION_DIR` 两行 | | `send.sh <pane_id> <消息>` | 向 pane 发送文本并回车(`-l` literal,特殊字符安全) | | `watch.sh <main_pane> <session_dir> [poll_interval]` | 后台轮询 `$SESSION_DIR/done`,完成后 `tmux send-keys` 通知主 agent(由 spawn.sh 自动调用,无需手动启动) | | `wait-ready.sh <pane_id> <keyword> [timeout] [poll_interval] [delay_after]` | 轮询 pane 内容直到出现 keyword,等待 delay 后退出。默认超时 30s,轮询 1s,delay 3s | | `read.sh <pane_id> [行数]` | 抓取 pane 屏幕内容,用于:1) 查看其他 pane 的实时输出 2) `output.md` 不存在时的降级读取 | ### 已验证 CLI 适配表 | CLI | 启动命令 | wait-ready keyword | delay | |-----|---------|-------------------|-------| | opencode | `opencode` | `Ask anything` | 3s | | claude code | `claude` | `❯` | 3s | > 接入新 CLI 时,手动启动一次观察 TUI 就绪后的**稳定特征文字**,填入 keyword 即可 --- ## 架构 ``` spawn.sh 内部自动启动 watch.sh,主 agent 只需调用 spawn + send 主 agent pane watch.sh (自动) 子 AI pane | | | |-- spawn.sh(main_pane) --> [创建 pane + 启动 watch] | | 返回 SUB_PANE, | 后台每 5s 检查 done | | SESSION_DIR | | |-- send.sh 发任务 ----------------------------------------->|