OpenClaw+OpenCode+Claude Code+Hermes:四工具协同实战指南
OpenClaw + OpenCode + Claude Code + Hermes:四工具协同实战指南
一个 Supervisor 调度四个 AI 工具,从编码到审查到部署的完整流水线
你有没有遇到过这种情况:用一个 AI 工具写代码,写完了发现质量不过关,又得手动去改;改完了想跑个测试,又得切到另一个终端;测试过了想部署,还得再折腾一轮。整个流程下来,工具换了四五个,效率反而更低了。
我最近在 OpenClaw 上跑通了一套四工具协同的方案:OpenClaw 做调度中枢,OpenCode 写代码,Claude Code 做审查重构,Hermes 做质量分析和部署。四个工具各司其职,一个 Supervisor 统筹全局,整个流程自动化完成。
先看结论: 四工具协同的核心价值不是”多工具一起用”,而是让每个工具做它最擅长的事。OpenCode 擅长快速编码和迭代,Claude Code 擅长深度审查和重构,Hermes 擅长持续运行和自动化任务,OpenClaw 擅长调度和决策。组合起来,效率比单工具高出一个量级。
01
为什么需要四工具协同?
很多人用 AI 工具的方式是”一个工具干所有事”。比如用 Claude Code 写代码、审查代码、跑测试、做部署——能用,但效率不是最优的。就像你不会让一个全栈工程师同时负责写代码、做 Code Review、跑 CI/CD 和做产品经理一样。
每个 AI 工具都有自己的”性格”和擅长领域:
• OpenCode:基于终端的 AI 编码助手,擅长快速生成代码、多文件操作、迭代优化。它的优势是速度快、上下文窗口大、可以直接操作文件系统。
• Claude Code:Anthropic 出品的编码代理,擅长深度代码审查、架构级重构、复杂 bug 诊断。它的优势是推理能力强、对代码质量要求高、会主动发现潜在问题。
• Hermes:本地 AI 助手,擅长持续运行的任务、消息处理、定时任务、自动化分析。它的优势是可以作为常驻服务运行,处理异步任务。
• OpenClaw:AI 代理操作系统,擅长任务调度、多工具编排、状态管理、决策判断。它是整个协同的”大脑”,负责把任务分配给正确的工具。
当你把这四个工具组合起来,每个工具只做自己最擅长的部分,整体效率和质量都会大幅提升。
打个比方:如果把写代码比作建房子,OpenCode 就是施工队,快速把房子盖起来;Claude Code 是质检工程师,拿着放大镜检查每一根钢筋;Hermes 是自动化检测设备,跑完所有安全测试出报告;OpenClaw 是项目经理,统筹全局、协调各方、做最终决策。你不会让质检工程师去搬砖,也不会让施工队自己验收——专业的人做专业的事,效率才最高。
02
架构设计:谁做什么,怎么协作
四工具协同的核心架构很简单:OpenClaw 作为调度中枢,通过 ACP(Agent Communication Protocol)协议与其他三个工具通信。整个流程像一条流水线,每个工具有明确的输入和输出。
| 工具 | 角色 | 擅长领域 | 输入 | 输出 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
关键设计原则是职责单一:每个工具只做一件事,做好了交给下一个。这和软件工程中的”单一职责原则”是一样的道理。如果一个工具既要写代码又要审查代码,它很容易陷入”自己审自己”的盲区。
注意: 四工具协同的前提是所有工具都能访问同一个文件系统。OpenClaw 通过 ACP 协议启动 OpenCode 和 Claude Code 时,它们会继承 OpenClaw 的工作目录,所以文件共享是天然的。Hermes 作为本地服务,也能直接访问同一目录。
03
实战演示:从零到通过的完整流水线
下面用一个真实的测试案例来演示四工具协同的完整流程。任务是:创建一个 Python 数学工具库,包含 6 个函数和完整的测试用例,然后通过代码审查提升质量。
第一步:OpenCode 创建项目代码
OpenClaw 通过 ACP 协议启动 OpenCode,分配任务:”在 /tmp/collab_test/ 下创建数学工具库,包含 factorial、fibonacci、is_prime、gcd、solve_quadratic、flatten 六个函数,以及完整的 pytest 测试用例。”
OpenCode 的优势在这个环节体现得淋漓尽致:它直接操作文件系统,一次性创建了 src/math_utils.py 和 tests/test_math_utils.py 两个文件,然后自动运行 pytest 验证。结果:35 个测试全部通过,耗时 28 秒。
第二步:Hermes 跑静态分析
这一步原本计划用 Hermes 的 CLI 非交互模式跑 pylint 分析,但实际测试中发现 Hermes 在非交互模式下会因为指令解析问题进入交互模式。作为替代方案,直接用 pip 安装 pylint 并运行自动化分析。
pylint 评分:6.33/10。主要扣分项是缺少文档字符串和部分函数缺少类型注解。这些信息会被传递给下一步的 Claude Code。
踩坑经验: Hermes 的 CLI 非交互模式在处理某些指令时不够稳定,会把 /no_think 这类内部指令当作交互命令。在实际协同中,建议对 Hermes 的输出做二次验证,或者直接用 Python 工具链(pylint、mypy、pytest)作为替代方案。
第三步:Claude Code 审查和改进
这是整个流水线中最有价值的一步。OpenClaw 通过 ACP 启动 Claude Code,任务是:”读取现有代码,修复 bug,添加文档字符串和类型注解,增加 Hypothesis 属性测试。”
Claude Code 做了几件关键的事:
• 发现并修复了一个隐藏 bug:solve_quadratic(a=0) 会导致 ZeroDivisionError,新增了 ValueError 校验
• 修复了浮点比较问题:discriminant == 0 的精确比较改为 math.isclose(),避免浮点误差
• 添加了输入验证:新增 _require_int 和 _require_real 两个辅助函数,对所有公共函数做类型检查
• 增加了性能优化:factorial 函数加上 @lru_cache 装饰器,避免重复计算
• 添加了文档字符串:所有 6 个函数都有了完整的 docstring
• 新增了 25 个测试用例:包括 15 个 Hypothesis 属性测试,覆盖边界条件和异常路径
最终结果:60 个测试全部通过,pylint 评分从 6.33 提升到 10.00/10。耗时 4 分 46 秒。
这一步最让人惊喜的是 Claude Code 发现的那三个隐藏 bug。尤其是 solve_quadratic(a=0) 的 ZeroDivisionError,这是一个非常隐蔽的边界条件——如果你自己写代码测试,很可能只测 a!=0 的正常情况,根本想不到 a=0 这种异常输入。Claude Code 的优势就在于它会系统性地考虑所有边界条件,而不是只测”能跑通”的情况。
第四步:Supervisor 验证和汇总
最后一步由 OpenClaw 的 Supervisor 角色完成:验证测试通过数量是否增加(35 → 60),确认 pylint 评分是否达标(10/10),检查代码改进是否合理,然后汇总成最终报告。这一步看似简单,但它是整个流水线的”质量关”——如果前面任何一步出了问题,Supervisor 会决定是继续迭代还是直接通过。
04
配置要点:让四个工具能对话
四工具协同的关键配置有两个地方:OpenClaw 的 agents 配置和 acpx 的配置。
OpenClaw agents 配置(openclaw.json):需要在 agents.list 中注册 opencode-worker 和 claude-worker,指定 runtime.type 为 acp,acp.agent 分别为 opencode 和 claude。
acpx 配置(~/.acpx/config.json):需要设置 permissionMode 为 approve-all(否则每次文件操作都需要人工确认),并配置各 agent 的模型和环境变量。
一个容易踩的坑是权限配置:acpx 的 permissionMode 必须在 OpenClaw 的 acpx plugin config 中设置,而不是在 agents 的 permissions 字段中。agents 配置中加 permissions 字段会导致 schema 校验失败。
配置清单:• OpenClaw acpx plugin: permissionMode = “approve-all”• agents.list: 注册 opencode-worker (acp.agent=opencode) 和 claude-worker (acp.agent=claude)• acpx config: 配置各 agent 的模型、命令、环境变量• 确保所有工具共享同一文件系统(默认行为)
05
效果对比:单工具 vs 四工具协同
为了验证四工具协同的价值,我对比了两种方式完成同一个任务的效果:
| 指标 | 单工具(仅 Claude Code) | 四工具协同 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
数据说明了一个事实:专业分工确实能提升整体质量。OpenCode 专注编码,速度比 Claude Code 快 6 倍;Claude Code 专注审查,发现的 bug 数量是单工具模式的 3 倍。两者结合,既有速度又有质量。
06
适用场景和局限性
四工具协同不是万能的。它最适合以下场景:
• 需要高质量代码的项目:单工具生成的代码能跑但不够健壮,多工具审查后质量显著提升
• 需要多轮迭代的任务:写代码 → 分析 → 改进 → 再分析,这种循环天然适合流水线
• 团队协作场景:不同人负责不同工具,各司其职
不太适合的场景:
• 简单的一次性任务:如果只是改个配置文件、查个状态,直接用 OpenClaw 就够了,不需要启动四个工具
• 需要实时交互的任务:流水线是异步的,不适合需要即时反馈的场景
• 工具链不稳定的环境:如果 ACP 配置有问题、网络不稳定、工具版本不兼容,协同会频繁失败
一个实际的判断标准:如果任务可以在 5 分钟内由单工具完成,就不值得启动四工具流水线。流水线的价值在于长任务、高质量要求、需要多轮迭代的场景。启动流水线本身有开销(ACP 握手、工具初始化、文件同步),只有当任务本身足够复杂时,这个开销才值得。
07
下一步:从手动编排到自动流水线
目前这套四工具协同还是”手动编排”的——由 Supervisor 人肉决定什么时候调用哪个工具、传递什么参数、如何判断结果。下一步的进化方向是自动流水线:把整个流程固化成一个可复用的 Skill,用户只需要输入需求,流水线自动执行四个步骤,最终输出结果。
这已经在做了。我们创建了一个 four-tool-collab Skill,把整套流程固化下来:任务分解规则、每个工具的输入输出格式、质量检查标准、异常处理策略。后续只需要触发这个 Skill,就能自动跑完整个流水线。
更远的未来,这套流水线还可以扩展:加入更多工具(比如专门做安全审计的工具、专门做性能测试的工具),支持多项目并行调度,甚至支持跨语言、跨框架的混合项目。四工具协同只是一个起点,真正的目标是让 AI 工具像乐高积木一样自由组合,按需拼装出最适合当前任务的工具链。
一句话总结: 四工具协同的本质是”专业分工 + 自动化流水线”。它不是为了炫技,而是为了让每个工具在最擅长的环节发挥最大价值。如果你的项目对代码质量有要求,这套方案值得一试。
— END —
💬 互动话题
你现在用的是哪个 AI 编码工具?有没有尝试过多个工具组合使用?
如果让你选四个 AI 工具组成协同流水线,你会选哪四个?
例如: Cursor + Copilot + ChatGPT + Claude?还是其他组合?评论区聊聊你的方案。
如果你觉得这篇对你有帮助,可以点赞、在看,也可以转给正在用 AI 写代码的朋友。
我后面还会继续更新这个系列:四工具协同的进阶篇(多项目并行调度)、实战篇(真实项目全流程复盘)、避坑篇(常见问题和解决方案)。如果对这个方向感兴趣,可以关注我,后续会持续写相关内容。
👍 点赞 + 在看 + 转发 是对我最大的支持!
夜雨聆风