tmux远程会话控制tmux远程会话控制
tmux远程会话控制

技能简介

该技能通过tmux实现远程控制交互式命令行会话,支持向指定窗格发送按键指令并捕获输出内容,适用于需要TTY交互的自动化场景。

能做什么

  • 创建隔离的tmux会话和专用socket文件
  • 向远程会话发送文本按键或控制键(如Ctrl+C)
  • 抓取指定窗格的历史输出内容
  • 并行运行多个编码代理并监控状态
  • 等待特定文本模式出现后返回

使用说明

安装要求

macOS或Linux系统,需预先安装tmux并确保在PATH中可用。Windows用户请通过WSL安装tmux。

基础用法

  1. 创建socket目录并启动会话:
    SOCKET_DIR="${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/clawdbot-tmux-sockets}"
    mkdir -p "$SOCKET_DIR"
    SOCKET="$SOCKET_DIR/clawdbot.sock"
    tmux -S "$SOCKET" new -d -s clawdbot-python -n shell
  2. 向会话发送命令:
    tmux -S "$SOCKET" send-keys -t clawdbot-python:0.0 -- 'python3 -q' Enter
  3. 捕获输出内容:
    tmux -S "$SOCKET" capture-pane -p -J -t clawdbot-python:0.0 -S -200
  4. 监控会话状态:
    tmux -S "$SOCKET" attach -t clawdbot-python
    tmux -S "$SOCKET" list-sessions
  5. 结束会话:
    tmux -S "$SOCKET" kill-session -t clawdbot-python

输入与输出

见下方输入与输出表格。

项目内容
输入会话名称、窗格标识(格式:session:window.pane)、按键文本、控制键指令、抓取行数参数、正则匹配模式、超时秒数
输出窗格历史文本内容、会话列表信息、文本匹配状态、代理完成标记
适用人群需要远程控制交互式终端的开发者、运行并行编码代理的工程师、自动化CLI测试人员
不包含纯后台非交互任务管理、Windows原生支持、GUI应用控制、内置的身份验证机制

 

风险提示

  • socket文件权限不当可能导致其他用户访问会话
  • 并行运行多个代理时注意git工作区冲突
  • 非基本REPL模式可能破坏按键发送流程
  • 长时间运行的会话需定期清理避免资源占用

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/steipete/tmux/SKILL.md
来源类型:GitHub仓库

数据统计

相关导航

暂无评论

none
暂无评论...