乐于分享
好东西不私藏

OpenClaw + Hermes 双开实战:一台 Windows 跑两个 AI Agent,飞书+本地互相调用的真实体验

OpenClaw + Hermes 双开实战:一台 Windows 跑两个 AI Agent,飞书+本地互相调用的真实体验

不是什么概念验证,是我每天在用的工作流。

 先说结论

如果你已经在用 OpenClaw 或者 Hermes,**不要二选一,双开**。
两个 Agent 跑在同一台 Windows 电脑上(WSL 环境),同时连接飞书,互相可以调用对方的能力——这不是炫技,是实打实的生产力提升。
跑了一个月,我把整个搭建过程、踩过的坑、以及**为什么两个比一个强**,一次性讲清楚。-

 为什么是”双开”?

很多人问:都是 AI Agent,跑一个不够吗?
答案是——**互补大于重复**。

 OpenClaw 的强项

  • Skills 生态丰富:社区 Skill 多,拿来即用,从小红书配图到天气查询,安装一条命令搞定
  • 多平台 Gateway:飞书、Telegram、Discord、WhatsApp 原生支持
  • Node.js 技术栈:和前端/JS 生态无缝衔接,Codex/Claude Code 等 ACP Agent 天然兼容

Hermes 的强项

  • 工具链深度:文件系统操作、终端执行、浏览器自动化、代码执行沙箱——开箱即用
  • Python 技术栈:数据处理、脚本自动化、API 调用更顺手
  • 结构化任务管理:定时任务(cron)、Agent 团队调度、多 Agent 协同是原生能力
  • 记忆系统:持久化记忆 + 跨会话搜索,Agent 真的能”记住”你说过什么
**合在一起的效果**:OpenClaw 负责快速响应 + Skills 生态,Hermes 负责深度执行 + 长期记忆。两个 Agent 跑在同一台机器上,通过 ACP 协议互相调用,等于你同时拥有两个不同专长的 AI 助手。

我的实际环境

| 项目 | 配置 |
|——|——|
| 系统 | Windows 11 + WSL2(Ubuntu) |
| OpenClaw | Node.js 全局安装,Gateway 常驻运行 |
| Hermes | Python venv,Gateway + CLI 同时运行 |
| 平台 | 飞书(两个 Agent 都接入同一个飞书应用) |
| 模型 | 百炼 Coding Plan 免费额度(qwen3.6-plus / MiniMax-M2.7 / glm-5) |
| 通信 | ACP 协议(acpx 作为桥梁) |
> 零成本。所有模型走的是阿里百炼的 Coding Plan 免费额度,每个月白嫖。

 搭建步骤(干货)

第一步:各自跑起来

**OpenClaw**(Node.js):
“`bash
npm i -g openclaw
openclaw setup
交互式配置向导
openclaw gateway
启动 Gateway,常驻后台
“`“`
**Hermes**(Python):
“`bash
git clone https://github.com/hermes-agent/hermes-agent.git
cd hermes-agent
python -m venv venv && source venv/bin/activate
pip install -e .
hermes setup
交互式配置
hermes gateway run
启动 Gateway
“`
两个 Gateway 各占一个端口,互不冲突。飞书上配置一个应用,两个 Gateway 都接入——飞书不限制多个后端。

第二步:打通 ACP 互相调用

这是最关键的一步。ACP(Agent Client Protocol)是两个 Agent 互相调用的桥梁。
1. 安装 acpx(桥梁工具):
“`bash
npm i -g acpx
“`
2. 注册 Hermes 到 acpx:
编辑 `~/.acpx/config.json`:
{
“defaultAgent”: “codex”,
“agents”: {
“hermes”: {
“command”: “/home/你的用户名/hermes-agent/venv/bin/python -m acp_adapter.entry”
}
}
}
⚠️ **坑 1**:一定要用 venv 的 Python 绝对路径!不能用 `source venv/bin/activate && python …`,acpx 不支持 shell 命令。
3. 在 OpenClaw 里注册 Hermes Agent:
编辑 `~/.openclaw/openclaw.json`:
{
“agents”: {
“list”: [{
“id”: “hermes”,
“name”: “Hermes Agent”,
“workspace”: “/mnt/d/HermesWorkplace”,
“runtime”: {
“type”: “acp”,
“acp”: {
“agent”: “hermes”,
“backend”: “acpx”,
“mode”: “persistent”
}
}
}]
},
“acp”: {
“enabled”: true,
“backend”: “acpx”,
“allowedAgents”: [“main”, “hermes”]
},
“tools”: {
“agentToAgent”: {
“enabled”: true,
“allow”: [“main”, “hermes”]
}
}
}
“`
4. 验证:
“`bash
npx acpx hermes “你好,你是谁?”
“`
看到回复就说明通了。

第三步:从 Hermes 调用 OpenClaw

反过来也一样。Hermes 用 `delegate_task` 工具调用 OpenClaw:
“`
delegate_task(
goal=”用 OpenClaw 的 Skills 帮我生成一张小红书配图”,
acp_command=”openclaw”,
acp_args=[“–acp”, “–stdio”]
)
“`
Hermes 的 Python 环境 + OpenClaw 的 Skills 生态 = 完美互补

实战场景:双开到底强在哪?

场景 1:每日新闻自动推送

我用 Hermes 的 cron 定时任务,每天早上 7:30 自动抓取国内外热点新闻(政治/经济/科技各 7 条),整理成飞书消息推送给我。
**为什么用 Hermes 做这个?**
  • cron 定时任务是 Hermes 的原生能力
  • 记忆系统让它知道我的偏好(哪些新闻类型优先、格式要求)
  • 跨会话搜索可以复用历史采集经验
如果某天新闻源出了问题,Hermes 可以调用 OpenClaw 的 Skills 来补充数据源。

场景 2:内容创作流水线

范遥(我的内容 Agent)用 OpenClaw 的 Skills 快速生成小红书配图,然后交给 Hermes 的技术 Agent 做 HTML 报告输出。
**流程**:
  1. 我在飞书给 OpenClaw 发指令:”帮我写一篇关于 XX 的小红书笔记”
  2. OpenClaw 调用 `xiaohongshu-image-generation` Skill 生成配图
  3. 图片生成后,通过工作空间共享,Hermes 自动读取并生成配套 HTML 报告
  4. 最终成果存在共享目录 `/mnt/d/HermesWorkplace/团队输出/` 里

场景 3:Agent 互相救场

这才是双开最有价值的地方——一个挂了,另一个能顶上
比如某天 OpenClaw 的某个模型 API 报错 401,Hermes 可以自动切换到备用模型继续执行任务。反过来,Hermes 的某个工具链出问题,也可以委托给 OpenClaw 的 Skills 来处理。
两个 Agent 各有一套模型调度策略和 fallback 链,等于给自己的工作流上了双保险。

 踩过的坑(帮你省时间)

坑 1:acpx 不支持 shell 激活

❌ 错误写法:
“`json
“command”:”source /home/user/hermes-agent/venv/bin/activate && python -m acp_adapter.entry”
“`
✅ 正确写法:
“`json
“command”: “/home/user/hermes-agent/venv/bin/python -m acp_adapter.entry”
“`
坑 2:Python 包名搞错
安装 ACP SDK 的时候:
❌ `pip install acp` —— 这是个完全无关的包
✅ `pip install agent-client-protocol` —— 这才是对的

坑 3:ACP 连上了但返回空响应

acpx 显示 `[thinking]` 动画在转,但最后返回空文本。
**原因**:Hermes 的 `run_conversation()` 返回的 `final_response` 字段为空,但 `messages` 里有内容。
**修复**:在 `acp_adapter/server.py` 的 `prompt()` 方法里加一个 fallback,从 `messages` 列表中提取最后一条 assistant 消息。

坑 4:WSL 文件路径映射

Windows 文件系统在 `/mnt/d/` 下,两个 Agent 的共享工作空间必须用 Linux 路径,不能用 Windows 路径。
✅ 正确:`/mnt/d/HermesWorkplace/`
❌ 错误:`D:\HermesWorkplace\`

坑 5:飞书同一个应用接入两个 Gateway

飞书不限制一个应用有多个后端。两个 Gateway 都配置同一个 App ID 和 App Secret,飞书会把消息推送给两个——但你需要在代码层面做好消息路由,避免两个 Agent 同时回复同一条消息。
我的做法:OpenClaw 处理简单对话和 Skills 调用,Hermes 处理定时任务和深度执行。两个 Agent 各司其职,不抢活。

成本

**零**
所有模型走阿里百炼 Coding Plan 的免费额度:
  • qwen3.6-plus:免费
  • MiniMax-M2.7:免费
  • glm-5:免费
  • deepseek-v3.2:免费
服务器?就是自己的 Windows 电脑,WSL2 跑着不费事。
如果要用更强的模型(比如 Claude / GPT-4),那才需要花钱。但日常办公 + 内容创作 + 自动化任务,免费模型完全够用。

总结

OpenClaw + Hermes 双开不是”多此一举”,而是:
  1. **能力互补**:Skills 生态 × 深度工具链
  2. **冗余备份**:一个挂了另一个顶上
  3. **成本为零**:免费模型 + 自己的电脑
  4. **飞书统一入口**:不用切换平台,一个聊天窗口搞定
如果你已经在用其中任何一个,**强烈建议试试双开**。搭建过程半小时搞定,但生产力的提升是持续的。
**你的 Agent 怎么配的?欢迎在评论区聊聊。**
*本文作者:希昂,供应链老兵,AI Agent 重度用户。目前在创业,一人公司,折腾 AI 自动化。*