1. 为什么你的 Hermes Agent 装完就吃灰
很多人第一次接触 Hermes Agent,都是被“自进化智能体”“7×24 常驻”“多 Agent 协作”这些词吸引进来的。装完之后发现,它好像也就是个能聊天的命令行工具,问几句天气、写两段文案,然后就没有然后了。问题不在 Hermes Agent 本身,而在于你只完成了“安装”这一步,没有把它放到一个能持续运行的环境里,也没有给它接上稳定的模型通道,更没有配置记忆和协作结构。
Hermes Agent 是 Nous Research 团队开源的一个智能体框架,它的定位不是“聊天窗口”,而是一个可以部署在服务端、长期后台运行的自动化程序。它支持持久记忆、工作流编排、多平台对接,还能通过技能系统自主迭代。换句话说,你把它装在本地电脑上,关机就断;你把它接在一个不稳定的模型通道上,跑几分钟就报错;你不配置记忆架构,它每次对话都像第一次见你。这三个问题不解决,Hermes Agent 就永远只是个玩具。
这篇内容聚焦的就是从零到一把 Hermes Agent 跑起来:在 VPS 上完成部署,通过 TaoToken 统一 Key 接入模型,配置三层记忆架构,最后跑通多 Agent 协作。每一步都会给出可复制的环境变量、配置文件片段和验证动作。你不需要有很深的 Linux 功底,但需要有一台能 SSH 登录的 VPS,以及一个能用的模型 API Key。
先说清楚适合谁看:如果你已经装过 Hermes Agent 但不知道下一步做什么,或者你正准备部署但不想在模型配置上反复踩坑,那这篇内容就是为你写的。如果你还没装,也没关系,部署部分会从 SSH 连接开始讲。整个流程实测下来,从零到跑通多 Agent 协作,大约需要 40 到 60 分钟,主要时间花在系统更新和依赖安装上。
2. TaoToken 统一 Key 接入 Hermes Agent 的模型配置方案
Hermes Agent 本身不绑定任何一家模型服务商,它通过配置文件读取 Base URL、API Key 和 Model ID 来调用模型。这意味着你可以把任何兼容 OpenAI 接口规范的通道接进来。TaoToken 提供的就是这样一个统一入口:一个 Key 可以调用多种模型,Base URL 固定,不需要为每个模型单独申请账号。
为什么要在 Hermes Agent 里用 TaoToken 而不是直接填某家厂商的 Key?原因有三个。第一,Hermes Agent 的模型架构分三层:主模型负责复杂推理,辅助模型负责对话压缩和摘要,备用模型负责容灾切换。如果每个模型都去单独申请 Key,管理成本很高。TaoToken 一个 Key 就能覆盖这三层,配置时只需要改 Model ID。第二,Hermes Agent 支持多凭证轮转,TaoToken 的 Key 可以配合轮转策略使用,额度管理更灵活。第三,VPS 上的网络环境不一定能稳定直连某些模型服务,TaoToken 的 API 入口在连通性上更省心。
你需要提前准备的东西:一台 Ubuntu 22.04 或 24.04 的 VPS,最低 2 核 2G 内存,20G 硬盘;一个 TaoToken 的 API Key,在控制台创建即可;SSH 客户端,Windows 用 PowerShell 或 Termius,macOS 用终端。
TaoToken 的 API 地址是https://taotoken.net/api,这个地址在 Hermes Agent 的配置里会作为 Base URL 使用。注意不要在后面加/v1,Hermes Agent 的 OpenAI 兼容层会自动拼接路径。API Key 的格式通常是sk-开头的一串字符,在控制台的 API Keys 页面可以创建和查看。
在正式配置之前,建议先在本地用 curl 验证一下 Key 是否可用。打开终端,执行:
curl -X POST https://taotoken.net/api/chat/completions \ -H "Authorization: Bearer 你的TaoToken_API_Key" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4o-mini", "messages": [{"role": "user", "content": "ping"}], "max_tokens": 10 }'如果返回的 JSON 里有choices字段,说明 Key 和通道都正常。如果返回 401,说明 Key 填错了或者被禁用了;如果返回local proxy failed之类的错误,说明网络层有问题,需要检查 VPS 的出站规则。这一步验证通过之后,再去配置 Hermes Agent,可以省掉很多排查时间。
Hermes Agent 的模型配置支持多种方式:交互式hermes setup、直接编辑配置文件、或者用hermes config set命令。推荐用配置文件方式,因为可以一次性把主模型、辅助模型、备用模型都写好,后面改起来也方便。配置文件的位置通常在~/.hermes/config.toml或~/hermes/hermes.conf,具体取决于安装方式。下一节会给出完整的配置片段。
3. VPS 部署与 Hermes Agent 可复制配置文件
这一节从 SSH 连接开始,一步步把 Hermes Agent 装到 VPS 上,并写好模型配置。所有命令都可以直接复制执行,只需要替换 IP 和 Key。
第一步,SSH 连接 VPS。把下面的 IP 换成你的公网地址:
ssh root@你的VPS公网IP如果你用的是密钥登录,加上-i参数指定私钥路径。连接成功后,先更新系统并创建专用运行用户。不建议用 root 跑 Hermes Agent,这是 Linux 运维的基本规范:
apt update && apt upgrade -y adduser hermes usermod -aG sudo hermes su - hermes创建用户时会提示设置密码,设一个强密码并保存好。切换到 hermes 用户后,执行官方安装脚本:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash安装过程会拉取依赖,耗时 2 到 5 分钟,取决于 VPS 的网络环境。安装完成后,不要急着跑hermes setup,先手动创建配置文件,这样模型通道可以一次性配好。
Hermes Agent 的配置文件采用 TOML 格式,路径是~/.hermes/config.toml。如果目录不存在,先创建:
mkdir -p ~/.hermes nano ~/.hermes/config.toml然后把下面的配置粘贴进去,替换你的TaoToken_API_Key为实际 Key:
[model] provider = "openai" base_url = "https://taotoken.net/api" api_key = "你的TaoToken_API_Key" model_id = "gpt-4o" max_tokens = 4096 temperature = 0.7 [model.auxiliary] provider = "openai" base_url = "https://taotoken.net/api" api_key = "你的TaoToken_API_Key" model_id = "gpt-4o-mini" max_tokens = 2048 temperature = 0.3 [model.fallback] provider = "openai" base_url = "https://taotoken.net/api" api_key = "你的TaoToken_API_Key" model_id = "claude-3-5-sonnet" max_tokens = 4096 [memory] backend = "sqlite" path = "~/.hermes/memory.db" compression_threshold = 0.5 [agent] name = "hermes-main" workdir = "~/hermes/projects"这段配置里,[model]是主模型,负责直接对话和复杂推理;[model.auxiliary]是辅助模型,负责对话压缩和摘要,用轻量模型控制成本;[model.fallback]是备用模型,主模型额度耗尽或报错时自动切换。三个模型都走 TaoToken 的同一个 Base URL,只是 Model ID 不同。
[memory]段配置了 SQLite 作为长期记忆后端,compression_threshold = 0.5表示上下文用到 50% 时触发压缩,这是官方推荐的阈值。[agent]段设置了工作目录,后面多 Agent 协作时会用到。
保存退出后,用hermes config check验证配置格式:
hermes config check如果输出Config OK,说明 TOML 格式没问题。如果报错,通常是缩进或引号问题,仔细检查一下。
接下来配置 Systemd 进程守护,让 Hermes Agent 开机自启、崩溃自动重启。创建服务文件:
sudo nano /etc/systemd/system/hermes.service写入以下内容:
[Unit] Description=Hermes Agent Service After=network.target [Service] Type=simple User=hermes WorkingDirectory=/home/hermes ExecStart=/home/hermes/.local/bin/hermes run Restart=always RestartSec=10 Environment="HERMES_CONFIG=/home/hermes/.hermes/config.toml" [Install] WantedBy=multi-user.target注意ExecStart的路径要和你实际安装的 hermes 可执行文件路径一致,可以用which hermes确认。保存后启用服务:
sudo systemctl daemon-reload sudo systemctl enable hermes sudo systemctl start hermes到这里,VPS 部署和模型配置就完成了。下一节验证请求是否真的跑通。
4. 验证模型连通性与记忆读写
配置写好了不代表能跑通,必须做三步验证:启动日志、模型连通性、记忆读写。这三步都过了,才能进入多 Agent 协作。
先看启动日志:
sudo journalctl -u hermes -f正常启动会输出类似Hermes Agent started、Model provider: openai、Memory backend: sqlite的信息。如果看到Config file not found,说明配置文件路径不对;如果看到401 Unauthorized,说明 TaoToken 的 Key 有问题;如果看到local proxy failed或connection refused,说明 VPS 出站网络有问题,需要检查防火墙或 DNS。
日志正常后,进入交互模式测试模型连通性:
hermes chat在对话里输入ping,如果模型返回内容,说明主模型通道正常。然后测试辅助模型是否生效,输入一段较长的对话,观察日志里是否出现Auxiliary model invoked for compression。如果辅助模型没被调用,检查[model.auxiliary]段是否配置正确。
记忆读写的验证稍微复杂一点。Hermes Agent 的记忆分三层:Level 1 是静态文件,每次会话自动加载;Level 2 是按需加载的项目记忆;Level 3 是 SQLite 长期记忆。先创建 Level 1 的静态文件:
mkdir -p ~/.hermes/memory nano ~/.hermes/memory/SOUL.md写入:
# SOUL.md ## 身份 你是 Hermes Agent 主实例,负责协调子 Agent 完成任务。 ## 行为准则 1. 回答简洁,不编造信息。 2. 遇到不确定的内容,明确说明。再创建USER.md:
# USER.md ## 使用偏好 - 语言:中文 - 风格:精简 - 时区:UTC+8保存后重启 Hermes Agent:
sudo systemctl restart hermes然后在对话里问我的使用偏好是什么,如果模型回答出“中文、精简、UTC+8”,说明 Level 1 静态记忆加载成功。
Level 3 长期记忆的验证,在对话里输入:
请记住:我的项目代号是 hermes-test,部署在 VPS 上。然后退出对话,重新进入,问我的项目代号是什么。如果模型回答hermes-test,说明 SQLite 长期记忆读写正常。如果回答不出来,检查~/.hermes/memory.db文件是否存在,以及[memory]段的path是否正确。
这一步常见的一个坑是:SQLite 文件的权限问题。如果 Hermes Agent 以 hermes 用户运行,但 memory.db 是 root 创建的,就会写入失败。用ls -la ~/.hermes/memory.db确认属主是 hermes。
5. 多 Agent 协作配置与常见报错排查
多 Agent 协作是 Hermes Agent 区别于普通对话工具的核心能力。它的实现方式是通过 Profile 拆分角色,每个 Profile 有独立的记忆、人设和模型配置,互相隔离。你可以创建一个 researcher 负责调研,一个 writer 负责文案,一个 coder 负责代码,然后通过主 Agent 分发任务。
创建 Profile 的命令:
hermes profile create researcher hermes profile create writer hermes profile create coder每个 Profile 会在~/.hermes/profiles/下生成独立目录,里面有各自的config.toml和记忆文件。你可以为 researcher 配置高推理能力的模型,为 writer 配置轻量模型控制成本。修改~/.hermes/profiles/researcher/config.toml:
[model] provider = "openai" base_url = "https://taotoken.net/api" api_key = "你的TaoToken_API_Key" model_id = "gpt-4o" max_tokens = 8192 temperature = 0.5 [agent] name = "researcher" role = "负责信息检索、资料整理和事实核查"writer 的配置类似,但model_id可以换成gpt-4o-mini,temperature调到 0.8 让文案更有变化。coder 的model_id建议用claude-3-5-sonnet,代码生成更稳。
配置完成后,在主 Agent 的对话里测试任务分发:
请 researcher 调研 Hermes Agent 的记忆架构,整理成三点摘要,然后让 writer 把摘要改写成一段 200 字的介绍。如果配置正确,主 Agent 会先调用 researcher 的 Profile 执行调研,再把结果传给 writer 的 Profile 做改写。你可以在日志里看到Profile researcher invoked和Profile writer invoked的记录。
这一步常见的报错有四个。第一个是401 Unauthorized,说明某个 Profile 的 API Key 没填对,检查~/.hermes/profiles/xxx/config.toml里的api_key。第二个是local proxy failed,通常是 VPS 的 DNS 解析问题,执行curl -I https://taotoken.net/api确认连通性。第三个是reading choices: unexpected end of JSON input,说明模型返回了空响应,可能是max_tokens设得太小,或者 Model ID 写错了。第四个是OAuth token expired,如果你用的是 OAuth 方式的凭证,需要重新执行hermes auth login。
还有一个容易忽略的问题:Profile 之间的记忆隔离。如果你希望 researcher 和 writer 共享部分上下文,需要在主 Agent 的AGENTS.md里配置加载规则:
# AGENTS.md ## 关联文档 - shared_context: ~/.hermes/memory/shared.md ## 加载规则 - 所有 Profile 启动时加载 shared_context这样每个 Profile 都能读到共享的上下文文件,但各自的长期记忆仍然独立。实测下来,这种“共享静态文件 + 独立长期记忆”的结构,在多 Agent 协作里最实用。
6. 把 Hermes Agent 跑成长期可用的自动化助手
走到这一步,你的 Hermes Agent 已经具备了三个关键能力:稳定的模型通道、持久的三层记忆、可拆分角色的多 Agent 协作。接下来要做的,是把它从“能跑”变成“长期可用”。
第一件事是配置定时任务。Hermes Agent 支持自然语言设置定时任务,不需要写 cron 表达式。在对话里输入:
每天早上 9 点,让 researcher 汇总前一天的对话记录,生成一份简报,然后让 writer 改写成 300 字以内的摘要发给我。Hermes Agent 会自动解析时间、角色和任务链,生成对应的调度配置。你可以在hermes dashboard的看板里看到任务状态。
第二件事是配置技能系统。技能是可复用的工作流,放在~/hermes/skills/目录下。每个技能是一个文件夹,里面有SKILL.md定义规则,可选scripts/目录放可执行脚本。比如创建一个“每日简报”技能:
mkdir -p ~/hermes/skills/daily-report/scripts nano ~/hermes/skills/daily-report/SKILL.md写入:
# 每日简报技能 ## 触发条件 用户说“生成今日简报”时触发。 ## 执行步骤 1. 读取 ~/.hermes/memory/daily.md 中的今日记录。 2. 调用 writer Profile 生成 300 字摘要。 3. 将摘要追加到 ~/hermes/projects/reports/daily.md。技能采用按需加载机制,只有匹配到触发条件时才会加载,不会增加日常对话的 token 开销。
第三件事是安全加固。VPS 上跑长期服务,必须做基础防护。禁用 SSH 密码登录,编辑/etc/ssh/sshd_config,把PasswordAuthentication改成no,然后重启 SSH 服务。配置防火墙,只开放必要端口:
sudo ufw allow 22 sudo ufw allow 443 sudo ufw enable如果你需要通过网页看板访问 Hermes Agent,再开放对应端口。另外,建议开启系统自动安全更新:
sudo apt install unattended-upgrades -y sudo dpkg-reconfigure --priority=low unattended-upgrades最后,把 TaoToken 的 API Key 和 Hermes Agent 的配置文件做好备份。Key 泄露的风险比 VPS 被入侵更常见,建议定期在 TaoToken 控制台轮换 Key,然后更新~/.hermes/config.toml和各个 Profile 的配置。
如果你在配置过程中遇到模型通道的问题,可以先到 TaoToken 的接入文档里对照 Base URL 和 Model ID 的写法;如果 Key 需要重新生成,直接在控制台的 API Keys 页面操作。多 Agent 协作跑通之后,你会发现 Hermes Agent 真正好用的地方不在于单次对话有多聪明,而在于它能记住你的习惯、按你的规则自动执行任务,并且随着使用时间越来越贴合你的工作流。