tmux-terminal

通过tmux实现交互式终端操作,支持TUI应用与长任务管理。

已扫描
适合谁
开发者、测试工程师
不适合谁
非技术用户、无命令行经验者
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @imbeasting/imbeasting-tmux-terminal

Skill 说明

命令、参数、文件名以原文为准

tmux-terminal

概述

使用 tmux 驱动交互式终端会话,包括 ralph-tui 等 TUI 工作流。tmux 可以发送按键输入、捕获屏幕输出,并在步骤之间保持进程运行。

适用场景

  • 测试 ralph-tui 或任何交互式 CLI 提示
  • 管理长时间运行的进程(如 Web 服务器、循环任务、监听模式)
  • 捕获实时终端输出用于质量保证报告
  • 与会重绘屏幕的应用程序进行交互

先决条件

  • 安装了 tmux(macOS 上已预装)

验证命令:

tmux -V

核心命令

创建分离的会话:

tmux new-session -d -s <name>

发送命令(末尾添加 Enter 以执行):

tmux send-keys -t <name> "<command>" Enter

捕获屏幕输出:

tmux capture-pane -t <name> -p

完成操作后终止会话:

tmux kill-session -t <name>

特殊键位

使用 send-keys 时可指定键名:

  • Enter
  • C-c(Ctrl-C)
  • C-d(Ctrl-D)
  • Tab
  • Escape
  • UpDownLeftRight

示例:

tmux send-keys -t <name> Up
tmux send-keys -t <name> C-c

TUI 交互模式

启动 ralph-tui

tmux new-session -d -s ralph-tui
tmux send-keys -t ralph-tui "cargo run -p ralph-tui" Enter

在 TUI 中导航

tmux send-keys -t ralph-tui Down
tmux send-keys -t ralph-tui Enter

捕获并解析屏幕内容

tmux capture-pane -t ralph-tui -p -S -200

使用 -S -200 可捕获最后 200 行内容,适用于屏幕输出较杂乱的情况。

长时间运行进程管理

  • 在 tmux 会话中启动服务器或循环任务,确保其持续运行。
  • 使用 capture-pane 检查健康状态(例如查找包含“listening”或“ready”的文本)。
  • 使用 C-c 正常停止后,再执行 kill-session 清理。

示例:

tmux new-session -d -s ralph-web
tmux send-keys -t ralph-web "cargo run -p ralph-cli -- web" Enter
tmux capture-pane -t ralph-web -p | rg -n "listening|ready"
tmux send-keys -t ralph-web C-c
tmux kill-session -t ralph-web

注意事项

  • 会话名称应简短且唯一。
  • 始终清理会话,避免后台进程泄漏。
  • 若输出显示为空,请稍等片刻后再尝试捕获。
I
@imbeasting

已收录 1 个 Skill

相关推荐