Git Worktree + tmux 并行开发神器 workmux 是什么:5 大特性一文看懂
【免费下载链接】workmuxgit worktrees + tmux windows for zero-friction parallel dev项目地址: https://gitcode.com/gh_mirrors/wo/workmux
workmux是一个把git worktree与tmux深度绑定的开源并行开发工具:一条命令就能为每个任务创建独立的 worktree 工作区和 tmux 窗口,让多个 AI Agent 互不干扰地同时开工。它主打"零摩擦(zero-friction)"体验——不 stash、不切分支、不写胶水脚本,本文带你一文看懂它的 5 大核心特性,并附快速上手步骤。
为什么需要 workmux:并行开发的 3 个痛点
如果你同时想推进多个功能(或让多个 AI Agent 各干各的),传统做法很折磨人:
- 切换分支要清理现场:
git stash、暂存、切回……稍不留神就冲突; - 环境重复搭建:新的 worktree 里没有
.env、没有node_modules、没有开发服务器,每次都要手动补; - 收尾繁琐:合并完还要手动关 tmux 窗口、删 worktree、删分支,漏一步就留下"僵尸工作区"。
workmux 的设计哲学是基于你已经在用的工具:tmux(或 kitty / WezTerm / Zellij)管窗口、git 管 worktree、你的 AI Agent 管写代码,workmux 只负责把它们"焊"在一起。官方对使用前后流程的对比见 docs/src/content/docs/guide/index.mdx。
30 秒上手:workmux 安装与快速配置
workmux 提供安装脚本与 Homebrew 等多种方式(见 README.md 的 Installation 部分),手动安装可从源码构建:
git clone https://gitcode.com/gh_mirrors/wo/workmux日常使用只需三步:
workmux init # 可选:生成 .workmux.yaml 配置文件 workmux add new-feature # 创建 worktree + tmux 窗口,并自动跳转过去 workmux merge # 合并分支 + 一键清理所有资源配置文件采用"全局 + 项目"两级结构:~/.config/workmux/config.yaml放个人默认值,项目里的.workmux.yaml放项目专属配置,项目配置优先。完整说明见 docs/src/content/docs/guide/configuration.md。
特性一:一条命令创建 Worktree 与 tmux 窗口(add)
workmux add是入口命令。以workmux add user-auth为例,它一口气完成 7 件事(逻辑见 src/command/add.rs):
- 按分支名推导出工作区名字,创建 git worktree;
- 自动拷贝 / 软链配置文件与依赖;
- 执行
post_create钩子(如装依赖); - 创建名为
wm-user-auth的 tmux 窗口; - 按配置摆好 pane 布局(编辑器、Agent、开发服务器);
- 自动切换到新窗口,你直接开工。
它还支持给 AI Agent 直接"派活":
workmux add feature/ai --prompt "实现 OAuth 用户登录"prompt 会自动注入到运行 Agent 的 pane 中,无需改动配置。
特性二:一条命令合并分支并自动清理(merge)
干完活后的收尾同样是一条命令。在 worktree 对应的 tmux 窗口里执行workmux merge,它会:合并分支到 main(默认 merge commit,也支持--rebase/--squash)→ 关闭 tmux 窗口 → 删除 worktree → 删除本地分支,一气呵成(实现见 src/command/merge.rs)。
不想现在清场?加--keep先保留,之后再用workmux remove手动清理。走 PR 流程的开发者则推荐合并 PR 后直接workmux remove收尾。
特性三:Agent 状态实时跟踪,窗口名自带"状态灯" 🤖
多窗口并行时最让人焦虑的是"不知道每个 Agent 干到哪儿了"。workmux 把 Agent 状态直接显示在tmux 窗口名上(原理见 docs/src/content/docs/guide/status-tracking.mdx):
| 图标 | 含义 |
|---|---|
| 🤖 | Agent 正在处理 |
| 💬 | Agent 在等你输入(切到窗口自动清除) |
| ✅ | Agent 已完成 |
只需运行一次workmux setup,它会自动检测你装的 Agent(Claude Code、Codex、Gemini、OpenCode 等)并安装状态钩子。配合workmux sidebar常驻侧边栏,所有窗口、分支和 Agent 状态一栏尽收眼底:
特性四:Dashboard 看板,多 Agent 并行开发总览
当你同时跑多个 Agent,workmux dashboard提供全屏 TUI 看板:所有 Agent 的状态、git 信息、PR 检查、实时终端预览尽收眼底,还能直接在面板里查看 diff、暂存 hunk、给 Agent 发指令(文档见 docs/src/content/docs/guide/dashboard/index.mdx)。
在 tmux 里按prefix + Ctrl-s即可把 Dashboard 作为弹出层调出(需绑定快捷键),无需离开当前窗口。切到 diff 视图后,可以逐文件审查 Agent 的改动,支持直接 commit / merge:
特性五:自动化环境配置,新 Worktree 开箱即用
新 worktree 默认是个"裸环境",workmux 用三类配置让它开箱即用:
files: copy: [.env] # 拷贝配置文件 symlink: [node_modules] # 软链依赖,秒进工作状态 post_create: # 创建后自动执行的钩子 - npm install panes: # 自动摆放窗口布局 - command: <agent> focus: true - command: npm run dev split: horizontal依赖安装跑在 pane 里而不是钩子里,意味着窗口立刻可用,安装过程还能亲眼盯着;Agent 甚至可以在依赖装完前就开始读代码。
进阶玩法:沙箱隔离与 Agent 技能
- 沙箱:
workmux sandbox可把 Agent 关进容器(Docker/Podman)或 Lima 虚拟机,与 SSH 密钥、云凭据等主机敏感文件彻底隔离,详见 docs/src/content/docs/guide/sandbox/index.mdx。 - 技能:
workmux setup --skills可为 Claude Code 等 Agent 安装/worktree、/merge、/rebase等技能,让 Agent 自己完成"提交 → rebase → 合并 → 清理"全流程,甚至能当协调者把任务分派给并行的 worktree Agent(见 skills/worktree/SKILL.md 与 docs/src/content/docs/guide/skills.md)。
常见命令速查表
| 命令 | 作用 |
|---|---|
workmux add <分支> | 创建 worktree + tmux 窗口并跳转 |
workmux merge | 合并分支并清理窗口/worktree/分支 |
workmux remove | 不合并,直接清理工作区(支持--all) |
workmux list | 列出所有 worktree 及状态 |
workmux open / close | 为已有 worktree 打开 / 关闭窗口 |
workmux dashboard | 打开 Agent 总览看板 |
workmux sidebar | 开关常驻状态侧边栏 |
workmux rebase | 把 worktree 分支变基到基分支 |
总结
workmux 用极小的学习成本,把「git worktree + tmux + AI Agent」串成了一条真正的并行开发流水线:add开工、merge收工,状态灯、看板、沙箱随时兜底。如果你的日常是"多分支 + 多 Agent",它是终端党提升效率的高性价比选择。
【免费下载链接】workmuxgit worktrees + tmux windows for zero-friction parallel dev项目地址: https://gitcode.com/gh_mirrors/wo/workmux
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考