Windows环境下OpenClaw+Hermes安装部署实战(直接拿去用)
Windows跑OpenClaw,WSL跑Hermes,目录怎么划?这套方案我琢磨了好久,感触颇深,分享出来给需要的朋友参考。
为什么这样设计
刚开始折腾OpenClaw和Hermes的时候,我也纠结过这个问题:两个Agent到底该怎么部署?都放Windows?还是都放Linux?
试了一圈下来,发现OpenClaw必须跑在Windows原生环境。原因很简单——微信、钉钉这些国内常用的软件,基本上只有Windows版本。你要做公众号推送、企业微信消息,绕不开Windows。
而Hermes只能跑在WSL里。这个工具本身就是基于Linux生态开发的,依赖一堆Linux工具链,硬要搬到Windows上反而麻烦。
所以最后就成了现在这个样子:Windows + WSL双环境。刚开始觉得有点复杂,用久了发现其实挺合理的——各跑各的擅长领域,通过共享目录通信,互不干扰。
下面这套目录结构,就是在这个过程中慢慢摸索出来的。
目录结构
先看一下整体的目录布局:
D:\
├─ Hermes\ # Hermes程序目录(WSL中访问)
│ └─ workspace\ # Hermes工作空间
│
└─ AI_Workspace\ # 【全局统一共享根目录】
│
├─ Hermes_Work\ # Hermes私有(WSL独写)
│ ├─ skills\ # Hermes专属技能
│ ├─ memory\ # Hermes记忆库
│ ├─ logs\ # 运行日志
│ └─ cache\ # 临时缓存
│
├─ OpenClaw_Work\ # OpenClaw工作目录(Windows端)
│ ├─ brands\ # 多项目内容资产
│ ├─ skills\ # OpenClaw技能库
│ ├─ platforms\ # 各平台/API配置
│ ├─ memory\ # OpenClaw记忆库
│ └─ drafts\ # 待审核输出
│
└─ Public_Resource\ # 公共共享区(双方读写)
├─ queue\ # 任务队列(Hermes写入→OpenClaw读取)
├─ results\ # 执行结果(OpenClaw写入→Hermes读取)
├─ assets\ # 共享素材(图片、文档等)
├─ templates\ # 通用模板
└─ video\ # 视频/多媒体素材
大概就是这样。看起来有点多,但其实逻辑很清晰:私有的各自管,共享的放一起。
每个目录是干嘛的
D:\Hermes\ — Hermes程序目录
这个目录放Hermes的程序文件和workspace。之所以单独放在D盘根目录,是因为WSL访问Windows文件需要通过/mnt/d/这个挂载点。
把Hermes放在D:\Hermes\,在WSL里对应的路径就是/mnt/d/Hermes,比较短,配置起来方便。而且程序和我的工作数据分开,以后升级Hermes也不会影响到其他东西。
AI_Workspace\OpenClaw_Work\ — OpenClaw工作区
如果你之前已经在用OpenClaw,应该有个D:\openclaw\目录。把这个文件夹整个拖到AI_Workspace\OpenClaw_Work\里面就行,原来的配置、cron作业、技能都不用改,迁移成本几乎为零。
这里面包含了: – brands/:不同品牌或项目的内容资产 – skills/:OpenClaw的技能库 – platforms/:各个平台的配置(比如微信公众号的appid什么的) – memory/:OpenClaw的记忆库 – drafts/:待审核的输出内容
AI_Workspace\Public_Resource\ — 公共共享区
这是两个Agent唯一的”见面地点”,其他目录它们是不会互相访问的。
里面有三个重要的子目录: – queue/:任务队列。Hermes理解完用户需求后,会在这里创建一个JSON文件,OpenClaw检测到新文件就开始执行 – results/:执行结果。OpenClaw完成任务后,把结果写到这里,Hermes读取后反馈给用户 – assets/templates/video/:一些共享的素材、模板、视频文件
这种设计的好处是,两个Agent不会同时操作同一个文件,避免了冲突。出了问题也容易排查——要么查queue,要么查results,范围很小。
它们是怎么通信的
简单来说,就是通过queue和results这两个文件夹传递消息。
用户在Hermes那边说”帮我写一篇关于AI的文章”,Hermes理解完需求后,会在queue目录下创建一个类似task-20260424-001.json的文件,里面写着任务的具体要求。
OpenClaw会一直监控queue目录,发现新文件后就开始干活——调用相应的技能、生成内容、处理数据等等。做完之后,把结果写到results目录下的一个JSON文件里。
Hermes检测到results里有新文件,就读取出结果,然后告诉用户”文章已经写好了”。
整个过程就像传纸条一样,两个人不直接对话,而是通过中间的信箱传递信息。这样做的好处是,两边不会同时操作同一个文件,不会出现冲突。
需要注意的规则: – Hermes只负责往queue里写任务,从results里读结果 – OpenClaw只负责从queue里读任务,往results里写结果 – 不要让它俩直接访问对方的私有目录,容易乱
这么设计有什么好处
用了这段时间,感觉主要有这么几个优点:
第一,稳定。 两个Agent各有自己的地盘,配置文件、日志、缓存都是独立的,不会出现这个改了那个受影响的情况。
第二,好排查问题。 如果Hermes出问题了,就去Hermes_Work/logs/看日志;OpenClaw有问题,查它自己的日志;要是通信出了问题,就看queue和results这两个目录。范围很明确,不用到处找。
第三,可以并行处理多个任务。 queue目录里可以同时放好几个任务文件,OpenClaw可以一个一个处理,也可以根据需要并行处理。对于我这种有多个公众号要运营的人来说,这点挺实用的。
能拿来做什么
我现在主要用它来做内容自动化,比如:
每天早上让它自动搜索AI行业的热点,然后根据热点写几篇文章,再生成封面图,最后推送到公众号的草稿箱。我只需要早上打开草稿箱,看看有没有想发的,点一下发布就行。
除了内容创作,还可以做数据处理——连接数据库提取销售数据,自动生成报表,然后通过邮件发送。或者做情报收集——定义好采集规则,让它定期抓取竞品信息,整理成报告。
底层都是同一套目录结构和通信机制,只是调用的技能不一样。你可以根据自己的需求,组合不同的技能来实现各种自动化流程。
适合什么样的人
如果你觉得以下情况符合你,那这套方案可能适合:
-
需要在Windows环境下同时运行OpenClaw和Hermes -
有多个任务需要并行处理(比如多个公众号、多个项目) -
有一些重复性的工作想自动化(日报、周报、数据监控之类的) -
对WSL有一定了解,能自己搭建基本环境
但如果只是偶尔用一下,或者没有WSL环境,那可能就没必要搞这么复杂了。毕竟配置还是需要花点时间的。
具体怎么部署
如果你决定要试试,可以按照下面的步骤来:
第一步,装WSL。 在PowerShell里运行wsl --install,等它安装完成。如果已经装了可以跳过。
第二步,建目录。 按照上面给出的目录结构,在D盘创建所有文件夹。可以用命令行,也可以直接在资源管理器里新建。
第三步,装OpenClaw。 在Windows环境下安装OpenClaw,然后把工作目录配置为AI_Workspace\OpenClaw_Work\。先跑个简单的任务试试,确保能正常工作。
第四步,装Hermes。 在WSL环境里安装Hermes,程序目录设为/mnt/d/Hermes/,然后配置好queue和results的监控路径。
第五步,联调测试。 让Hermes创建一个任务文件,看看OpenClaw能不能检测到并执行,执行完后结果能不能正确写回。这一步很重要,确保通信正常。
建议一步一步来,每完成一步都测试一下,这样出问题了好定位。
最后说几句
这套目录结构用了一段时间,整体来说还是挺顺手的。核心思路就是:OpenClaw跑Windows,Hermes跑WSL,通过queue和results单向通信。
刚开始可能会觉得有点复杂,但用习惯了就会发现,这种隔离的设计确实能避免很多问题。特别是当你有多个项目要同时运行时,各管各的目录,不会互相影响。
如果你是第一次部署,建议先从单个Agent开始,比如先只用OpenClaw,熟悉了之后再加入Hermes。循序渐进,不容易出错。
希望这套方案对你有帮助。如果有问题,欢迎交流。
华崟智能 | 企业AI数字化转型专家让每一家企业都拥有AI数字员工
夜雨聆风