SuperAPI AI 工具集

tmux

智能体与模型

查看项目

更新于 10-15 20:05

技能介绍

用途:管理已存在的交互式 tmux 会话,面向需要与交互式 CLI 或 TUI 程序打交道的场景,例如诊断交互式测试、卡住的智能体、长时间运行的 CLI 工作流。一次性命令请用普通 shell;新的非交互后台任务请用后台执行方式。

主要能力:列出会话、窗口、窗格;捕获窗格输出(含完整回滚缓冲、拼接换行、包含颜色转义码);发送字面文本、特殊按键、粘贴文本;创建、重命名、关闭会话;检查提示内容并据此批准或选择;将窗格输出流式写入日志文件而不打断进程;用 wait-for 在测试脚本间同步信号;设置 remain-on-exit 保留失败命令,并为窗格打标签便于报告。多用只读检查,再决定是否发送输入。

目标格式为 session:window.pane。核心用法示例(保持原样):tmux ls;tmux list-windows -t shared;tmux list-panes -t shared:0;tmux capture-pane -t shared:0.0 -p;tmux capture-pane -t shared:0.0 -p -S -。发送输入:tmux send-keys -t shared:0.0 -l -- "Please continue" 后接 tmux send-keys -t shared:0.0 Enter;特殊键如 C-c、C-d、Escape。任意文本请用 -l --,并把文本与 Enter 分开,避免粘贴或换行意外。会话:tmux new-session -d -s worker;tmux rename-session -t old new;tmux kill-session -t worker。提示检查:capture-pane 加上 tail 或 rg 匹配 proceed、permission、Yes、No、❯ 等,仅在理解提示后再批准。发现所有窗格:tmux list-panes -a -F '#{session_name}:#{window_index}.#{pane_index} #{pane_current_command} #{pane_current_path} active=#{pane_active} dead=#{pane_dead}'。输出断言可用 -S -、-J、-S -1000、-e -S -1000。检查运行命令:tmux display-message -p -t shared:0.0 '#{pane_current_command} #{pane_current_path} pid=#{pane_pid}';tmux show-messages。流式记录:tmux pipe-pane -t shared:0.0 -o 'cat >> /tmp/tmux-pane-shared-0-0.log'。同步:tmux wait-for qa-ready 等待,tmux wait-for -S qa-ready 发信号。

调用前需先确认 tmux 可用(command -v tmux 或 tmux -V;Windows PowerShell 用 Get-Command tmux)。未安装时按系统提示安装:macOS/Linux 用包管理器 brew install tmux,或从发布 tarball 构建(需 libevent 2.x、ncurses、C 编译器、make、pkg-config、yacc 或 bison,然后 ./configure && make;sudo make install),或从版本控制构建(另需 autoconf、automake:git clone https://github.com/tmux/tmux.git,cd tmux,sh autogen.sh,./configure && make,sudo make install)。Windows 使用 psmux,它提供 tmux 别名但命令保持不变:winget install psmux;cargo install psmux;scoop bucket add psmux https://github.com/psmux/scoop-psmux;scoop install psmux;choco install psmux;也可从 GitHub Releases 下载 .zip 加入 PATH,或 git clone https://github.com/psmux/psmux.git,cd psmux,cargo build --release。

限制:若 tmux 兼容实现不支持某个格式变量或选项,回退到更简单的 list-panes、capture-pane、send-keys 形式。仅在理解提示含义时再批准或选择。capture-pane -p 输出到 stdout 便于脚本使用,-S - 捕获完整回滚,tmux 会话在 SSH 断开后仍保留。资料未提供某些实现细节与价格信息,暂未提供。