Manage tmux sessions using the tmux-manager.py script. Use when asked to create, kill, restart, list, or inspect tmux sessions, send commands to sessions, tail session output, or validate the sessions config file.
通过YAML配置文件管理tmux会话。脚本及其默认配置位于同一目录中——脚本始终会在自身所在目录中查找tmux-sessions.yaml。
脚本: {baseDir}/scripts/tmux-manager.py
默认配置: {baseDir}/scripts/tmux-sessions.yaml
示例配置: {baseDir}/scripts/tmux-sessions.yaml.sample
部署方式:将tmux-manager.py复制到任意目录,在其旁边放置tmux-sessions.yaml,然后从任何位置使用uv run运行。
uv run {baseDir}/scripts/tmux-manager.py (--all | -s SESSION [...] | --session-group GROUP [...] [--window-group GROUP [...]] | --window-group GROUP [...]) [--kill | --restart] [--dry-run] [--list] [--config FILE]
uv run {baseDir}/scripts/tmux-manager.py --send-keys -s SESSION[:WINDOW] COMMAND
uv run {baseDir}/scripts/tmux-manager.py --tail -s SESSION[:WINDOW]
uv run {baseDir}/scripts/tmux-manager.py --validate [--config FILE]
uv run {baseDir}/scripts/tmux-manager.py --list-groups [--config FILE]
| 标志 | 含义 |
|---|---|
| --all | 针对配置中的每个会话 |
| --session-group GROUP |
--all和-s与其他所有选项互斥。--session-group和--window-group可一起使用以限定会话和窗口范围。
| 标志 | 含义 |
|---|---|
| (无操作标志) | 创建目标会话;跳过已在运行的会话 |
| --kill |
| 标志 | 含义 |
|---|---|
| --tail -s SESSION[:WINDOW] | 实时流式输出窗格内容(Ctrl+C停止) |
| 标志 | 含义 |
|---|---|
| --send-keys -s SESSION[:WINDOW] cmd | 向正在运行的会话或特定窗口发送shell命令 |
| 标志 | 含义 |
|---|---|
| --config FILE | 使用替代配置文件 |
| --validate |
bash
uv run {baseDir}/scripts/tmux-manager.py --all # 创建所有会话
uv run {baseDir}/scripts/tmux-manager.py --all --kill # 终止配置中的所有会话
uv run {baseDir}/scripts/tmux-manager.py --all --restart # 重启所有会话
uv run {baseDir}/scripts/tmux-manager.py --all --dry-run # 预览将要创建的内容
uv run {baseDir}/scripts/tmux-manager.py --all --list # 列出所有会话的状态
uv run {baseDir}/scripts/tmux-manager.py --session-group work # 创建会话组work中的会话
uv run {baseDir}/scripts/tmux-manager.py --session-group work --restart # 重启会话组work中的会话
uv run {baseDir}/scripts/tmux-manager.py --session-group work --list # 列出会话组work中会话的状态
uv run {baseDir}/scripts/tmux-manager.py --kill --session-group work # 终止会话组work中的所有会话
uv run {baseDir}/scripts/tmux-manager.py --window-group dev # 创建会话,仅包含dev窗口
uv run {baseDir}/scripts/tmux-manager.py --window-group dev --restart # 重启,仅包含dev窗口
uv run {baseDir}/scripts/tmux-manager.py --window-group claude,gemini # 多个组,逗号分隔
uv run {baseDir}/scripts/tmux-manager.py --window-group claude --window-group gemini # 等效写法
uv run {baseDir}/scripts/tmux-manager.py --session-group TargetTracer,N8N --window-group claude,gemini # 组合使用
uv run {baseDir}/scripts/tmux-manager.py -s my-session # 仅创建my-session
uv run {baseDir}/scripts/tmux-manager.py --kill -s my-session # 仅终止my-session
uv run {baseDir}/scripts/tmux-manager.py --restart -s my-session # 仅重启my-session
uv run {baseDir}/scripts/tmux-manager.py --send-keys -s my-session cmd # 发送到活动窗口
uv run {baseDir}/scripts/tmux-manager.py --send-keys -s my-session:claude cmd # 发送到特定窗口
uv run {baseDir}/scripts/tmux-manager.py --tail -s my-session # 实时流式输出窗格内容
uv run {baseDir}/scripts/tmux-manager.py --validate # 验证配置文件
uv run {baseDir}/scripts/tmux-manager.py --list-groups # 列出所有组
uv run {baseDir}/scripts/tmux-manager.py --all --config ~/my-sessions.yaml # 使用特定配置
这些操作不需要包装器——直接使用tmux:
| 操作 | 原生命令 |
|---|---|
| 终止所有tmux会话 | tmux kill-server |
| 捕获窗格输出快照 |
yaml
sessions:
# ── 项目会话(无环境变量)─────────────────────────────────────────
- name: Project_1
sessiongroup: Project1
workingdir: ~/Projects/Project1
# focus: claude # 创建后选择哪个窗口(可选)
windows:
- name: claude
window_group: claude # 通过:--window-group claude 定位
command: claude --dangerously-skip-permissions --continue
- name: gemini
window_group: gemini # 通过:--window-group gemini 定位
command: gemini -y --resume
- name: shell # 无window_group — 仅通过--session-group或--all打开
# 无command = 打开一个普通shell
# ──
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 tmux-manager-1776105917 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 tmux-manager-1776105917 技能
skillhub install tmux-manager-1776105917
文件大小: 11.84 KB | 发布时间: 2026-4-14 13:08