Hermes Agent 源码探秘 (2):5分钟跑起来,感受一下AI Agent

3 阅读5分钟

系列:Hermes Agent 源码探秘 作者:元思未来 字数:约2500字


上篇文章我们讲了AI Agent的原理:它会自己调用工具、完成任务,而不是只输出文字。

光说不练假把式。这篇我们就上手跑一个 Hermes Agent,亲手感受一下它到底能做什么。


一、安装:快,真的很快

Hermes 的安装只需要一行命令:

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

它会做这几件事:

  1. 检测系统(支持 Linux / macOS / Windows WSL)
  2. 安装 Python 虚拟环境
  3. 克隆最新代码到 ~/.hermes/hermes-agent/
  4. 安装依赖
  5. 创建 hermes 命令软链接

整个过程大概 1-3 分钟,取决于你的网速。

安装完成后,运行:

hermes --version

如果看到版本号,说明安装成功了。

配置模型

Hermes 支持 20+ 模型提供商。最简单的配置方式:

hermes setup

这是一个交互式向导,它会依次问你:

  • 用什么模型(OpenRouter / Anthropic / OpenAI / DeepSeek / 本地模型等)
  • API Key
  • 终端配置
  • 要不要开启网关(消息平台)

如果你用的是 OpenRouter,只需要设置 OPENROUTER_API_KEY 环境变量,然后选一个模型就行。

或者直接设置:

export OPENROUTER_API_KEY=sk-or-v1-xxxxxxxx
hermes model  # 交互式选择模型

二、第一句对话:跟普通ChatGPT的区别

普通测试

hermes chat -q "你是谁?"

输出大概是:

我是 Hermes Agent,一个开源的 AI 助手,由 Nous Research 开发。
我可以帮你写代码、查资料、操作文件、运行命令等等。

这时候它还跟你用 ChatGPT 感觉差不多。但接下来就不一样了。

让它做点"实事"

试试让它查个信息:

hermes chat -q "今天比特币价格是多少?"

你会在终端里看到这样的过程:

🧠 正在思考...
🔧 调用工具: web_search(query="比特币价格 today")
   ...
📝 比特币当前价格约为 $67,832...

注意看!它自己调用了搜索工具,而不是凭训练数据回答。这就是 Agent 和普通 LLM 的区别。

让它写代码

hermes chat -q "写一个Python脚本,监控当前目录下的文件变化,有新文件时打印文件名"
🧠 正在思考...
🔧 调用工具: write_file(path="watch_files.py", content=...)
   ✓ 文件已写入
🔧 调用工具: terminal(command="python watch_files.py", ...)
   ...
📝 脚本已创建并测试通过。它使用 watchdog 库监控当前目录,
   有新文件创建时会打印文件名。要运行的话执行:
   python watch_files.py

它自己写代码、保存文件、甚至跑起来测试了。


三、跟它"聊天式"协作

Hermes 真正的威力在于交互式对话。运行:

hermes

会进入交互模式,你会看到一个提示符,像这样:

┌─────────────────────────────────────────────┐
│  ✨ Hermes Agent v0.14.0                    │
│  Model: deepseek-v4-flash                   │
│  Type /help for commands                    │
└─────────────────────────────────────────────┘

  ┊ 输入你的消息...

这时候你可以像跟一个人聊天一样让它做事,而且可以连续对话、上下文连贯

比如:

你:帮我创建一个 React 项目
Hermes:我来创建一个简单的 React 项目...
       (创建目录、初始化、写组件...)
       ✓ 创建完成,跑在 http://localhost:3000

你:加一个计数器组件
Hermes:好的,我来改 App.js...
       ✓ 计数器组件已添加,功能:点击 +1 / -1 / 重置

你:帮我部署到 Vercel
Hermes:运行 vercel deploy...
       ✓ 已部署到 https://my-app.vercel.app

一个会话里,从创建到部署全搞定。 这就是 Agent 的价值。


四、几个必试功能(快速感受能力边界)

1. 工具调用透明可见

Hermes 会显示它正在调用的工具:

  ┊ web_search(query="python async tutorial")
  ┊ read_file(path="main.py")
  ┊ terminal(command="npm run build")

每个工具调用前面有个小图标或前缀,你可以看到它一步步在做什么,而不是黑箱操作。

2. 斜杠命令系统

在交互模式下,输入 / 可以看到所有命令:

/help        显示帮助
/model       切换模型
/retry       重试上一次
/undo        撤销上一次对话
/clear       清屏
/title       给会话起名
/save        保存会话
/tools       管理工具
/skills      搜索技能

3. 技能系统

这是 Hermes 的一个特色功能。你可以用 /skill 加载一个"技能"——类似于给 Agent 一份操作手册,它就会按手册里的流程做事。

# 在会话中加载技能
/skill writing-plans
📚 已加载技能: writing-plans
    这是关于如何编写实施计划的技能...

4. 实时查看进度

当 Hermes 在执行长时间任务时(比如部署、测试),你能实时看到终端输出,而不是傻等。


五、"懒人模式":一条命令完成复杂任务

你可以用 -q 参数单条执行,非常适合自动化

hermes chat -q "搜索最新的AI Agent框架,对比它们的优缺点,输出到 ~/Desktop/ai-agent-comparison.md"

然后去喝杯咖啡,回来桌上就有一份对比报告了。

再比如定时任务

hermes chat -q "帮我设置一个定时任务,每天早上8点抓取Hacker News头条,整理成摘要发给我"
🧠 正在思考...
🔧 调用工具: cronjob(action="create", schedule="0 8 * * *", ...)
   ✓ 定时任务已创建
📝 每天早上8点,我会自动抓取HN头条并整理摘要给你。

这是真正的"一次设置,长期收益"。


六、初体验总结:你感受到了什么?

如果你跟着操作了一遍,你应该体验到了这几个关键差异

对比项普通 ChatGPTHermes Agent
获取实时信息❌ 无法✅ 自动搜索网络
操作文件❌ 只能读上传的文件✅ 创建/编辑/删除
执行代码❌ 沙盒执行(受限)✅ 本地终端执行
安装软件❌ 不行✅ pip/npm/apt
定时任务❌ 不行✅ cronjob一键设置
多工具配合❌ 单工具✅ 搜索+读写+执行协同

一句话总结:ChatGPT 是"聊天的",Hermes 是"干活的"。


七、下一期预告

上篇我们讲了 Agent 原理,这篇你亲手跑起来了。下一篇,我们开始读源码

第一篇源码拆解直接杀进最核心的部分:run_conversation()

这是 Agent 的心脏——那个"LLM思考→调用工具→看结果→继续"的循环——它是怎么用 Python 实现的?错误处理怎么做?重试策略是什么?上下文什么时候压缩?

不到 200 行核心代码,却藏着很多设计智慧。下一篇见。


作者: 十年全栈工程师,目前在探索AI Agent。
系列目录: [Hermes Agent 源码探秘]
代码位置: 安装后源码在 ~/.hermes/hermes-agent/


元思未来 · 行稳致远,进而有为