AI编程和个人助手Agent这波热潮,确实不是虎头蛇尾。OpenClaw、Hermes Agent、Claude Code、Codex CLI这几个名字交替出现在热搜上,你如果不亲手跑一遍,很难判断哪个才是自己需要的。我因为这半年一直在做企业内部的自动化工具选型,四个工具都实际部署过,跑过真实任务,踩了不少坑。这篇文章就按我的实际体验,把它们放在同一张桌上对比:先讲各自的定位和核心特性,再给安装与配置的实操过程,最后汇总高频问题和搭配建议。无论你是写代码的,还是专门搞自动化流程的,都能找到一条可落地的路径。
1. 为什么需要一份Agent工具对比
1.1 从“辅助补全”到“自主执行”的转变
这两年的变化大家有目共睹。传统的AI编程工具主要做补全和聊天,你问一句它答一句,代码还得自己粘回去。但现在的Agent工具已经不一样了:你给它一个目标,它自己拆解任务、调用命令、读取文件、修改代码、跑测试,最后把结果交给你。OpenClaw、Hermes Agent、Claude Code、Codex CLI,正好代表了这条链路里几个不同的方向。
OpenClaw更像一个“中枢型”的个人助手Agent,核心是帮你接各种渠道;Hermes Agent则把个人助理做成了图形界面;Claude Code和Codex CLI更聚焦在“让AI直接写代码”这件事上。它们不是同一类产品,所以才更需要一份对比,不然很容易出现“装了Claude Code发现接不了飞书”“装了OpenClaw发现写代码能力一般”这种错配。
1.2 我选择的五个对比维度
第一个维度是定位,这决定了工具到底解决什么问题。第二个是运行环境,终端、桌面还是服务器,直接影响部署方式。第三个是模型依赖,是绑定了某个模型,还是可以自由切换本地模型和API。第四个是扩展生态,包括插件、Skills、渠道接入,这决定了工具能长多大。第五个是门槛,包括安装门槛、配置门槛、理解门槛。下面四个工具的拆解,都会落到这五个维度上。
有了这套框架,再去看网上各种零散教程,就不会被“谁更好用”这种情绪化结论带偏。工具没有绝对的好,只有合不合适。
2. 四个工具逐个拆解
2.1 OpenClaw:把消息渠道变成Agent入口
OpenClaw我最早是在Docker里试的。它的设计思路非常鲜明:你不是要一个聊天窗口,你是要一个能接收各种消息、再触发各种自动化的服务。它把飞书、Discord、Telegram、企业微信、邮件这些渠道做成“入口”,把搜索引擎、浏览器、代码执行、日历、邮箱这些能力做成“工具”,中间通过Agent调度。所以很多人说OpenClaw是一个“个人助理中枢”,我觉得这个形容很准确。
我实际拿飞书机器人跑过一个场景:在群里@机器人说“查一下明天的天气,顺便把待办事项整理成文档发我”,OpenClaw会先调用搜索工具,再调用文档工具,最后通过飞书通道把文件发回群里。整个过程不需要我写一行业务代码,只要把每个工具的参数配好。
OpenClaw的安装方式核心是两条路。一条是本地Node环境直接启动,适合开发调试,日志直接打在终端里;另一条是Docker一键部署,适合服务器长期运行。在Mac下安装时要注意,如果之前装过老版本,建议先彻底卸载,不然会留下互相冲突的配置文件。热词里有人问“openclaw卸载”,其实在mac上就是删掉安装目录、清理/usr/local/bin下的软链、再删~/.openclaw配置目录,三步走基本干净。如果你只是体验,那就用Docker方式,指定好端口映射和数据卷,跑起来就能进Web管理界面。
OpenClaw一个很值得关注的特点是“对接模型”灵活。热词里提到“openclaw对接魔塔”,这里主要指通过兼容OpenAI格式的接口把本地或第三方模型接进来。好处是你不会被某个模型绑定,坏处是配置项多,不同模型的参数协议有细微差别,所以建议先用默认模型把链路跑通,再逐步切换。我自己的经验是:不要一上手就折腾“最强模型”,先把飞书和搜索这两个核心工具跑通,比什么都重要。
2.2 Hermes Agent:更适合普通用户的桌面助手
如果说OpenClaw是为“折腾型”用户准备的,那Hermes Agent就是为“想快速用起来”的用户准备的。它有独立官网、中文文档、Windows本地安装包、macOS桌面版,甚至还能在国内的麒麟系统上部署。我第一次装Hermes的时候,第一感受是:终于有个Agent工具装完就能看到界面,不用先背一堆命令。
Hermes Agent的核心定位也是个人助手,但它把交互做成了聊天窗口。你可以在里面配置模型,向Agent下达任务,它也会调用工具去执行。相比OpenClaw,Hermes开箱即用:用户不需要理解“通道”和“工具”的概念,只需要在界面上添加连接即可。这对企业里的非技术用户特别友好。
不过别以为它只能做轻量工作。热词里提到的“麒麟V10部署局域网Hermes Agent”,我刚好在一台测试机上折腾过,思路是采用Docker加速镜像,把Hermes Agent的镜像拉下来,然后做端口映射,在内网里访问Web界面。整个过程的关键点是网络源要稳定,容器和宿主机的时间要同步,不然SSL连接会报错。它能在国产化环境跑通,确实提升了我对它的评价。
还有一些常见的Windows安装问题,比如安装过程中提示“请求的名称有效,但无法找到请求的类型”,或者是“数据无效”之类的网络错误,多半是本地网络代理或防火墙拦截了服务。把服务地址从localhost改成127.0.0.1或内网IP,问题通常就能解决。
2.3 Claude Code:把编程Agent带进终端
Claude Code是我目前用的最多的编程Agent。它不是传统IDE插件,而是在终端里运行的一个命令行工具。你在项目根目录执行claude,它会读取当前仓库的文件结构、git状态、依赖配置,然后你可以直接描述需求,比如“修复登录接口的并发问题,并补单元测试”。接下来它就开始工作:先分析代码,再定位问题,修改相关文件,运行测试,最后把结果汇报给你。
有人会问,VSCode里不是已经有各种插件了吗,为什么还要用终端工具?我的回答是,Claude Code能直接感知项目上下文。它站在项目根目录,能自动识别.git目录,知道哪些文件被修改过,还能执行git命令。这是很多IDE插件做不到的。我在VSCode的终端面板里跑Claude Code,配合一个快捷键唤起,体感几乎和IDE内置一样。热词里“vscode配置claude code”的正确做法,其实就是在settings.json里设置一个自定义命令,把集成终端路径指向claude,然后绑定快捷键触发。
如果你的项目里用了git worktree,它也能识别多分支的工作上下文。在一个分支上让Claude改A任务,在另一个worktree上并行让另一个实例处理B任务,效率比串行高很多。我甚至拿它辅助写过STC单片机的初始化代码,让Agent对照数据手册生成寄存器配置,再用编译器验证,省了不少翻datasheet的时间。
Claude Code的扩展机制叫Skills。你可以把某个项目里常用的操作打包成一个skill,比如“打版本号”“生成CHANGELOG”“跑lint并修复”,之后只需要输入skill名称,它就会执行整套流程。这个功能对重复性工作非常管用。安装Skills也不复杂,一般是在项目目录下建一个.skills文件夹,写好描述和指令,Claude Code启动时会自动加载。
2.4 Codex CLI:沙箱里把代码任务交给Agent
Codex CLI是OpenAI阵营的终端Agent,设计逻辑和Claude Code有点像,但更强调“沙箱安全”。它会在一个隔离环境里执行代码,高风险操作会先问你确认,避免Agent一发疯把生产环境删了。如果你已经在用ChatGPT,那Codex CLI可以理解为终端版、更偏向自动化任务的编码能力。
安装Codex CLI非常直接,npm或brew装完后,第一次运行会让你登录OpenAI账号。登录成功后,在项目目录执行codex,描述需求即可。热词里有“codex cli接入飞书”,这其实不是官方功能,但我做过一个很粗糙的验证:写一个飞书机器人后端,收到群里指令后调起Codex的非交互式任务,把输出写成文件再回调发到群里。它适合把“生成代码”“跑测试”这些任务变成群里的自动化指令,但队列和超时控制一定要处理好,不然一个任务阻塞,后面全堵死。
还有人说“ChatGPT failed to start. unable to locate the codex cli binary”,这通常是环境变量问题或没有安装完整。具体的排查我放在第5节。总体而言,Codex CLI适合已经在使用OpenAI产品、并且愿意在命令行里搞定一切的开发者。
3. 核心功能与参数对比
3.1 一张表看懂定位差异
| 工具 | 核心定位 | 运行环境 | 模型接入 | 扩展方式 | 上手门槛 |
|---|---|---|---|---|---|
| OpenClaw | 消息渠道智能体中台 | Docker、Linux、macOS、WSL2 | 多模型灵活替换 | 插件/通道 | 中高 |
| Hermes Agent | 桌面端个人助手 | Windows、macOS、Linux、麒麟V10 | 本地模型/API | 工作流插件 | 低 |
| Claude Code | 项目级编程Agent | 终端(macOS/Linux/Windows) | Claude系列 | Skills | 中 |
| Codex CLI | 沙箱编程Agent | 终端(macOS/Linux/Windows) | OpenAI系列 | 命令行插件 | 中 |
从表里可以直观看到,如果目标是“把AI接进各种消息软件”,OpenClaw的通道生态是最丰富的;如果目标是“给同事装一个看得见的助手”,Hermes Agent显然更合适;如果目标是“让AI写代码并跑测试”,Claude Code和Codex CLI各有拥趸。
3.2 安全策略和运行沙箱的差别
除了功能,安全也是选型重点。Codex CLI默认把代码执行包在沙箱里,所以不可信脚本可以在里面跑;Claude Code会在执行危险命令前请求确认,并且有会话恢复机制;OpenClaw因为接了很多渠道,所以权限管理很重要,你给机器人配的每一个工具都要严格控制作用域,避免出现“群里@一下就把服务器文件删了”这种事故。Hermes Agent作为桌面应用,权限相对收窄,但要注意API密钥的存储安全,别明文写在配置文件里上传到仓库。
3.3 按场景选型的基本建议
- 需要机器人自动收发群消息、跟日历联动:OpenClaw。
- 企业里非技术用户需要一个图形化助理:Hermes Agent。
- 日常开发任务,从需求说明到PR描述全流程:Claude Code。
- 想要一个隔离环境自动改代码跑测试:Codex CLI。
但这只是单个选型。我的经验是,在一个成熟的工作流里,它们往往是组合使用的,后面第6节专门说组合方案。
4. 实操过程与环境配置
4.1 OpenClaw一键部署与飞书通道配置
我在Mac上部署OpenClaw时用Docker,先创建挂载目录,再执行docker run,映射端口,然后打开Web界面做初始化。示例命令如下:
docker run -d \ --name openclaw \ -p 3000:3000 \ -v ~/.openclaw:/data \ openclaw:latest启动后访问本地3000端口,进入初始化向导。如果只是测试,不建议一上来就配所有功能。先把默认模型接上,然后配置飞书通道。飞书通道的核心是三步:在飞书开放平台创建企业自建应用,开启机器人能力,拿到App ID和App Secret;然后在OpenClaw配置里填上这些信息;最后配置事件订阅或长连接,让飞书能主动把消息推给OpenClaw。
这中间最容易出问题的是“事件订阅地址”。如果你没有公网域名,可以先用内网穿透工具把本地端口暴露出去,以后稳定运行时再换到服务器。配置完成后,把机器人拉进群,发一条“ping”测试,能收到“pong”就说明链路通了。接下来就可以把搜索、文档生成这些工具逐步绑定上去。
4.2 Hermes Agent桌面版和Windows/麒麟V10本地安装
Hermes Agent的桌面版相对简单。在官网下载对应的安装包,双击安装,打开后按引导登录。首次使用会要求配置模型,建议先用云端API快速验证,再考虑接本地模型。如果内网环境无法访问外网,也可以把Hermes装在有网络的内网机器上,配置好端口,让同事通过局域网IP访问,这就是“局域网Hermes Agent”的做法。
Windows下我遇到比较多的一个坑是:安装完Hermes之后,双击启动报错或者白屏。这多半是缺少运行库,比如Visual C++ Redistributable或者.NET环境。去系统更新里把可选功能补上,或者直接装最新版运行库就能解决。在麒麟V10系统上,如果直接用国外镜像拉Hermes镜像很慢,可以给Docker配置国内加速源,再把镜像导出导入。整个部署流程的核心就两个字:耐心。启动成功后,最好先把时区、编码、工作目录都确认一遍,避免后续任务出现莫名的字符乱码。
4.3 Claude Code的安装、Skills与VSCode集成
Claude Code安装需要Node.js环境,官方推荐版本一般要求Node 16以上。安装命令大致如下:
npm install -g @anthropic-ai/claude-code claude安装完成后在项目目录执行claude,第一次会让你登录并授权,它会生成一个配置文件存在用户目录下。之后每次进入项目,它会自动加载仓库上下文。
Skills的做法我具体说一下。在项目根目录创建.skills文件夹,里面每个Skill一个子目录,包含SKILL.md说明和若干指令文件。比如我要做一个“生成提交信息”的Skill,就在SKILL.md里写清楚触发词和步骤。启动Claude Code后,如果用到了这个Skill,它会自动读取说明执行。注意Skill的说明要写得尽量明确,最好包含输入、输出、验收标准,不然模型会自由发挥。
VSCode集成其实不用装任何第三方插件,只要在settings.json里加一个终端自定义命令或者用tasks.json配置,然后在键盘快捷键里绑定“在集成终端运行claude”。我更常用的方式是把Claude Code运行在VSCode的终端面板里,分屏后左边看代码右边看Agent操作,体验非常顺畅。
4.4 Codex CLI的安装和飞书接入玩法
Codex CLI的安装主要靠npm或brew,Windows另外可能需要安装一些运行时组件:
npm install -g @openai/codex codex --version安装完成后先确认路径。如果看到“unable to locate the codex cli binary”,大概率是PATH配置问题,见第5.2节。
飞书接入Codex CLI,我的做法是做一个轻量的中转服务:飞书机器人收到消息,把文本POST到本地服务;本地服务用child_process调用codex,把用户输入作为任务描述;Codex执行完成后,把输出写回飞书。这里有一个细节,命令行工具通常有交互式确认,但在自动化场景要使用非交互参数,比如通过--json或者环境变量跳过确认。因为Codex是没有图形界面的,如果任务跑太久,飞书消息容易超时,所以我在中间加了一个任务队列和超时上限,执行超过5分钟就直接返回“任务仍在进行,完成后会再通知”。
5. 高频问题与排查实录
5.1 OpenClaw报错:could not safely verify the WSL2 environment
这个报错我一开始也懵了很久。现象是在Windows上启动OpenClaw时,它检测WSL2环境,然后给出“could not safely verify”的提示并退出。原因通常是WSL2的内核版本过旧,或者系统没有正确开启systemd。解决办法是:
- 打开PowerShell执行wsl --update,更新到最新内核;
- 检查.wslconfig文件,确保里面写入了systemd=true;
- 在Docker Desktop设置里,把“Use WSL 2 based engine”切换成Hyper-V模式,再重新启动Docker。
[wsl2] systemd=true如果还不行,就直接绕过WSL2:用原生Node在Windows上启动OpenClaw。这样虽然少了一点容器隔离,但至少能跑通流程。
5.2 Codex CLI:unable to locate the codex cli binary
这个问题在Windows上非常高频。典型场景是:你在命令行里已经执行过安装,codex --version也能正常输出版本号,但打开Windows Terminal或者IDE内置终端时却提示unable to locate the codex cli binary。原因绝大多数是环境变量不一致。npm全局包的目录没有同步到当前终端会话,或者Windows Terminal继承了旧的PATH。处理方式:
- 先关掉所有终端窗口,重新打开,让系统重新加载环境变量;
- 在命令行执行where codex,确认实际路径,然后把它加到系统PATH里;
- 安装Visual C++ Redistributable;
- 如果还不行,直接用codex.cmd代替codex运行。
我做自动化脚本时也踩过类似的坑,后来干脆在代码里动态查找codex的安装路径,而不是依赖全局PATH。
5.3 飞书输出截断的处理
OpenClaw接飞书,经常遇到Agent输出长文被截断。飞书机器人单条消息长度有限,如果Agent一次性返回几千字,飞书会拒绝或者截断。解决办法我在生产环境里验证过三种:
- 在OpenClaw的飞书配置项里开启“分片发送”或“按段落拆分”,每条消息只发一小段;
- 写一个自定义工具,让Agent把长文转成Markdown文件,存到临时目录后上传,飞书里发文件链接;
- 要求Agent先输出摘要,详细内容写进文档,再用飞书发文件。
第三种方式最稳定,因为摘要可以控制长度,完整报告有归档价值,也方便后续检索。
5.4 Termux部署OpenClaw的注意事项
热词里提到的“在安卓Termux原生部署OpenClaw:无proot轻”让我很感兴趣,因为这个场景比传统服务器更受限。我在手机上试过,第一步要安装Termux,然后用pkg install nodejs python装基础环境。OpenClaw的依赖部分需要编译,最好先pkg install build-essential。Termux没有传统的systemd,OpenClaw里依赖systemd的检测会被跳过,所以部分功能不能直接用。另外,手机端的内存和CPU有限,我只建议跑轻量任务,比如定时转发消息、简单搜索聚合。如果要完整体验,还是放到服务器或电脑上。
6. 四个工具怎么搭配最顺手
6.1 编程工作流:Claude Code + Codex CLI
如果你每天的主线是写代码,那最值得尝试的是Claude Code和Codex CLI的搭配。我会在项目根目录跑Claude Code,让它做需求和代码改造;同时保留一个Codex CLI的沙箱环境,用来跑那些我不太信任的生成脚本。遇到代码审查任务时,我会让Claude Code先梳理变更,再让Codex CLI从另一个角度找缺陷,两个Agent交叉验证,比单一Agent的结果更稳。
如果项目用了git worktree,还可以多开几个worktree同时让不同Agent处理不同任务,并行度直接拉满。这个组合的核心是让两个Agent各干各擅长的部分:Claude Code强在理解和重构老代码,Codex CLI强在自动生成和沙箱执行。
6.2 自动化助手工作流:OpenClaw + Hermes Agent
如果你的核心诉求是“把重复的沟通和文档工作自动化”,那就重点用OpenClaw加Hermes Agent。OpenClaw负责消息入口和渠道调度,Hermes Agent负责可视化的配置和展示。比如Hermes定时生成日报,OpenClaw把日报推送到飞书群。或者用户通过飞书发指令,OpenClaw转交给Hermes执行一个具体工作流,执行结果再返回用户。
这样各司其职,比单靠某一个Agent硬扛所有场景要稳定。还有一个好处是:非技术同事只需要使用飞书或Hermes桌面端,完全感受不到后台的调度逻辑,推广阻力会小很多。
6.3 关于“AI编程提示词”的一些心得
最后想说说“ai编程提示词”。不管是OpenClaw、Hermes Agent、Claude Code还是Codex CLI,提示词的质量直接决定Agent干活的质量。我给Agent布置任务时,一般会包含三块:背景信息、验收标准、执行约束。比如不只是说“优化登录接口”,而是说“现有登录接口在并发200时偶发超时,请定位瓶颈,给出修改方案,并且补一个压力测试用例,要求错误率低于0.1%”。Agent拿到这样的输入,产出的东西会完全不一样。这是我做Agent落地这么久最重要的一条经验。
工具更新速度很快,但选型逻辑是稳定的:先看自己要解决什么问题,再看工具的定位和边界,最后把能组合的组合起来。你如果正准备入坑AI编程或个人助手Agent,建议从最贴近自己日常任务的那个工具开始,跑通一个小闭环,再慢慢扩展。这样花的时间,远比把四个工具全都装一遍、最后不知道用哪个更有价值。