Agent 这个词,2024年还多半出现在PPT里,到2025年下半年已经变成我每天打开终端就要面对的东西。但工具一多,人反而容易懵:OpenClaw、Hermes Agent、Claude Code、Codex CLI,这四个名字频繁出现在各种技术帖和收藏夹里,看着都跟 AI 编程、AI 助手沾边,可真要动手装一个,又不知道该从哪个下手。
我先用一句话点破:这四款其实分属两个物种。Claude Code 和 Codex CLI 是“写代码的工人”,跑在终端里,帮你改 bug、写功能、重构项目;OpenClaw 和 Hermes Agent 是“替你跑腿的管家”,连上飞书、Discord 或者桌面窗口,帮你做信息检索、定时任务、日程管理。把这两类东西放在一起对比,本身就是个容易踩坑的选题,因为很多人把“AI 编程助手”和“AI 个人助手”混为一谈,装完了才发现完全不是自己想要的。
这篇对比指南会把两个物种放在一起讲清楚,覆盖它们各自的定位、核心能力、部署方式、常见坑,以及我实际使用过程中的选型思路。不管你是想做 AI 编程的开发者,还是想把个人助理接进日常工作流的效率爱好者,这篇内容都可以直接当参考。
1. 先分清两个物种:编程 Agent 和助理 Agent 不是一回事
1.1 终端里的编程搭档:Claude Code 与 Codex CLI
Claude Code 是 Anthropic 官方出的编码智能体,Codex CLI 是 OpenAI 官方出的同类型产品。它们的形态非常像:都是一个跑在命令行里的程序,你给它一句自然语言描述,它会在你的项目目录里自动读取代码、分析上下文、修改文件、执行命令,甚至跑测试。
这类工具的核心价值在于“项目级理解”。普通聊天机器人你问它一段代码怎么写,它只能给你贴代码片段;而编程 Agent 能干更重的话,比如“帮我看看登录模块为什么报 401,把所有相关文件都检查一遍,找出问题并修复”。它会把搜索范围扩大到整个项目,而不是盯着你粘贴的那几行内容。
用生活类比来解释:传统 Copilot 像是一个“输入法”,你写一个字它补一个字,主动权在你手上;而 Claude Code / Codex CLI 更像一个“外包程序员”,你告诉它需求和验收标准,它自己去读代码、写方案、动手改,改完还给你跑一遍测试确认。
对开发者来说,这两款的进入门槛都不高。装好之后,你就等于在终端里多了一个 24 小时在线、随叫随到的初级工程师。当然,它也会犯错,需要你 review,但效率提升是实打实的。
1.2 消息流里的任务管家:OpenClaw 与 Hermes Agent
OpenClaw 和 Hermes Agent 跟上面的两个完全不同。它们的出场形态不是终端,而是你的聊天软件或者桌面窗口。
OpenClaw 是个人助手型 Agent 框架里面非常典型的一款。老玩家应该知道,它继承了 Clawdbot 那一脉的开源思路,核心玩法是“把 Agent 接进消息平台”:你在飞书群里 @ 它,让它帮你查资料、发提醒、执行定时任务、对接各种 API,它就是一个跑在消息流里的私人秘书。这个项目社区挺活跃,Windows、macOS、Linux、Docker、WSL2、甚至安卓 Termux 上都能跑,部署形态极其丰富。
Hermes Agent 走的则是“本地化桌面助理”路线。它提供桌面客户端,有图形界面,强调数据留在本地。社区里很多人拿它在局域网里部署,比如给整个团队或者家里几台设备共享一个助理服务。它也支持 Docker,可以比较方便地跑在国产系统上,这点在特定环境下很实用。
这两款产品的共同特点是:它们不局限于写代码,而是更看重“帮你完成杂事”。比如定时抓取某个网页的信息推送到群里,或者把论文摘要、新闻简报整理好发给你。相比编程 Agent 只盯着代码库,助理 Agent 面对的是整个数字生活。
1.3 边界模糊地带:为什么这些工具经常被放在一起比较
从底层技术上看,四款产品都是“模型 + 工具调用 + 任务循环”,这也是为什么很多人容易把它们归为一类。它们里面都有一个 LLM 在驱动,都涉及多步推理、调用外部工具、把结果反馈给用户。
但实际用起来,它们的优化方向完全不一样。Claude Code 和 Codex CLI 针对代码库做了大量优化,比如更精准的代码检索、更安全的命令执行权限控制;OpenClaw 则针对消息平台做了很多适配,比如飞书消息长度限制、群聊权限管理、多用户隔离;Hermes Agent 把功夫花在桌面交互和本地部署体验上。
另外还有一个词经常被拿来和 Agent 对比,那就是 Harness。传统 Harness 是提前编排好的一条固定流程:第一步做什么、第二步做什么,全部写死。而 Agent 的核心区别在于“模型自己决定下一步干什么”。同一个目标,这次可能先查资料再写代码,下次可能直接改配置,中间路径是动态生成的。理解了这层区别,你就知道为什么 Agent 灵活性高、但也更难调试。
2. 核心能力拆解:四个工具各自的看家本领
2.1 Claude Code:把“改整个项目”变成一句对话
Claude Code 我最喜欢的一点,是它对多文件改动的掌控能力。传统 AI 编程工具一次只能处理一个文件或者一个函数,Claude Code 能做到跨文件联动分析。比如你让它“给用户模块增加导出功能”,它会自己去翻 controller、service、model、路由、还有前端的调用代码,把所有需要改的地方一次性改完。
它还有一套 Skills 机制,这是容易被新手忽略但价值很高的功能。你可以把常用的操作流程打包成一个“技能”,比如“升级依赖并修复所有破坏性变更”“按公司规范生成新接口代码”。技能本质上是一组预设的指令和上下文提示词,相当于把团队的最佳实践沉淀到 Agent 里。团队里任何一个成员装好这些 Skills,就相当于带着一个有经验的老同事干活。
跟 VSCode 的联动也是亮点。很多人还是在编辑器里工作,不愿意切到终端,Claude Code 提供了编辑器扩展,可以在侧边栏直接对话,命令面板弹出、内联 diff 查看都非常顺手。桌面版也有,体验上是把终端版的能力包了一层图形外壳。
不过它也有成本问题。Claude Code 调用的是 Anthropic 的 Claude 系列模型,按 token 计费,深度使用时费用涨得很快。我的习惯是让它做“一次改完多个文件”的重活,而不是问一句查一个文档,否则月底账单会教你做人。
2.2 Codex CLI:轻量接入,胜在随用随走
Codex CLI 是 OpenAI 出的命令行编码 Agent,整体操作思路和 Claude Code 很像,都是“在项目目录里跟 Agent 对话”。但它有一个明显不同的气质:更轻、更直接。安装完就是一个 codex 命令,登录你的 OpenAI 账号就能用,配置复杂度比 Claude Code 低一些。
很多开发者关心的是模型效果。Codex CLI 由 OpenAI 的代码相关模型驱动,理解复杂代码库的能力我很认可。尤其在写测试、处理重复性代码重构这类任务上,它的产出质量挺稳定,而且回复速度通常比较快。如果你本身就是 ChatGPT 重度用户,用 Codex CLI 不用额外注册别的平台,登录流程顺滑很多。
Codex CLI 比较吃亏的地方在于生态起步晚一点。像 Skills、第三方扩展这些周边生态,目前没有 Claude Code 那么丰富。但它也保留了一个我很喜欢的能力:沙箱模式,可以限制 Agent 执行命令的权限范围。在你不完全信任某个任务时,把它关进沙箱里跑,能避免“AI 把你的环境改乱了”这种事故。
如果你问我 Claude Code 和 Codex CLI 怎么选,我的答案是:先看你的模型账号在哪个生态里。两个工具都能满足日常开发需求,但想要“登录即用”“少折腾”,Codex CLI 的轻量路径值得优先尝试;想要更深的项目上下文理解和更丰富的周边生态,Claude Code 的底子更厚。
2.3 OpenClaw:消息平台是入口,工具调用是核心
OpenClaw 的本质是一个“消息流驱动的 Agent 框架”。它把飞书、Discord、Telegram 这些聊天软件当作前端入口,你在聊天窗口里发指令,它把指令交给 LLM 做意图理解和任务拆解,然后调用一堆内置工具去执行,再把结果用消息形式返回。
这个模式最香的地方是“随处可达”。我不需要打开电脑上的某个 IDE,也不需要盯着终端窗口,在手机上的飞书群里就能让 Agent 干活。我配置了一个每天早上九点的定时任务,它会自动抓取几个行业网站的更新,整理成摘要发到群里。这个需求如果用传统方式写脚本,得自己处理定时调度、数据抓取、消息推送三套系统,但用 OpenClaw,配置好平台连接后,剩下的全是自然语言描述。
多模型接入也是 OpenClaw 的强项。它不绑定某一家模型供应商,OpenAI、Anthropic、Google、以及各种本地模型都可以通过配置接进来。热词里提到“OpenClaw 对接魔塔”,这块其实就是通过兼容 OpenAI 协议的接口指向魔搭社区(ModelScope)的模型,操作上非常灵活。
部署形态多到夸张。Docker、WSL2、macOS 原生、Linux、安卓 Termux 都能跑。我自己在 WSL2 和 Termux 上都折腾过,各有各的坑,后面第 3 章会详细说。如果你喜欢“自托管一切”,OpenClaw 的自由度非常对胃口。
2.4 Hermes Agent:桌面体验与本地部署的平衡
Hermes Agent 给我的第一印象是“像正经软件”。它有桌面客户端,安装完成之后是一个带图形界面的应用,而不是一串黑乎乎的终端命令。这对非程序员用户很友好,也是它跟 OpenClaw 拉开差异的地方。
它在本地部署这块做得比较到位。有人喜欢把服务跑在自己的电脑上,不希望所有对话记录都经过云端,而 Hermes Agent 可以比较方便地接入本地模型或者私有化部署的模型接口。团队内部如果不想把代码和文档传到外部服务,局域网内搭一个 Hermes Agent 是挺实际的选择。
热词里有大量“Hermes Agent 安装”相关的搜索,说明它在安装环节确实有一些门槛。Windows 本地安装、桌面版安装、局域网部署都有人问,我在第 3 章会把这些场景的操作要点梳理清楚。
需要提醒的是,Hermes Agent 这个名字有时候会让人误会成 Nous Research 的 Hermes 模型家族。两者不是一回事,Hermes Agent 更接近一个完整的个人助理应用框架,模型只是其中的一个组件,你可以自己换。
3. 部署实操:四条链路逐条跑通
3.1 Claude Code:安装、登录、接进 VSCode
Claude Code 的安装条件很基础,只要你的机器有 Node.js 环境(建议 18 以上),一条命令就行:
npm install -g @anthropic-ai/claude-code装完以后,直接在任意项目目录下输入claude启动。第一次运行会让你登录,支持两种方式:
- 浏览器 OAuth 登录,也就是用你的 Claude 账号授权。
- 配置 API Key,适合有 API 计费账号的开发者。
登录成功后,它会自动读取当前目录的项目文件,生成一份索引,你就可以开始对话了。第一次用可以先让它干点小活练手,比如“帮我把 README 改成更正式的英文表达”,感受一下它的工作方式。
接进 VSCode 也很简单,直接在扩展市场搜“Claude Code”,安装官方扩展。装好之后左侧会多出一个 Claude 图标面板,偏好图形界面的用户可以在编辑器里直接对话、查看改动的 diff、一键接受或拒绝修改。整个过程大概 5 分钟就能跑通。
这里有个实操建议:Claude Code 默认会在当前目录操作文件,建议只在 git 仓库里使用。这样就算它改崩了,你也可以通过 git diff 查看改了哪里、git checkout 一键还原,不至于酿成事故。
3.2 Codex CLI:安装、登录、解决 binary 找不到
Codex CLI 的安装路径和 Claude Code 几乎一模一样:
npm install -g @openai/codex装完执行codex进入交互界面,首次使用会引导你登录 OpenAI 账号。登录完成后,在项目目录里启动就行。
但注意,Codex CLI 有一个非常高频的报错,热词里你自己都能看到:
unable to locate the codex cli binary or required runtime components. check...
这个报错我遇到过好几次,每次原因都不太一样。最常见的三种情况是:
- npm 全局安装路径没加到系统的 PATH 环境变量里。你在终端执行
codex能找到命令,但 Codex CLI 自身在找配套组件时用了相对路径,结果找不到自己。 - 安装不完整,或者版本过旧,导致 runtime 组件缺失。
- Windows 下终端环境变量没有刷新,开一个新的终端窗口再试就好。
解决思路是按照这个顺序排查:
# 1. 确认 codex 命令位置 which codex # 2. 确认 npm 全局路径 npm prefix -g # 3. 手动把 npm 全局路径加到 PATH(如果不在的话) export PATH="$(npm prefix -g)/bin:$PATH" # 4. 重装一次确保组件完整 npm uninstall -g @openai/codex npm install -g @openai/codex如果你在 Windows 的 Windows Terminal 里装了 Codex,但 IDE 或其它终端工具找不到它,大概率也是环境变量同步的问题。改完 PATH 之后务必将所有终端窗口关掉重开,不要只开一个新标签页。
3.3 OpenClaw:WSL2、Termux、飞书三种典型部署
OpenClaw 的部署方式太多,我只挑三个最常见的场景展开讲。
WSL2 + Docker 部署
很多 Windows 玩家会选择在 WSL2 里跑 OpenClaw,尤其是配合 Docker 使用。但这里有个高频坑点,就是热词里的原话:
OpenClaw could not safely verify the WSL2 environment.
这个提示大意是:OpenClaw 在启动时检查 WSL2 环境,发现没法安全确认版本或内核状态,于是拒绝继续。常见原因包括 WSL 版本过旧、内核没更新、Docker 需要 root 权限但没有正确配置当前用户组。
解决步骤我先说结论:
- 在 PowerShell 里执行
wsl --update把 WSL 内核更新到最新。 - 重启 WSL:
wsl --shutdown,然后重新进入发行版。 - 确认 Docker 守护进程在跑:
docker ps,如果报权限错误,把当前用户加进 docker 组:sudo usermod -aG docker $USER,然后注销重新登录。 - 重新启动 OpenClaw,大部分情况下这个报错就会消失。
安卓 Termux 原生部署
这个是真亮点。OpenClaw 在安卓 Termux 上可以原生部署,不需要 proot,不需要模拟 Linux 环境,直接在 Termux 里装依赖就能跑。这意味着手机真的可以变成一个随身携带的 Agent 服务器。
操作路径大体是:
pkg update && pkg install git nodejs-lts python -y git clone <OpenClaw 仓库地址> cd OpenClaw npm install # 配置模型 API 和消息平台凭证后启动 npm start注意,Termux 后台运行进程容易被安卓系统杀掉。我自己的做法是配合 Termux:Boot 插件做开机自启,或者干脆在需要时才启动。想让它保持 7x24 在线,最好还是用 WSL2 或者独立服务器。
飞书接入与输出截断
飞书是 OpenClaw 用得很多的平台,配置流程是:在飞书开放平台创建一个企业自建应用,开启机器人能力,拿到 App ID 和 App Secret,然后把凭证填到 OpenClaw 的配置里。启动后它会通过长连接方式接收飞书消息,不需要公网回调地址,部署起来很省心。
热词里提到“OpenClaw 在飞书输出容易被截断”,这个是真实痛点。飞书对单条消息的长度有限制,Agent 一旦返回长文本,就会被截断成一堆看不清的半截内容。
我的解决方法是两招并用:
- 在配置里限制单次输出的最大字符数,让 Agent 养成精炼回答的习惯。
- 对于长报告类内容,让它改用消息卡片或者文件形式发送,而不是直接输出纯文本。飞书支持富文本卡片,内容容量远大于普通文本消息,也支持上传文件,体验好很多。
3.4 Hermes Agent:桌面版、Windows 本地与局域网 Docker
Hermes Agent 的桌面版安装相对傻瓜,去官网下载对应系统的安装包,一路下一步就行。安装完打开图形界面,按引导配置模型接口和账号信息即可。
Windows 本地安装倒是有个值得记录的报错,热词里写着“请求的名称有效,但找不到数据”。这个报错本质是网络层面的问题:系统能解析出服务地址对应的名字,但实际连接时拿不到数据。我排查时发现通常是下面几种情况之一:
- 服务端地址配错了,比如端口多加一位或者 IP 拼写错误;
- 服务端进程没有启动,或者监听的端口不对;
- 防火墙拦掉了本地到服务端的连接;
- 在国产系统或特定网络环境里,DNS 解析出现间歇性异常。
我的排查顺序是:先用ping和curl验证目标地址通不通,再检查配置里的端口和服务路径,最后看防火墙规则。千万别一上来就怀疑 Agent 本身,这类报错绝大多数是网络配置问题。
局域网部署是 Hermes Agent 很实用的场景。有人问“麒麟 V10 部署局域网 Hermes Agent”,这种需求一般走 Docker 路线。在麒麟 V10 上先装好 Docker 引擎,配置好镜像加速器,然后拉取 Hermes Agent 镜像、跑容器、映射端口即可。整个链路跑通后,局域网内其他机器通过浏览器或客户端访问服务地址,就能共享这个个人助理。
4. 高频问题与排查技巧实录
4.1 高频问题速查表
下面这些问题是大家问得最多、也是我实际踩过的,整理成一张表,方便收藏备用:
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| OpenClaw 提示 could not safely verify the WSL2 environment | WSL 版本或内核过旧、Docker 权限不足 | 更新 WSL、重启 WSL 环境、把用户加入 docker 组 |
| OpenClaw 在飞书输出被截断 | 飞书单条消息长度限制 | 限制输出字符数、改消息卡片或文件发送 |
| Codex CLI 报 unable to locate binary | PATH 配置不对、安装不完整 | 检查 npm 全局路径、重装 CLI、重启终端 |
| Hermes Agent Windows 安装报“请求的名称有效,但找不到数据” | 网络连接异常、服务未启动 | 用 ping/curl 排查连接、检查端口和服务状态 |
| Claude Code 登录失败 | 网络环境异常、账号授权过期 | 检查网络连通性、重新登录授权 |
| 安卓 Termux 中 OpenClaw 进程被杀 | 系统后台限制 | 配合 Termux:Boot 自启或按需启动 |
4.2 排查思路背后的通用规律
表里的问题看起来五花八门,但本质都逃不出三件事:权限、网络、模型 API 配置。
权限问题最多。Docker 用不了、命令找不到、文件写不进去,十有八九是当前用户或者当前环境的权限没放到位。特别是 WSL2 环境和 Windows 环境混着用的时候,路径分隔符、环境变量、用户组,每一个都可能给你挖坑。
网络问题要冷静排查。很多人遇到连接错误就直接怀疑软件故障,其实先在命令行里敲一个ping、curl,花两分钟确认基础连通性,能把排查范围缩小一半。网络环境异常的时候还会连带出现登录失败、依赖下载慢、服务超时等一堆症状,别被表象带偏。
模型 API 配置属于“看着简单、错了最折磨人”的问题。密钥填错、接口地址多一个斜杠、模型名和实际不一致,这些错误在日志里往往看不出来,只在运行时报错。我的习惯是配完模型之后先发一条最简单的消息测试,确认通了再配置复杂工作流。
5. 选型建议:不同需求下我的推荐组合
5.1 常规开发工作流:二选一就够
如果你就是一个人写代码,想在项目里用上 AI 编程助手,Claude Code 和 Codex CLI 二选一就够了。核心判断标准很简单:你的模型账号和预算在哪个生态。
喜欢 Anthropic 生态、看重项目级联动和 Skills 扩展的选 Claude Code;已经在用 OpenAI 生态、想要轻量省事的选 Codex CLI。两个都装的必要性不大,因为工作场景高度重合,留一个深入用,比两个都装但是都不精通强得多。
5.2 日常消息流自动化:优先上 OpenClaw
如果你更关心“让 AI 帮我处理消息、定时任务、信息聚合”,OpenClaw 应该是第一优先。它的消息平台接入能力最成熟,部署选项最多,社区资料也丰富,遇到问题基本都能搜到解决方案。
尤其推荐把 OpenClaw 部署到一个 7x24 在线的设备上,比如家里的小主机或者云服务器,接上飞书,你会慢慢感受到“随时随地有个助理”的便利。定时报告、消息摘要、跨平台指令转发,这些能力叠加起来,实用性增长是复利式的。
5.3 团队内网与数据敏感场景:考虑 Hermes Agent 或自建
如果你们团队有数据合规要求,代码和文档不能传到外部服务,那 Hermes Agent 这种支持本地模型、方便局域网部署的方案更值得投入。它提供桌面客户端,团队成员上手成本低,可以快速搭建一套团队内部共享的 AI 助理。
当然,这不意味着 Hermes Agent 是唯一的自建选项。OpenClaw 同样支持私有化部署,只是它对非技术用户的门槛高一些。如果你是要给团队用,优先考虑 Hermes Agent 的桌面体验;如果你是自己折腾、追求最高自由度,OpenClaw 依然是更好的选择。
5.4 我目前的组合方案
最后分享我自己的搭配。我现在是 Claude Code 负责主要编码任务,包括跨文件重构、写测试、处理技术债;Codex CLI 留作备用,换一个模型视角看问题,偶尔会让它 review 一下 Claude Code 的改动;OpenClaw 部署在常开的设备上,接飞书,负责定时抓取信息、推送简报、执行日常任务调度;Hermes Agent 则在团队内部的局域网里跑着,作为共享助理,帮大家查规范、整理资料。
这套组合跑下来,我对 Agent 工具最大的感触是:门槛根本不在“装好”,而在“用好”。很多人装完了当成高级聊天机器人使,用两天就吃灰,其实是没有把 Agent 的“工具调用”和“任务循环”用起来。
最后分享一个小技巧:不管选哪个 Agent,第一天就给它写一个 README,把你自己的常用诉求、团队约定、偏好风格都写进去,让它形成“懂你”的基础。这个动作比反复调提示词有效十倍。Agent 工具的差距,很大程度取决于你愿不愿意花时间去塑造它。