跳到正文
cccskills
免费在 GitHub 公开

tmux

Control interactive command-line programs through tmux by sending keystrokes, reading terminal output, and waiting for prompts. Use separate sessions to operate Python consoles or run multiple coding agents while checking their progress and results.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

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

查看安装方法

适用场景

  • Operate an interactive Python console
  • Run multiple coding agents in parallel
  • Wait for prompts and inspect terminal output
  • Find and clean up tmux sessions

包含的文件(3)

  • SKILL.md4.0 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 exec background mode for long-running, non-interactive tasks.

Quickstart (isolated socket, exec tool)

SOCKET_DIR="${NANOBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/nanobot-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/nanobot.sock"
SESSION=nanobot-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 NANOBOT_TMUX_SOCKET_DIR environment variable.
  • Default socket path: "$NANOBOT_TMUX_SOCKET_DIR/nanobot.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 NANOBOT_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).

Windows / WSL

  • tmux is supported on macOS/Linux. On Windows, use WSL and install tmux inside WSL.
  • This skill is gated to darwin/linux and requires tmux on PATH.

Orchestrating Coding Agents (Codex, Claude Code)

tmux excels at running multiple coding agents in parallel:

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

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

# Launch agents in different workdirs
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

# Poll for completion (check if prompt returned)
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

# Get full output from completed session
tmux -S "$SOCKET" capture-pane -p -t agent-1 -S -500

Tips:

  • Use separate git worktrees for parallel fixes (no branch conflicts)
  • pnpm install first before running codex in fresh clones
  • Check for shell prompt (❯ or $) to detect completion
  • Codex needs --yolo or --full-auto for non-interactive fixes

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 的隐私权政策和服务条款。

同一仓库的技能

Automate website navigation, form entry, button clicks, and data extraction using the agent-browser command-line tool. Capture screenshots or PDFs, reuse login sessions, and inspect page elements while checking web application behavior.

中文简介正在准备中。当前显示英语简介。

  • Automate form entry and button clicks
  • Extract text and links from web pages
  • Save screenshots and page PDFs
sipeed/picoclaw3万2026年10月16日 更新

github

免费

Use the GitHub command-line tool to inspect issues, pull requests, and automated workflow runs. Check failed steps and logs, retrieve additional details through the API, and extract selected fields into structured results.

中文简介正在准备中。当前显示英语简介。

  • Check automated test results for a pull request
  • Inspect failed workflow steps and logs
  • List issue numbers and titles
sipeed/picoclaw3万2026年10月16日 更新

hardware

免费

Read and control sensors, displays, and other peripherals on Sipeed boards through I2C and SPI, two hardware communication interfaces. Find connected devices, prepare shared pins, and troubleshoot wiring, permissions, and communication settings.

中文简介正在准备中。当前显示英语简介。

  • Find sensors connected to a board
  • Read temperature and humidity sensor data
  • Control displays and other peripherals
sipeed/picoclaw3万2026年10月16日 更新

Set up, debug, and extend PicoClaw using its own commands and configuration structure. Get guidance on model authentication, external tool connections, scheduled tasks, and how conversations are routed and stored.

中文简介正在准备中。当前显示英语简介。

  • Setting up models and authentication in PicoClaw
  • Configuring and troubleshooting MCP server connections
  • Setting up recurring tasks
sipeed/picoclaw3万2026年10月16日 更新

Turn repeated workflows into reusable Picoclaw skills, or update and review existing ones. Organize SKILL.md instructions, scripts, reference documents, and output assets, then check the structure and test representative tasks.

中文简介正在准备中。当前显示英语简介。

  • Turning a repeated workflow into a reusable skill
  • Updating or reviewing an existing SKILL.md
  • Organizing scripts, references, and templates
sipeed/picoclaw3万2026年10月16日 更新

summarize

免费

Summarize articles, local files, YouTube videos, and podcasts to review their main points. Adjust the summary length, or extract available text and transcripts from URLs when you need the source content.

中文简介正在准备中。当前显示英语简介。

  • Reviewing the main points of an online article
  • Summarizing a local PDF
  • Extracting an available YouTube transcript
sipeed/picoclaw3万2026年10月16日 更新

查看 sipeed 的全部技能

报告此技能的问题