什么是 workmux?
workmux 把一条分支变成一个工作区。一条 workmux add 就会创建 git worktree、打开对应的 tmux 窗口、复制新检出缺少的文件(.env、凭据),为你不想重装的目录建立软链接(node_modules),执行你的准备命令,并按你要求的方式排布窗格。workmux merge 再一步把这一切收回:合并分支、删除 worktree、关闭窗口、移除本地分支。不用 stash,不用切分支,也不会有半成品检出挡住下一件事。
⚡ workmux 的主要功能
🌿 一条分支一个窗口
workmux add 同时创建 worktree 和 tmux 窗口,于是切换任务就是切换标签页,各自拥有自己的 shell、编辑器和开发服务器。
🧰 真正能用的 worktree
新建的 worktree 一开始是残缺的。workmux 会复制配置文件、软链接依赖并运行你的 post_create 命令,让新检出立刻可用。
🤖 并行运行代理
同时运行多个 AI 编码代理,每个 worktree 一个,并在 tmux 窗口名、TUI 仪表盘或实时侧边栏中查看它们的状态。
🧹 一条命令收尾
workmux merge 合并分支后会删除 worktree、tmux 窗口和本地分支;workmux remove 则只清理、不合并。
📄 用 YAML 配置
全局 config.yaml 保存你的默认设置,项目级 .workmux.yaml 定义窗格布局、钩子和文件操作,并支持适合 monorepo 的嵌套。
🖥️ 不只是 tmux
tmux 是默认后端,kitty、WezTerm 和 Zellij 也是受支持的替代方案,工作流可以跟着你已有的终端走。
apt upgrade 就能让你保持最新。
📦 从 deb.griffo.io 安装
第 1 步:添加仓库
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 有一个永久免费的镜像。 deb-free.griffo.io 永久免费提供软件包 — 无需账号、无需订阅,最多落后上游 2 个月,安全修复立即发布。目前收录 cliamp、Ghostty、lazydocker、Oh My Posh 和 Zed;workmux 不在其中,因此今天只能通过上面的仓库安装 — 提出请求即可将其加入。
🧩 关于 extrepo 选项。 extrepo 是 Debian 官方用于管理第三方仓库的工具:它会替你写好 sources 文件并安装签名密钥,并在使用前先对照签名元数据校验该密钥。本仓库以 griffo 之名登记其中,永久免费镜像则为 griffo-free,因此在 Debian(bookworm、trixie、forky、sid)上,上面的命令就是全部配置。
extrepo 只负责 sources 文件和密钥,订阅凭据仍然要写入 /etc/apt/auth.conf.d/deb.griffo.io.conf。Ubuntu 不在覆盖范围内,因为 extrepo 只发布 Debian 各套件的元数据:在 Ubuntu 上请使用 sudo 或 root 的命令。
第 2 步:安装 workmux
# 安装最新版 workmux
sudo apt install workmux
# tmux 是默认后端,但只作为推荐依赖,
# 因为 kitty、WezTerm 和 Zellij 同样可用
sudo apt install tmux
# 验证安装
workmux --version# 安装最新版 workmux
apt install workmux
# tmux 是默认后端,但只作为推荐依赖,
# 因为 kitty、WezTerm 和 Zellij 同样可用
apt install tmux
# 验证安装
workmux --version第 3 步:第一个 worktree
# 可选:为这个项目写一个 .workmux.yaml
cd ~/src/my-project
workmux init
# 在 tmux 里:分支、worktree、窗口和窗格一条命令搞定
workmux add new-feature
# 工作完成后:合并并清理干净
workmux merge
# 软件包自带 bash、zsh 和 fish 补全
workmux --help🎯 基本用法示例
日常流程:
# 创建分支、worktree 和 tmux 窗口
workmux add fix-login
# 已有分支按名字识别
workmux add existing-work
# 从默认基准之外的分支切出
workmux add hotfix --base production
# 把 pull request 检出到独立的 worktree
workmux add --pr 123
# 查看所有进行中的工作
workmux list
# 合并并全部拆除
workmux merge
# 或者不合并直接丢弃
workmux remove fix-login窗口、窗格与恢复:
# 创建窗口但不切换过去
workmux add docs-pass --background
# 关闭窗口,保留 worktree 和分支
workmux close docs-pass
# 之后再打开
workmux open docs-pass
# tmux 或机器崩溃后重建全部窗口
workmux resurrect
# 从任何地方进入某个 worktree
cd "$(workmux path fix-login)"让多个代理并行工作:
# 为你的代理安装状态钩子和技能
workmux setup
# 带上给代理的提示词启动一个 worktree
workmux add add-tests --prompt "为解析器补充单元测试"
# 在一个 TUI 里观察所有代理
workmux dashboard
# 或者在 tmux 中常驻一个状态侧边栏
workmux sidebar
# 给运行中的代理发送指令
workmux send add-tests "也把错误路径覆盖上"
# 等待该代理完成
workmux wait add-tests🔧 工具集成
workmux 刻意建立在你已经在用的工具之上:
- git: worktree 就是普通的
git worktree检出,git、你的钩子和 CI 都察觉不到异常 - tmux: 每个 worktree 一个窗口,以分支命名,并自动套用你的窗格布局
- kitty、WezTerm 和 Zellij: 如果你的复用器不是 tmux,这些都是受支持的替代后端
- 编码代理: 为 Claude Code 及上游支持的其他代理提供状态追踪、提示词注入和技能安装
- 你的 shell: 本软件包自带 bash、zsh 和 fish 补全,
alias wm='workmux'是上游推荐的简写
🚀 为什么选择 deb.griffo.io?
- 官方 Debian: 没有收录 workmux,标准系统上
apt install workmux会失败 - cargo install workmux: 版本较新,但每台机器都要编译 Rust,不在 apt 之内,也没有 shell 补全
- 上游安装脚本: 方便,但它绕过包管理器写入系统,并按自己的节奏更新
- deb.griffo.io: 最新版本,并自动更新
- ✅ 唯一的 apt 来源: Debian 与 Ubuntu 官方源都没有 workmux;本仓库打包官方上游构建
- ✅ 代理支持每周都在变: workmux 能追踪和驱动哪些代理,是逐个版本变化的,因此保持最新决定了功能是能用还是根本不存在
- ✅ 自动更新: 上游发布后数小时内更新软件包
- ✅ 完整的软件包: 上游二进制文件安装为
/usr/bin/workmux,另附 bash、zsh 和 fish 补全 - ✅ 诚实的依赖: 软件包依赖
git并推荐tmux,因为 kitty、WezTerm 和 Zellij 同样是受支持的后端 - ✅ 两种架构: amd64 和 arm64,均为静态链接,同一个包在所有版本上都能运行
- ✅ 多发行版: 支持 Bookworm、Trixie、Forky 和 Sid
- ✅ 易于维护: 使用标准 apt 命令即可更新
📦 软件包构建仓库
Debian 软件包在这个 GitHub 仓库中自动构建和维护:
- 🧩 workmux-debian - 最新版本构建
🔗 相关软件包
deb.griffo.io 同样提供:
- lazygit - 终端 git 界面,处理每个 worktree 里的 git 工作
- GitUI - 另一个快速的终端 git 客户端,如果你更喜欢它的思路
- Zellij - 受支持的 tmux 替代方案,可作为复用器后端
- Serie - 提交图,用来回看一条分支到底做了什么