拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Git Worktree + tmux 并行开发神器 workmux 是什么:5 大特性一文看懂

Git Worktree + tmux 并行开发神器 workmux 是什么:5 大特性一文看懂

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):

  1. 按分支名推导出工作区名字,创建 git worktree;
  2. 自动拷贝 / 软链配置文件与依赖;
  3. 执行post_create钩子(如装依赖);
  4. 创建名为wm-user-auth的 tmux 窗口;
  5. 按配置摆好 pane 布局(编辑器、Agent、开发服务器);
  6. 自动切换到新窗口,你直接开工。

它还支持给 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),仅供参考

返回列表