Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tmux-dash 🖥️

A simple, intuitive TUI dashboard for managing your tmux sessions — designed for running multiple AI agents (pi / codex / claude / aider ...) side by side.

直观的 tmux 会话管理 TUI,专为同时跑多个 AI agent(pi / codex / claude / aider …)的场景设计。

不再需要盯着 tmux ls + 手动 tmux attach -t xxx —— 打开一个全屏仪表盘,所有会话一眼看全,按键直达。

License: MIT

特性

  • 🔭 实时概览:每 2 秒自动刷新,展示所有会话的窗口数/面板数/连接状态/创建时间/最近活动/正在运行的命令/工作目录
  • 🤖 AI agent 自动识别:会话名或进程名命中 pi / codex / claude / aider / gpt / agent ... 自动打标
  • 🟢 活跃度一目了然:最近 1 分钟内有动静的会话显示为绿色(= agent 正在干活),越久越红
  • 🗂️ 多 tmux server 支持:自动发现所有 socket(tmux -L work ... 之类),跨 socket 统一管理,自动显示 SOCK 列
  • 一键进入:Enter 进入会话,Ctrl-b d 退出后自动回到仪表盘
  • 常用操作全覆盖:新建 / 重命名 / 删除 / 踢出客户端 / 强制进入 / 按窗口进入 / 过滤 / 排序

快速开始

# 依赖: python3 + rich
python3 -m venv .venv
.venv/bin/pip install rich

# 运行
./tmux-dash            # 或 .venv/bin/python tmux-dash.py

# 演示环境(可选): 创建几个模拟 agent 会话
./demo.sh --reset      # 注意: --reset 会杀掉所有现有 tmux 会话!

# 纯文本列表模式(适合脚本)
./tmux-dash --list

安装与迁移

# 方式一: 直接克隆
git clone https://github.com/LinckLin/TmuxDash.git && cd TmuxDash
./setup.sh          # 自动装依赖 + 自动加 tmux-dash 别名

# 方式二: 手动装
python3 -m venv .venv && .venv/bin/pip install rich

核心就两个文件: tmux-dash(启动器) + tmux-dash.py(主程序), 只有 python3 + tmux + rich 三个依赖, 不用 root、不用编译。

# 拷到其他服务器 (任选一种)
rsync -av --exclude .venv ~/tmux-dash/ user@server:/opt/tmux-dash/
#   或:
tar czf tmux-dash.tgz tmux-dash tmux-dash.py demo.sh preview.py setup.sh README.md
scp tmux-dash.tgz user@server:/tmp/
ssh user@server 'cd /tmp && tar xzf tmux-dash.tgz -C /opt'

# 服务器上装依赖 (一条命令, 自动加别名)
cd /opt/tmux-dash && ./setup.sh

服务器要求:

  • tmux (apt install tmux / yum install tmux)
  • python3 (Debian/Ubuntu 建议加装 python3-venv; 没有也能用, setup.sh 会自动退回 pip3 --user)

跨平台说明:

  • macOS / Linux 都支持; 多 socket 发现、嵌套 attach 等行为一致
  • Linux 上 agent 进程识别更准: tmux 能直接读到真实命令名(如 codex), 不像 macOS 上只显示 node/python

按键

按键 功能
↑↓ / jk 选择会话
进入会话(Ctrl-b d 返回仪表盘)
a 强制进入(踢掉其他客户端)
w 进入当前活动窗口
d 踢出该会话的所有客户端
n 新建会话(创建后自动进入)
r 重命名会话
x 删除会话(y 确认)
/ 过滤会话(Enter 确认,空 = 清除;Esc 取消)
s 切换排序:最近活动 / 名称 / 创建时间
p 显示/隐藏详情面板
R 手动刷新
q / Ctrl-C 退出

常见用法

# 让自己所有的 agent 都在 tmux 里跑, 然后用 tmux-dash 统一管理
tmux new-session -d -s pi-agent  'cd ~/work/agent && pi'
tmux new-session -d -s codex-api 'codex exec "实现登录接口"'
tmux new-session -d -s claude    'claude'

./tmux-dash   # 全部会话一目了然, 谁在干活谁闲着一眼看出

小提示: 在 tmux 里跑 tmux-dash 也可以(tmux new -A -s dash),嵌套 attach 会自动抑制 tmux 警告。

文件

文件 说明
tmux-dash.py 主程序(可独立运行)
tmux-dash 启动器(自动选择 venv / 系统 python,不改变当前目录)
setup.sh 一键安装:装依赖 + 自动添加 tmux-dash 别名
demo.sh 演示会话脚本
preview.py 本地生成效果预览图(合成数据,不入库)

技术说明

  • 数据源:tmux list-sessions / list-panes -a(每 2 秒轮询,开销极小)
  • 终端模式:只把输入设为 raw(禁用行缓冲/回显),保留输出 \n→\r\n 转换 —— 否则在 tmux 里显示会错位
  • agent 识别:会话名正则 + 面板进程名命中表,命中即显示 🤖 徽章
  • 在 macOS 上 agent 的进程名通常显示为运行时(node/python),因此会话名是更可靠的识别信号

License

MIT © LinckLin

About

A simple, intuitive TUI dashboard for managing tmux sessions, AI-agent friendly (pi / codex / claude / aider)

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages