用途:在需要交互式 TTY 的场景下,远程控制 tmux 会话,向交互式 CLI 发送按键并抓取窗格输出。长时、非交互任务应优先使用 exec 后台模式。
主要能力:创建并命名会话、发送输入与控制键、抓取窗格输出、并行编排编程智能体(如 Claude Code、Codex)、检测任务完成与清理会话。
使用方式(要点,命令保持原样):
- 默认服务器,不使用 -S 自定义 socket。会话命名约定:oc-${project}-${feature},便于 tmux ls | grep oc- 查找。
- 创建:tmux new-session -d -s "$SESSION" -c ~/projects/myproject
- 发送:tmux send-keys -t "$SESSION" 'claude --dangerously-skip-permissions' Enter;优先字面量发送 tmux send-keys -t target -l -- "$cmd";控制键 tmux send-keys -t target C-c。
- 对交互式 TUI 应用(Claude Code/Codex),不要在同一条 send-keys 里追加 Enter:tmux send-keys -t target -l -- "$cmd" && sleep 0.1 && tmux send-keys -t target Enter
- 抓取输出:tmux capture-pane -p -J -t target -S -200
- 附加后可用 Ctrl+b d 分离。
- Python REPL 设置 PYTHON_BASIC_REPL=1。
- 并行智能体:在不同 git worktree 中创建会话;启动 claude --dangerously-skip-permissions 或 codex --full-auto;发送提示并轮询完成(检查提示符 ❯ 或 $);Codex 非交互修复需 --yolo 或 --full-auto。
- 清理:tmux kill-session -t "$SESSION";清理全部 OpenClaw 会话:tmux ls -F '#{session_name}' | grep '^oc-' | xargs -n1 tmux kill-session -t。
适用场景:需要交互式终端的编码智能体编排、并行修复、REPL 操作等。
限制:仅在需要交互式 TTY 时使用;自定义 socket、会话命名不规范会降低可发现性;启动会话后应告知用户用 tmux attach -t $SESSION 监控。官方未提供收费与平台等信息。