用途:在需要交互式 TTY 时,通过 tmux 发送按键、抓取窗格输出,远程控制交互式 CLI;非交互的长任务建议优先用 exec 后台模式。
快速开始:先建独立 socket 目录,再用 exec 工具执行命令,例如: SOCKET_DIR="${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/moltbot-tmux-sockets}" mkdir -p "$SOCKET_DIR" SOCKET="$SOCKET_DIR/moltbot.sock" SESSION=moltbot-python tmux -S "$SOCKET" new -d -s "$SESSION" -n shell tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'PYTHON_BASIC_REPL=1 python3 -q' Enter tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200 启动会话后应打印监控命令,如 tmux -S "$SOCKET" attach -t "$SESSION" 和 capture-pane 命令。
主要能力与约定:socket 默认位于 $CLAWDBOT_TMUX_SOCKET_DIR/moltbot.sock;目标格式为 session:window.pane(默认 :0.0),命名要短且避免空格;查看会话用 list-sessions,查看窗格用 list-panes -a;用 {baseDir}/scripts/find-sessions.sh 查找会话,--all 扫描所有 socket。发送输入优先用 literal:tmux -S "$SOCKET" send-keys -t target -l -- "$cmd";控制键如 C-c;抓取输出用 capture-pane -p -J -t target -S -200;可用 {baseDir}/scripts/wait-for-text.sh 等待提示符。attach 后按 Ctrl+b d 分离。Python REPL 需设 PYTHON_BASIC_REPL=1,否则会破坏 send-keys 流程。
适用场景:并行编排多个编码智能体(如 Codex、Claude Code)时,可创建多个会话、在不同工作目录启动命令,并通过抓取最后几行判断是否出现提示符(❯ 或 $)来检测完成;建议用独立 git worktree、先 pnpm install,Codex 非交互修复需 --yolo 或 --full-auto。清理可用 kill-session、批量 kill-session 或 kill-server。
限制:仅支持 macOS/Linux;Windows 需在 WSL 内安装 tmux;该 skill 限定 darwin/linux,且要求 tmux 在 PATH 中。wait-for-text.sh 参数:-t 目标(必填)、-p 模式(必填,-F 为固定字符串)、-T 超时秒数(默认 15)、-i 轮询间隔(默认 0.5)、-l 搜索历史行数(默认 1000)。