跳到正文
cccskills
免费在 GitHub 公开

tmux

Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(3)

  • SKILL.md3.3 KB
  • scripts/find-sessions.sh2.9 KB
  • scripts/wait-for-text.sh2.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

tmux Skill

Use tmux only when you need an interactive TTY. Prefer shell_exec for long-running, non-interactive tasks.

Quickstart (isolated socket)

SOCKET_DIR="${OPC_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/opc-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/opc.sock"
SESSION=opc-python

tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'PYTHON_BASIC_REPL=1 python3 -q' Enter
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200

After starting a session, always print monitor commands:

To monitor:
  tmux -S "$SOCKET" attach -t "$SESSION"
  tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200

Socket convention

  • Use OPC_TMUX_SOCKET_DIR environment variable.
  • Default socket path: "$OPC_TMUX_SOCKET_DIR/opc.sock".

Targeting panes and naming

  • Target format: session:window.pane (defaults to :0.0).
  • Keep names short; avoid spaces.
  • Inspect: tmux -S "$SOCKET" list-sessions, tmux -S "$SOCKET" list-panes -a.

Finding sessions

  • List sessions on your socket: {baseDir}/scripts/find-sessions.sh -S "$SOCKET".
  • Scan all sockets: {baseDir}/scripts/find-sessions.sh --all (uses OPC_TMUX_SOCKET_DIR).

Sending input safely

  • Prefer literal sends: tmux -S "$SOCKET" send-keys -t target -l -- "$cmd".
  • Control keys: tmux -S "$SOCKET" send-keys -t target C-c.

Watching output

  • Capture recent history: tmux -S "$SOCKET" capture-pane -p -J -t target -S -200.
  • Wait for prompts: {baseDir}/scripts/wait-for-text.sh -t session:0.0 -p 'pattern'.
  • Attaching is OK; detach with Ctrl+b d.

Spawning processes

  • For python REPLs, set PYTHON_BASIC_REPL=1 (non-basic REPL breaks send-keys flows).

Orchestrating Coding Agents

tmux excels at running multiple coding agents in parallel:

SOCKET="${TMPDIR:-/tmp}/opc-army.sock"

for i in 1 2 3 4 5; do
  tmux -S "$SOCKET" new-session -d -s "agent-$i"
done

tmux -S "$SOCKET" send-keys -t agent-1 "cd /tmp/project1 && codex --yolo 'Fix bug X'" Enter
tmux -S "$SOCKET" send-keys -t agent-2 "cd /tmp/project2 && codex --yolo 'Fix bug Y'" Enter

for sess in agent-1 agent-2; do
  if tmux -S "$SOCKET" capture-pane -p -t "$sess" -S -3 | grep -q "❯"; then
    echo "$sess: DONE"
  else
    echo "$sess: Running..."
  fi
done

tmux -S "$SOCKET" capture-pane -p -t agent-1 -S -500

Cleanup

  • Kill a session: tmux -S "$SOCKET" kill-session -t "$SESSION".
  • Kill all sessions on a socket: tmux -S "$SOCKET" list-sessions -F '#{session_name}' | xargs -r -n1 tmux -S "$SOCKET" kill-session -t.
  • Remove everything on the private socket: tmux -S "$SOCKET" kill-server.

Helper: wait-for-text.sh

{baseDir}/scripts/wait-for-text.sh polls a pane for a regex (or fixed string) with a timeout.

{baseDir}/scripts/wait-for-text.sh -t session:0.0 -p 'pattern' [-F] [-T 20] [-i 0.5] [-l 2000]
  • -t/--target pane target (required)
  • -p/--pattern regex to match (required); add -F for fixed string
  • -T timeout seconds (integer, default 15)
  • -i poll interval seconds (default 0.5)
  • -l history lines to search (integer, default 1000)

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

clawhub

免费

Search and install agent skills from ClawHub, the public skill registry. Use when needing new capabilities, searching for skills, installing skills, or updating installed skills.

中文简介正在准备中。当前显示原文说明。

HKUDS/AutoSwarm18662026年10月17日 更新

Standing rules for how any role in an AutoSwarm company coordinates with its peers — work-item discipline, messaging, meetings, and blocking collaboration. Loaded only in company_mode.

中文简介正在准备中。当前显示原文说明。

HKUDS/AutoSwarm18662026年10月17日 更新

cron

免费

Schedule reminders, recurring tasks, and one-time jobs using system crontab.

中文简介正在准备中。当前显示原文说明。

HKUDS/AutoSwarm18662026年10月17日 更新

github

免费

Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.

中文简介正在准备中。当前显示原文说明。

HKUDS/AutoSwarm18662026年10月17日 更新

memory

免费

Manage durable global/project memory in `.opc/memory/global.md` and `.opc/memory/projects/<current_project_id>.md`.

中文简介正在准备中。当前显示原文说明。

HKUDS/AutoSwarm18662026年10月17日 更新

Collaborate with other agents in AutoSwarm company mode via the `opc-collab` CLI — send messages, request user input, delegate work, read the manager board, respond in meetings, propose task adjustments.

中文简介正在准备中。当前显示原文说明。

HKUDS/AutoSwarm18662026年10月17日 更新

查看 HKUDS 的全部技能

报告此技能的问题