用途:该技能仅在需要交互式 TTY 时使用;长时间运行的非交互任务应优先用 exec 后台模式。它通过独立 socket 创建 tmux 会话,发送按键并抓取窗格输出,从而远程控制交互式 CLI。
主要能力:创建/列出/终止会话与窗格;以字面量方式安全发送输入(send-keys -l)或控制键(如 C-c);用 capture-pane 抓取最近历史输出;用 wait-for-text.sh 按正则或固定字符串轮询等待提示符;用 find-sessions.sh 查找会话。
使用方式:socket 目录由 NANOBOT_TMUX_SOCKET_DIR 指定,默认 socket 为 "$NANOBOT_TMUX_SOCKET_DIR/nanobot.sock"。目标格式为 session:window.pane(默认 :0.0),名称保持简短、避免空格。启动会话后应打印监控命令,例如 tmux -S "$SOCKET" attach -t "$SESSION" 与 tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200。等待提示符可用 {baseDir}/scripts/wait-for-text.sh -t session:0.0 -p 'pattern',支持 -F 固定字符串、-T 超时、-i 轮询间隔、-l 历史行数。
适用场景:并行编排多个编码智能体(如 Codex、Claude Code),在不同工作目录启动会话、轮询完成状态并抓取完整输出;建议为并行修复使用独立 git worktree,新克隆先执行 pnpm install,通过 shell 提示符(❯ 或 $)判断完成,Codex 非交互修复需 --yolo 或 --full-auto。
限制:该技能限定 darwin/linux,且要求 tmux 在 PATH 中;Windows 需在 WSL 内安装 tmux。Python REPL 需设置 PYTHON_BASIC_REPL=1,否则 send-keys 流程会失效。清理可用 kill-session、批量 kill-session 或 kill-server。其余细节暂未提供。