SuperAPI AI 工具集

dmux-workflows

智能体与模型

查看项目

更新于 10-15 08:34

技能介绍

用途

dmux-workflows 用于编排并行的 AI 智能体会话。其底层依赖 dmux——一个面向智能体运行环境的 tmux 窗格管理器,把多个智能体会话分配到不同的 tmux 窗格中并行运行,再将结果合并回主会话。

适用触发时机包括:需要并行运行多个智能体会话、需要在 Claude Code、Codex 等不同运行环境之间协调工作、任务复杂且适合分而治之,或用户明确表示“run in parallel”“split this work”“use dmux”“multi-agent”。

主要能力

  • 管理 AI 智能体窗格:按 n 创建带提示词的新窗格,按 m 将窗格输出合并回主会话。
  • 支持 Claude Code、Codex、OpenCode、Cline、Gemini、Qwen。
  • 安装方式:审阅软件包后从其仓库安装,参见 github.com/standardagents/dmux。

使用方式

启动会话:

dmux

在 dmux 中按 'n' 创建智能体窗格并输入提示词,例如:

  • 窗格 1:Implement the auth middleware in src/auth/
  • 窗格 2:Write tests for the user service
  • 窗格 3:Update API documentation

每个窗格运行各自的智能体会话,按 '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(监视者)以 watch 模式运行测试套件并在失败时汇总失败信息;窗格 2(修复者)根据窗格 1 的错误输出修复失败测试。

模式 4:跨运行环境——不同任务使用不同 AI 工具。窗格 1(Claude Code)审查认证模块安全性;窗格 2(Codex)重构工具函数以提升性能;窗格 3(Claude Code)为结账流程编写端到端测试。

模式 5:代码评审流水线——并行评审视角。窗格 1 审查 src/api/ 的安全漏洞;窗格 2 审查 src/api/ 的性能问题;窗格 3 审查 src/api/ 的测试覆盖缺口。将全部评审合并为单一报告。

最佳实践

  • 仅并行独立任务,不要并行化彼此依赖输出的任务。
  • 明确边界,每个窗格处理不同文件或关注点。
  • 策略化合并,合并前先审阅窗格输出以避免冲突。
  • 对易产生文件冲突的工作,每个窗格使用独立的 git worktree。
  • 注意资源消耗:每个窗格都是一次完整的智能体会话,会消耗 API 令牌,总窗格数保持在 5-6 个以下。

Git Worktree 集成

对于会触及重叠文件的任务,可先创建隔离的 worktree:

git worktree add -b feat/auth ../feature-auth HEAD
git worktree add -b feat/billing ../feature-billing HEAD

在不同 worktree 中运行智能体:

  • 窗格 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 tool 进程内子智能体派生 单会话内的编程式并行
Codex multi-agent 内置智能体角色 Codex 特定的并行工作

ECC 辅助工具

ECC 现包含一个辅助脚本,用于基于独立 git worktree 的外部 tmux 窗格编排:

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

plan.json 示例:

{
  "sessionName": "skill-audit",
  "baseRef": "HEAD",
  "launcherCommand": "codex exec --cwd {worktree_path} --task-file {task_file}",
  "workers": [
    { "name": "docs-a", "task": "Fix skills 1-4 and write handoff notes." },
    { "name": "docs-b", "task": "Fix skills 5-8 and write handoff notes." }
  ]
}

该辅助脚本会:

  • 为每个 worker 创建一个基于分支的 git worktree;
  • 可选地将主检出中选定的 seedPaths 覆盖到每个 worker 的 worktree;
  • 在 .orchestration/<session>/ 下写入每个 worker 的 task.md、handoff.md 和 status.md 文件;
  • 启动一个 tmux 会话,每个 worker 一个窗格;
  • 在每个窗格中启动对应的 worker 命令;
  • 保留主窗格给编排器使用。

当 worker 需要访问尚未纳入 HEAD 的本地脏文件或未跟踪文件(如本地编排脚本、草稿计划或文档)时,使用 seedPaths:

{
  "sessionName": "workflow-e2e",
  "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": "seed-check", "task": "Verify seeded files are present before starting work." }
  ]
}

故障排查

  • 窗格无响应:直接切换到该窗格,或用 tmux capture-pane -pt <session>:0.<pane-index> 检查。
  • 合并冲突:使用 git worktree 按窗格隔离文件变更。
  • 令牌用量过高:减少并行窗格数量,每个窗格都是一次完整的智能体会话。
  • 找不到 tmux:macOS 使用 brew install tmux,Linux 使用 apt install tmux 安装。