实战:把 Hermes 当 Python 库用
Hermes 实战教程第4篇:Python 库。在代码里直接调用 Hermes。
这篇教程带你认识 Hermes 的另一面——它不只是命令行工具,还能像积木一样嵌进你自己的 Python 程序里,帮你搭建聊天机器人、自动化脚本,甚至网页后端。
第 1 步:安装 Hermes
把 Hermes 当作 Python 库使用,需要先把它“请”到你的电脑上。打开终端,执行:
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
uv sync
这就像把一套乐高积木拆包、按说明书拼好底座。之后,你的程序都要用 uv run python 你的程序.py 来运行。
别忘了设置 API 密钥(相当于给 Hermes 办一张“通行证”):
export OPENROUTER_API_KEY="你的密钥"
第 2 步:第一次对话
Hermes 最基础的用法是 chat() 方法——你问一句,它答一句:
from run_agent import AIAgent
agent = AIAgent(
model="anthropic/claude-sonnet-4.6",
quiet_mode=True, # 重要!关掉终端动画,保持输出干净
)
response = agent.chat("法国的首都是哪里?")
print(response)
chat() 内部会自动处理工具调用、重试等复杂环节,你只管拿结果。务必设置 quiet_mode=True,否则 Hermes 会在屏幕上打印一堆进度条和旋转动画,把你的程序输出搅得乱七八糟。
第 3 步:掌控完整对话
如果你需要查看对话历史或自定义系统提示,用 run_conversation():
result = agent.run_conversation(
user_message="搜索 Python 3.13 的新特性",
task_id="my-task-1",
)
print(result["final_response"]) # 最终回答
print(len(result["messages"])) # 消息总数
返回的字典里包含 final_response(最终回答)和 messages(完整消息列表)。你还可以临时换一个“人设”:
result = agent.run_conversation(
user_message="解释快速排序",
system_message="你是计算机科学老师,用生活例子讲解。",
)
第 4 步:选择工具集
Hermes 自带多种“工具包”(如网页搜索、终端操作)。你可以用 enabled_toolsets 只开白名单,或用 disabled_toolsets 关掉某些危险工具:
# 只允许网页相关工具
agent = AIAgent(model="anthropic/claude-sonnet-4.6",
enabled_toolsets=["web"],
quiet_mode=True)
# 禁用终端访问(适合共享环境)
agent = AIAgent(model="anthropic/claude-sonnet-4.6",
disabled_toolsets=["terminal"],
quiet_mode=True)
第 5 步:多轮对话
想让 Hermes 记住上下文?把上一轮的消息历史传回去即可:
result1 = agent.run_conversation("我叫小明")
history = result1["messages"]
result2 = agent.run_conversation("我叫什么?",
conversation_history=history)
print(result2["final_response"]) # 输出:你叫小明
第 6 步:批量处理与集成
Hermes 自带 batch_runner.py 支持并行处理,也可以自己用线程池。注意:每个线程必须创建独立的 AIAgent 实例,因为 agent 内部状态(对话历史、工具会话)不是线程安全的。
它还提供了 FastAPI、Discord 机器人、CI/CD 等现成集成示例,直接复制粘贴就能用。
关键参数速查
| 参数 | 作用 |
|---|---|
quiet_mode |
关闭终端输出(嵌入代码时必开) |
enabled_toolsets |
只启用指定工具集 |
disabled_toolsets |
禁用指定工具集 |
ephemeral_system_prompt |
自定义系统提示(不写入训练数据) |
skip_memory |
关闭持久记忆(批量任务推荐) |
max_iterations |
单次对话最大工具调用次数(默认500) |
小结
把 Hermes 当 Python 库用,就像把一位全能助手请进你的代码里——它能聊天、能搜索、能写代码,还能配合你的业务逻辑自由组合。记住三个关键点:quiet_mode=True、按需配置工具集、每个线程新建 agent 实例。
下篇预告:我们将深入 Hermes 的“记忆系统”,看看它如何跨对话记住你的偏好,以及如何用 skip_memory 控制隐私边界。敬请期待!
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › developer-guide/programmatic-integration