🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx skills add https://skills.sh/affaan-m/everything-claude-code/dmux-workflows

💡 提示:需要 Node.js 和 NPM

dmux 工作流

使用 dmux 编排并行的 AI 智能体会话,dmux 是一个用于智能体工具的 tmux 窗格管理器。

何时激活此技能

  • 并行运行多个智能体会话
  • 协调跨 Claude Code、Codex 和其他工具的工作
  • 受益于分而治之并行处理的复杂任务
  • 用户说“并行运行”、“拆分这个工作”、“使用 dmux”或“多智能体”

什么是 dmux

dmux 是一个基于 tmux 的编排工具,用于管理 AI 智能体窗格:

  • n 键创建一个带有提示的新窗格
  • m 键将窗格输出合并回主会话
  • 支持:Claude Code、Codex、OpenCode、Cline、Gemini、Qwen

安装: npm install -g dmux 或访问 github.com/standardagents/dmux

快速开始

# 启动 dmux 会话
dmux

# 创建智能体窗格(在 dmux 中按 'n',然后输入提示)
# 窗格 1:“在 src/auth/ 中实现身份验证中间件”
# 窗格 2:“为用户服务编写测试”
# 窗格 3:“更新 API 文档”

# 每个窗格运行自己的智能体会话
# 按 'm' 键合并结果

工作流模式

模式 1:调研 + 实现

将调研和实现拆分为并行任务:

窗格 1(调研):“研究 Node.js 中速率限制的最佳实践。
  检查当前库,比较方法,并将发现写入 /tmp/rate-limit-research.md”

窗格 2(实现):“为我们的 Express API 实现速率限制中间件。
  先从基本的令牌桶开始,调研完成后我们再优化。”

# 窗格 1 完成后,将发现合并到窗格 2 的上下文中

模式 2:多文件功能

在独立文件上并行工作:

窗格 1:“为计费功能创建数据库模式和迁移文件”
窗格 2:“在 src/api/billing/ 中构建计费 API 端点”
窗格 3:“创建计费仪表板 UI 组件”

# 全部合并后,在主窗格中进行集成

模式 3:测试 + 修复循环

在一个窗格中运行测试,在另一个窗格中修复:

窗格 1(监视器):“以监视模式运行测试套件。当测试失败时,
  总结失败信息。”

窗格 2(修复者):“根据窗格 1 的错误输出来修复失败的测试”

模式 4:跨工具协作

为不同任务使用不同的 AI 工具:

窗格 1(Claude Code):“审查认证模块的安全性”
窗格 2(Codex):“重构工具函数以提升性能”
窗格 3(Claude Code):“为结账流程编写端到端测试”

模式 5:代码审查流水线

并行审查视角:

窗格 1:“审查 src/api/ 中的安全漏洞”
窗格 2:“审查 src/api/ 中的性能问题”
窗格 3:“审查 src/api/ 中的测试覆盖率差距”

# 将所有审查合并到一个报告中

最佳实践

  1. 仅限独立任务。 不要并行化依赖于彼此输出的任务。
  2. 明确边界。 每个窗格应处理不同的文件或关注点。
  3. 策略性合并。 在合并前审查窗格输出,以避免冲突。
  4. 使用 git worktrees。 对于容易产生文件冲突的工作,为每个窗格使用独立的工作树。
  5. 注意资源消耗。 每个窗格都使用 API 令牌——将总窗格数控制在 5-6 个以下。

Git Worktree 集成

对于涉及重叠文件的任务:

# 创建工作树以实现隔离
git worktree add -b feat/auth ../feature-auth HEAD
git worktree add -b feat/billing ../feature-billing HEAD

# 在单独的工作树中运行智能体
# 窗格 1:cd ../feature-auth && claude
# 窗格 2:cd ../feature-billing && claude

# 完成后合并分支
git merge feat/auth
git merge feat/billing

补充工具

工具 功能 使用场景
dmux 用于智能体的 tmux 窗格管理 并行的智能体会话
Superset 支持 10+ 个并行智能体的终端 IDE 大规模编排
Claude Code Task 工具 进程内子智能体生成 在会话内通过编程实现并行
Codex 多智能体 内置智能体角色 Codex 特定的并行工作

ECC 辅助工具

ECC 现在包含一个用于外部 tmux 窗格编排的辅助工具,支持独立的 git 工作树:

node scripts/orchestrate-worktrees.js plan.json --execute

示例 plan.json

{
  "sessionName": "技能审计",
  "baseRef": "HEAD",
  "launcherCommand": "codex exec --cwd {worktree_path} --task-file {task_file}",
  "workers": [
    { "name": "文档-a", "task": "修复技能 1-4 并编写交接笔记。" },
    { "name": "文档-b", "task": "修复技能 5-8 并编写交接笔记。" }
  ]
}

该辅助工具会:

  • 为每个工作器创建一个基于分支的 git 工作树
  • 可选地将主检出中的选定 seedPaths 覆盖到每个工作器工作树中
  • 在每个工作器工作树中写入 task.mdhandoff.mdstatus.md 文件,存放在 .orchestration/<会话名称>/ 目录下
  • 启动一个 tmux 会话,每个工作器一个窗格
  • 在每个窗格中启动相应的工作器命令
  • 主窗格保持空闲,供编排者使用

当工作器需要访问尚未包含在 HEAD 中的脏文件或未跟踪的本地文件时,使用 seedPaths,例如本地的编排脚本、草案计划或文档:

{
  "sessionName": "工作流端到端测试",
  "seedPaths": [
    "scripts/orchestrate-worktrees.js",
    "scripts/lib/tmux-worktree-orchestrator.js",
    ".claude/plan/workflow-e2e-test.json"
  ],
  "launcherCommand": "bash {repo_root}/scripts/orchestrate-codex-worker.sh {task_file} {handoff_file} {status_file}",
  "workers": [
    { "name": "种子文件检查", "task": "开始工作前验证种子文件是否存在。" }
  ]
}

故障排除

  • 窗格无响应: 直接切换到该窗格,或使用 tmux capture-pane -pt <会话名>:0.<窗格索引> 进行检查。
  • 合并冲突: 使用 git 工作树来隔离每个窗格的文件更改。
  • 令牌使用量高: 减少并行窗格数量。每个窗格都是一个完整的智能体会话。
  • 找不到 tmux: 使用 brew install tmux (macOS) 或 apt install tmux (Linux) 安装。

📄 原始文档

完整文档(英文):

https://skills.sh/affaan-m/everything-claude-code/dmux-workflows

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。