用途:当需要交互式 TTY 时,用 tmux 远程驱动交互式 CLI,方式为发送按键并抓取 pane 输出;长时非交互任务优先用后台执行模式。
主要能力:在独立 socket 上创建会话、发送字面输入(-l)与控制键(如 C-c)、抓取最近历史输出(capture-pane -p -J -t target -S -200)、按正则或固定字符串轮询等待提示符,并可列出会话与 pane。
使用方式:采用私有 socket 约定,SOCKET_DIR="${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/clawdbot-tmux-sockets}",SOCKET="$SOCKET_DIR/clawdbot.sock";创建 tmux -S "$SOCKET" new -d -s "$SESSION" -n shell,发送 tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 命令。目标格式为 session:window.pane,默认 :0.0,名称保持简短且不含空格。可用 {baseDir}/scripts/find-sessions.sh -S "$SOCKET" 或 --all 查找会话;用 {baseDir}/scripts/wait-for-text.sh -t session:0.0 -p 'pattern'(可加 -F、-T、-i、-l)等待提示。附加后可用 Ctrl+b d 分离。
适用场景:驱动需要交互界面的 CLI,以及并行运行多个编码代理(如 Codex、Claude Code)。示例中可创建多个会话并分别在不同工作目录启动代理,再轮询提示符判断完成状态并抓取完整输出;提示包括并行修复使用独立 git worktree、新克隆先执行 pnpm install、通过 shell 提示符检测完成,Codex 需 --yolo 或 --full-auto。
限制:macOS/Linux 支持,Windows 需在 WSL 内安装 tmux;技能限定 darwin/linux 且要求 tmux 在 PATH 中。Python REPL 需设 PYTHON_BASIC_REPL=1,否则非 basic REPL 会破坏 send-keys 流程。清理方式:kill-session、按 socket 批量 kill-session 或 kill-server。具体安装与收费信息暂未提供。