微信扫码
添加专属顾问
我要投稿
Hermes Agent虽是新秀,但凭借纯Python架构和自学习机制,为开发者提供了更透明、更可控的AI代理体验。核心内容: 1. Hermes Agent与OpenClaw的核心差异:纯Python实现与自学习机制 2. 纯Python架构带来的代码可读性与系统信任优势 3. 实际安装体验与多平台支持特性
Nous Research 上周开源了一个叫 Hermes Agent 的东西。
https://github.com/nousresearch/hermes-agent。
GitHub 上只有 15.9k star,对面 OpenClaw 是 340k。按常理,这种差距根本没什么好聊的。一个刚出生的婴儿和一个已经跑了三个月的选手,谁会去认真比较?
我一开始也是这个心态。但用了几天之后,我觉得得单独写一篇。
Hermes Agent 是 Nous Research 做的一个开源 AI Agent。Nous Research 你可能听说过,也可能没听说过——他们是一家做开源大模型的 AI 实验室,之前出过 Hermes-4-405B 和 Hermes-4-70B 这些模型。模型质量在开源社区里口碑还不错,算是有点技术底子的团队。
Hermes Agent 跟 OpenClaw 一样,本质上是一个能帮你干活的 AI 代理。你可以用它写代码、搜信息、管文件、跑定时任务,甚至接到 Telegram 上当你的私人助手。
区别在于切入角度。
OpenClaw 走的是大而全的路线,功能多,生态大,社区活跃,各种插件和技能满天飞。Hermes Agent 的策略不太一样——它不跟 OpenClaw 比谁功能多,而是押注在性能和可读性上。
具体来说,两个核心差异:一,Hermes 完全用 Python 写的;二,它有一套“学习”机制,用得越多越聪明。
这两点,第一个让我产生了兴趣,第二个让我决定认真试试。
这个点可能对非开发者来说没什么感觉,但对我来说很重要。
我之前用 OpenClaw 的时候,遇到问题想看源码,经常要在好几种语言和框架之间跳来跳去。不是说 OpenClaw 代码写得不好,而是当一个项目用多种语言堆起来时,你想搞清楚“它到底在干嘛”就得花更多功夫。
Hermes 全是 Python。
这代表什么?代表当这个 Agent 要帮你执行一个操作、修改一个文件、调用一个 API 的时候,你可以直接去看它的源码,看懂它在做什么。对于一个要在你机器上跑的、有终端权限的 AI Agent 来说,“我能看懂它的代码”这件事,本身就是信任的基础。
在我这么多年的工作经历中,最大的教训之一就是:你不理解的系统迟早会坑你。线上出过的最恶心的几次故障,根本原因都是“这段逻辑没人看得懂了”。一个在你本地跑的 AI Agent,权限比你的同事还大——它能读文件、写文件、执行命令——你最好能看懂它在干什么。
所以纯 Python 对我来说不是一个技术偏好问题,是一个信任问题。
Hermes 支持 Linux、macOS 和 Windows 的 WSL。安装就一行命令:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
它会自动给你建一个虚拟环境,Python 和 Node.js 的依赖都装好。装完之后 reload 一下 shell:
source ~/.bashrc
整个过程很顺滑,这是实话。比我第一次装 OpenClaw 的体验好。
装完之后它有一个引导流程,让你配 API Key、选模型之类的。坦白说,这个引导做得不如 OpenClaw 友好,有点粗糙。但问题不大,因为它的文件结构非常清晰:
~/.hermes/
├── config.yaml # 主配置文件
├── .env # API 密钥
├── auth.json # OAuth 认证
├── SOUL.md # 人格设定(可选)
├── memories/ # 持久记忆
├── skills/ # 技能库
├── cron/ # 定时任务
├── sessions/ # 会话记录
└── logs/ # 日志
看到这个目录结构我心里就踏实了。所有密钥在 .env 里,配置在 config.yaml 里,技能是独立的文件,记忆是独立的文件夹。每个东西在哪儿、干什么用,一目了然。
OpenClaw 把一些配置信息放在 JSON 和 txt 文件里,API Key 有时候还得 export 环境变量,用久了总会遇到“我这个 Key 到底配在哪儿了”的问题。Hermes 这个 .env 集中管理的方式,至少在组织上干净很多。
Hermes 不限定你用哪家的模型。你可以用 OpenAI、OpenRouter、Nous Research 自己的 API,如果硬件够的话也能跑本地模型。
切换模型就一个命令:
hermes model
它会列出所有可用的 provider,你选一个就行。也支持自定义模型——比如 Nvidia 前几天在 OpenRouter 上放了一个免费的 nemotron-3-super-120b-a12b,直接填上就能用。
这个灵活度跟 OpenClaw 差不多,这方面两边打平。
配置相关的 CLI 也很直观:
hermes config # 看当前配置
hermes config edit # 编辑 config.yaml
hermes config set KEY VAL # 设置具体值
hermes config check # 检查缺失项
比如你想换模型:
hermes config set model anthropic/claude-opus-4
比如你想换终端后端:
hermes config set terminal.backend docker
甚至可以直接通过 CLI 设置 API Key:
hermes config set OPENROUTER_API_KEY sk-or-...
这些操作在 OpenClaw 里也能做,形式不同而已。但 Hermes 的命令设计确实更“Unix 味”一些,对习惯命令行的人来说很舒服。
跟 Agent 对话就一个词:
hermes
进去之后是一个终端聊天界面。
这里有一个我觉得设计得挺好的地方——它支持上百个斜杠命令(/ 开头),每个命令旁边都有简短说明。你不用背命令,输入 / 就能看到列表和描述。
这比“你得先去看文档才知道能干什么”的体验好太多了。虽然是个小细节,但小细节往往决定一个工具你愿不愿意继续用。
我上周买了个新键盘,红轴的,打字声音小了很多。这跟今天的话题没关系,但自从换了键盘之后我在终端里打字的意愿明显提高了。有时候你不想用一个工具,不是工具不好,是你的键盘太吵了导致室友会瞪你。
好了,说到 Hermes 真正让我觉得“这东西值得关注”的特性。
它有一套学习系统。不是那种营销话术里的“AI 会学习”,是实实在在的、你能看到的机制:
当你跟它交互时,它会把学到的东西变成可复用的技能(skills),通过经验改进这些技能,把有用的信息存进记忆,还能搜索之前的对话。
举个例子。你第一次让它帮你部署一个 Python 项目到某个服务器上,它完成之后会把这个流程记下来,生成一个 SKILL.md 文件。下次你再让它做类似的事情,它会直接调用上次生成的技能,还能根据这次的新情况调整优化。
会话也是持久化的。你可以列出之前的会话:
hermes sessions list
hermes sessions list --source telegram
hermes sessions list --limit 50
甚至可以导出所有会话,迁移到另一台机器上——不丢信息。
这带来一个实际的好处:这个 Agent 用一个月和用一天是不一样的。它在积累对你的理解,积累对你工作方式的了解。理论上,用得越久,它越好用。
我说“理论上”是因为这个功能到底能好用到什么程度,我现在还没法下结论。我才用了几天,还没有足够的数据来判断它的学习效果是不是真的显著。但至少这个方向是对的——一个工具如果不能随着使用变得更顺手,那它就只是一个工具;如果能,它就接近一个助手了。
不过这也引出了一个代价:因为要做学习和记忆,Hermes 在使用过程中有额外的开销。有人反映它比 OpenClaw 慢一些,我自己的体感也是如此。这大概率跟学习系统有关——它在后台做笔记、更新技能,这些都是要消耗时间和 token 的。
Hermes 预装了不少技能:
这些预装技能质量参差不齐,有些挺实用,有些感觉是为了凑数。
更有意思的是自己创建技能。原文作者做了一个很典型的例子——他把默认的 Firecrawl 网页搜索替换成了 Perplexity Sonar,这样就不用多配一个 API,直接复用 OpenRouter 的 Key 就行。
创建技能的方式是写一个 SKILL.md 文件,里面描述技能的名称、用途、配置步骤、测试方法。格式很简单,基本上就是 Markdown 加一些 YAML 头信息。
这是他替换搜索引擎的 SKILL.md 片段:
---
name: perplexity-web-search
description: Configure Hermes to use Perplexity (via OpenRouter) for web search
version: 1.0.0
author: Pecas
license: MIT
---
# Perplexity Web Search
Configures Hermes to use Perplexity's `sonar-pro` model via OpenRouter
for web search instead of Firecrawl.
## Key Components
### Perplexity Client
Use AsyncOpenAI with OpenRouter base URL:
- base_url: https://openrouter.ai/api/v1
- model: perplexity/sonar-pro
整个技能系统的设计理念是:让 Agent 自己帮你写技能,然后你审阅一下就行。你告诉它“我想要一个能在 Telegram 群里记账的功能”,它会帮你生成代码、生成 SKILL.md、测试、部署。你只需要看一眼生成的文件确认没问题。
他还做了一个 Tricount 风格的记账功能直接跑在 Telegram 群里,跟女朋友一起用。这种“小而具体”的使用场景,其实才是这类 Agent 最有价值的地方。不是什么“改变世界”的大项目,就是把日常生活中的小需求用 AI 自动化掉。
说到 Telegram,这是 Hermes 跟 OpenClaw 都支持的功能,把 Agent 接到 Telegram 上当聊天机器人用。
流程很标准:
/newbot@userinfobot 获取你的用户 ID然后运行:
hermes gateway setup
选择 Telegram,按提示填入 Token 和用户 ID。或者直接写进 .env 文件:
TELEGRAM_BOT_TOKEN=8566...
TELEGRAM_ALLOWED_USERS=835...
TELEGRAM_HOME_CHANNEL=835...
Gateway 是 Hermes 的一个后台进程,负责跟 Telegram、Slack 等平台通信。基本的操控命令:
hermes gateway start
hermes gateway stop
hermes gateway restart
我试了一下 Telegram 集成,能跑。配置过程比预期顺利,没遇到什么坑。如果配完之后 bot 没反应,先试试 restart gateway,大概率能解决。
有一个细节值得提:Hermes 的 TELEGRAM_ALLOWED_USERS 设置意味着只有指定的用户才能跟 bot 对话。这是一个安全细节,防止别人随便找到你的 bot 就能用你的 API 额度。OpenClaw 也有类似机制,这方面两边都做了该做的事。
Hermes 允许你给 Agent 设置“人格”,内置了几个预设:
你也可以自己加一个。在 config.yaml 里写好人格描述,然后指定名字就行:
display:
personality:mother
还能改 Agent 的名字。在 skins 文件夹里创建一个 YAML 文件:
branding:
agent_name:"Pecas"
然后在 config.yaml 里引用:
display:
skin:pecas-skin
皮肤文件里还能配欢迎语、告别语、提示符样式、UI 颜色什么的。
说实话,这些个性化功能对我来说用处不大。我不需要我的 Agent 跟我卖萌。但如果你是那种喜欢把工具调教成“自己的样子”的人,这些选项确实给得很充足。
Hermes 支持文字转语音(TTS)和语音转文字(STT)。
TTS 支持三种后端:
tts:
provider:edge# 免费
edge:
voice:en-US-AriaNeural
elevenlabs:
voice_id:pNInz6obpgDQGcFmaJgB
model_id:eleven_multilingual_v2
openai:
model:gpt-4o-mini-tts
voice:alloy
Edge 是免费的,够用了。ElevenLabs 和 OpenAI 的声音质量更好,但要钱。
STT 目前只支持 OpenAI 的 Whisper:
stt:
enabled:true
model:whisper-1
这里有一个跟 OpenClaw 的区别:OpenClaw 开了 TTS 之后,每条消息都会自动生成语音;Hermes 不会,你得主动要求它给你语音回复,或者写一个技能让它自动生成。
原文作者觉得 Hermes 这种方式更好,因为省内存,不用每次都听语音。我同意。大部分时候我只想看文字,偶尔才需要语音。自动生成语音是一种浪费。
顺便提一句,最近 GitHub 上有一个叫 Fish Speech 的开源 TTS/STT 项目,效果很不错,可以本地跑也可以用 API。如果你对语音交互有兴趣,可以看看。
跟 OpenClaw 一样,Hermes 也支持 cron 定时任务。你可以让它每天早上给你发一条天气预报,或者每周五下午提醒你提交周报。
hermes cron list # 查看定时任务
删除定时任务用斜杠命令:
/cron remove
这个功能本身没什么好说的,cron 就是 cron。能跑就行。
说了这么多优点,该说说问题了。
第一,没有 audit 命令。OpenClaw 有一个审计功能,可以检查你的 Agent 配置是否合理、有没有安全隐患、有没有违反最佳实践。Hermes 没有这个。你能做的最接近的操作是在聊天里输入 \insights,看一个使用摘要——会话数量、花了多少钱、活跃时间等等。但这跟安全审计是两回事。
对于一个有终端权限的 Agent 来说,没有审计功能是一个明显的短板。
第二,没有 dashboard。OpenClaw 有一个可视化面板,能看到 Agent 的状态、历史操作、资源消耗。Hermes 全靠命令行。对我来说无所谓,我本来就住在终端里。但如果你是一个更偏向图形界面的用户,这可能是个问题。
第三,速度。前面提过了,Hermes 因为学习系统的存在,在响应速度上比 OpenClaw 慢一些。不是慢到不能用,但能感觉到。原文作者的判断是换一个更快的模型或者调一下配置能缓解,我觉得应该是这样,但我还没有详细测过。
第四,社区规模。15k star 对比 340k star,这个差距是真实的。社区小意味着遇到问题时能搜到的解决方案少,能用的第三方技能少,更新迭代的速度可能也会受影响。当然 Hermes 才出来几天,拿现在的数据跟 OpenClaw 三个月前比不公平,但这是现状。
有一个细节我觉得值得单独拎出来说。
Hermes 在执行操作的时候,会把它做的每一步都显示出来:
💻 terminal: "mkdir -p ~/.hermes && touch ~/.hermes..."
✍️ write_file: "/home/ubuntu/hermes-agent/expense_tra..."
💻 terminal: "cd /home/ubuntu/hermes-agent && pytho..."
💻 terminal: "cd /home/ubuntu/hermes-agent && pytho..."
📝 skill_manage: "expense-tracker"
💻 terminal: "echo "Date,User,Description,Amount" >..."
每一个终端命令、每一个文件写入、每一个技能操作,都明明白白列在那里。
OpenClaw 也有类似的日志功能,但 Hermes 这个显示方式更直观一些。你可以实时看到它在干什么,然后去检查它改了哪些文件。对于一个有系统权限的 Agent,这种透明度不是加分项,是必需品。
Hermes 支持 MCP(Model Context Protocol),你可以接入各种外部服务。原文作者举了一个 Apify MCP 的例子——通过 MCP 接入 Apify,就能让 Agent 抓取 TechCrunch 新闻、获取技术岗位列表等等。
配置方式是给 Hermes 一个 JSON:
{
"mcpServers":{
"apify":{
"url":"https://mcp.apify.com/?tools=actors,docs,...",
"headers":{
"Authorization":"Bearer <YOUR_API_TOKEN>"
}
}
}
}
然后让 Hermes 自己根据这个 JSON 创建对应的技能。
MCP 的支持是个好信号,说明 Hermes 团队在走标准化路线,而不是搞一套自己的封闭接口。但说实话,MCP 本身现在还处于一个“大家都在说但真正用起来的人不多”的阶段。我自己目前还没在生产环境中重度依赖 MCP,所以这块不多评价。
这大概是很多人最想知道的。
我的判断是这样的:
如果你现在就需要一个成熟的、社区庞大的、功能完备的 AI Agent,选 OpenClaw。三个月的积累不是白来的,它的文档更全,技能更多,遇到问题更容易找到答案。审计功能和 dashboard 也确实有实际用处。
如果你是一个 Python 开发者,希望能深入理解和定制你的 Agent,并且愿意接受“还在早期”的粗糙感,Hermes 值得试试。纯 Python 的代码库、清晰的文件结构、.env 集中管理密钥,这些在日常使用中确实能减少很多麻烦。
如果你对“Agent 能不能随着使用变得更好用”这个方向感兴趣,Hermes 的学习机制目前是我见过的开源 Agent 里做得最扎实的。不是 README 里写个“we support memory”就完事了,它实实在在地把技能生成、经验积累、会话搜索。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-03-30
龙虾绝配:Qwen 3.5 27B!跑在家里,成本为 0
2026-03-27
阿里巴巴团队开源,OCR 又来一个高手,第一!
2026-03-27
ollama v0.18.3 发布:VS Code 原生集成 + Agent 模式,本地 AI 开发体验全面革新
2026-03-23
128K Star 的开源 AI 编程 Agent,把 Anthropic 逼到发律师函了
2026-03-23
字节跳动开源 DeerFlow 2.0:下一代超级 Agent 引擎,一键搞定复杂工作流!
2026-03-23
企业中职能部门打工人如何选小龙虾
2026-03-23
MiniMax开源技能包:让AI写代码从大学生变资深工程师
2026-03-22
OxyGent:构建高效能多智能体系统的协作框架
2026-01-30
2026-01-27
2026-01-12
2026-01-29
2026-01-27
2026-01-21
2026-01-28
2026-01-06
2026-01-26
2026-01-23
2026-03-17
2026-03-13
2026-03-02
2026-02-05
2026-01-28
2026-01-26
2026-01-21
2026-01-21