用途:在私有 socket(/tmp/pi-tmux-sockets/pi.sock)上管理 tmux 会话,适合运行交互式 CLI、后台任务和长期服务,避免与个人 tmux 冲突。会话命名为 pi-{category}-{name}-{timestamp},类别分 task(临时)、service(长驻)、agent(智能体任务),状态有 running/idle/exited,状态持久化到 /tmp/pi-tmux-sessions.json,默认自动清理超过 24 小时的不活跃会话。
主要能力:命令行通过 bun ~/.pi/agent/skills/tmux/lib.ts 调用,支持 create、list、status、send、capture、kill、cleanup、attach、sync。send 使用 literal 模式(-l),无需 shell 转义,适合向 Python REPL、gdb、数据库等交互工具发送按键;capture 默认抓取 200 行输出。TypeScript API 提供 TmuxManager,可 createSession、killSession、capturePane、waitForText(带超时)、listSessions、getSessionStatus、sync、cleanup。TUI 用 bun ~/.pi/agent/skills/tmux/tui.ts,快捷键 r/n/c/s/a/k/q。辅助脚本 wait-for-text.sh 等待文本模式并支持超时,find-sessions.sh 可按 socket 或 --all 列出会话元数据。
使用方式:创建会话后应打印监控命令 tmux -S /tmp/pi-tmux-sockets/pi.sock attach -t {session-id};例如 Python REPL 需用 PYTHON_BASIC_REPL=1,命令为 bun ~/.pi/agent/skills/tmux/lib.ts create python "PYTHON_BASIC_REPL=1 python3 -q" task,再用 send 发送代码;会话找不到时运行 sync 恢复。
限制:需要 tmux(Linux/macOS)、Bun 运行时和 Bash;资料未提供更多平台或收费信息。