一键导入
tmux
Remote-control tmux sessions for interactive CLIs by sending keystrokes and capturing pane output.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Remote-control tmux sessions for interactive CLIs by sending keystrokes and capturing pane output.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Retrieve secrets and vault items from 1Password using the op CLI with a service account token.
Create, read, and search Apple Notes on macOS using osascript AppleScript.
Manage Docker containers, images, volumes, and docker-compose stacks via the docker CLI.
List, create, close, comment on, and triage GitHub issues and pull requests via the gh CLI.
Create, read, transition, and comment on Jira issues via the Jira REST API v3.
Manage Linear issues, projects, and cycles via the Linear GraphQL API.
| name | tmux |
| description | Remote-control tmux sessions for interactive CLIs by sending keystrokes and capturing pane output. |
| always | false |
| metadata | {"clawlite":{"emoji":"🧵","requires":{"bins":["tmux"]},"os":["linux","darwin"]}} |
| command | tmux |
Use tmux only when an interactive TTY is required. Prefer exec background mode for non-interactive long jobs.
SOCKET_DIR="${CLAWLITE_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/clawlite-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/clawlite.sock"
SESSION=clawlite-shell
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
Keep one socket per workflow or agent. That makes discovery, retries, and cleanup deterministic.
Inspect one socket directly:
bash clawlite/skills/tmux/scripts/find-sessions.sh -S "$SOCKET"
Scan every socket under CLAWLITE_TMUX_SOCKET_DIR:
bash clawlite/skills/tmux/scripts/find-sessions.sh --all
The output is always socket:session, one row per line.
Wait for a prompt or completion marker:
bash clawlite/skills/tmux/scripts/wait-for-text.sh -S "$SOCKET" -t "$SESSION":0.0 -p '\$' -T 5
Use fixed-string mode when the marker should not be treated as regex:
bash clawlite/skills/tmux/scripts/wait-for-text.sh -S "$SOCKET" -t "$SESSION":0.0 -F 'BUILD SUCCESS' -T 30 -i 1 -l 400
Create a dedicated socket and session per agent:
SOCKET="$SOCKET_DIR/agent-1.sock"
SESSION=agent-1
tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -l -- "pytest -q"
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 Enter
bash clawlite/skills/tmux/scripts/wait-for-text.sh -S "$SOCKET" -t "$SESSION":0.0 -p 'passed|failed' -T 120 -l 500
Prefer send-keys -l for literal commands, then send Enter separately. Capture pane history before reusing or tearing down a session.
Stop a single session:
tmux -S "$SOCKET" kill-session -t "$SESSION"
Stop the whole socket server when nothing else should remain:
tmux -S "$SOCKET" kill-server
Remove stale socket files only after tmux -S "$SOCKET" list-sessions or has-session confirms that no server is alive on that socket.