SuperAPI AI 工具集

tmux

办公与效率

查看项目

更新于 10-16 10:19

技能介绍

tmux 会话控制

通过发送按键和读取输出来控制 tmux 会话,是管理 Claude Code 会话的重要技能。

何时使用

✅ 在以下情况使用本技能:

监控 tmux 中的 Claude/Codex 会话

向交互式终端应用发送输入

从 tmux 中长时间运行的进程抓取输出

以编程方式导航 tmux 窗格/窗口

检查现有会话中的后台工作

何时不使用

❌ 在以下情况不要使用本技能:

运行一次性 shell 命令 → 直接使用 exec 工具

启动新的后台进程 → 使用 exec 并设置 background:true

非交互式脚本 → 使用 exec 工具

进程不在 tmux 中

需要创建新的 tmux 会话 → 使用 exec 执行 tmux new-session

示例会话

会话 用途

shared 主要交互式会话

worker-2 - worker-8 并行工作会话

常用命令

列出会话

tmux list-sessions tmux ls

抓取输出

窗格最后 20 行

tmux capture-pane -t shared -p | tail -20

全部回滚缓冲

tmux capture-pane -t shared -p -S -

窗口中的指定窗格

tmux capture-pane -t shared:0.0 -p

发送按键

发送文本(不按回车)

tmux send-keys -t shared "hello"

发送文本并回车

tmux send-keys -t shared "y" Enter

发送特殊按键

tmux send-keys -t shared Enter tmux send-keys -t shared Escape tmux send-keys -t shared C-c # Ctrl+C tmux send-keys -t shared C-d # Ctrl+D (EOF) tmux send-keys -t shared C-z # Ctrl+Z (suspend)

窗口/窗格导航

选择窗口

tmux select-window -t shared:0

选择窗格

tmux select-pane -t shared:0.1

列出窗口

tmux list-windows -t shared

会话管理

创建新会话

tmux new-session -d -s newsession

终止会话

tmux kill-session -t sessionname

重命名会话

tmux rename-session -t old new

安全发送输入

对于交互式 TUI(Claude Code、Codex 等),将文本和 Enter 拆分为两次发送,以避免粘贴/多行边界情况:

tmux send-keys -t shared -l -- "Please apply the patch in src/foo.ts" sleep 0.1 tmux send-keys -t shared Enter

Claude Code 会话模式

检查会话是否需要输入

查找提示符

tmux capture-pane -t worker-3 -p | tail -10 | grep -E "❯|Yes.*No|proceed|permission"

批准 Claude Code 提示

发送 'y' 并回车

tmux send-keys -t worker-3 'y' Enter

或选择编号选项

tmux send-keys -t worker-3 '2' Enter

检查所有会话状态

for s in shared worker-2 worker-3 worker-4 worker-5 worker-6 worker-7 worker-8; do echo "=== $s ===" tmux capture-pane -t $s -p 2>/dev/null | tail -5 done

向会话发送任务

tmux send-keys -t worker-4 "Fix the bug in auth.js" Enter

注意事项

使用 capture-pane -p 打印到标准输出(脚本编写必备)

-S - 抓取整个回滚历史

目标格式:session:window.pane(例如 shared:0.0)

会话在 SSH 断开后仍然保持

关于收费、价格、平台与效果等信息,资料暂未提供。