SuperAPI AI 工具集

tmux

编程与开发

查看项目

更新于 10-16 08:06

技能介绍

用途:该技能仅在需要交互式 TTY 时使用 tmux;长时间运行且非交互的任务应优先使用 exec 后台模式。它通过独立 socket 创建会话、向面板发送按键并抓取面板输出,从而远程控制交互式命令行程序。

主要能力:可创建/列出会话与面板、发送文本或控制键、抓取最近历史输出、等待指定文本出现,并支持并行编排多个编码智能体(如 Codex、Claude Code)。

使用方式:先创建独立 socket 目录并新建会话,例如 SOCKET_DIR="${NANOBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/nanobot-tmux-sockets}",再执行 tmux -S "$SOCKET" new -d -s "$SESSION" -n shell。发送输入优先用字面量方式 tmux -S "$SOCKET" send-keys -t target -l -- "$cmd",控制键用 C-c。查看输出用 tmux -S "$SOCKET" capture-pane -p -J -t target -S -200。可用 {baseDir}/scripts/wait-for-text.sh 轮询等待正则文本。目标格式为 session:window.pane,默认 :0.0,名称应简短且不含空格。socket 约定使用 NANOBOT_TMUX_SOCKET_DIR 环境变量,默认路径为 "$NANOBOT_TMUX_SOCKET_DIR/nanobot.sock"。

限制:该技能仅适用于 darwin/linux,并要求 tmux 在 PATH 中;Windows 需通过 WSL 并在 WSL 内安装 tmux。运行 python REPL 时应设置 PYTHON_BASIC_REPL=1,否则 send-keys 流程可能异常。并行运行编码智能体时建议使用独立 git worktree,Codex 非交互修复需要 --yolo 或 --full-auto。清理会话可用 kill-session,清除该私有 socket 全部内容可用 kill-server。