我的 Hermes Agent 部署实录:本地小主机 × 云端 VPS × 三消息平台

你装好了 Hermes,聊了几句,然后呢?

如果你跟我一样,装完 Hermes 发现它能干的事远比想象的多——但不知道从哪下手搭一套能真正"跑起来"的架构,这篇文章就是写给你的。

我花了大概一周时间,从小主机到 VPS,搭出了一套本地计算 + 云端服务的混合架构,接入了三个消息平台,跑着全自动的新闻采集管线。这篇文章把完整架构和踩过的坑一起端出来。

第一章:为什么选本地 + VPS 混合架构

Hermes 需要 7×24 运行,放家里电脑不现实——关机就断,断电就废。但全放云上也不划算,存储和计算分开更合理。

我的方案是本地跑计算,云端跑服务

节点 角色 配置 职责
therme-home(本地) 主节点 Intel 3865U, 14TB HDD, Ubuntu 26.04 Hermes Agent、记忆系统、Cron 调度、新闻采集、知识库
东京 VPS(腾讯云) 云端服务 Debian 12, 2C2G, 50GB SSD Caddy 博客、爬虫出口、备用网关

东京这台 VPS 最早也是跑 Hermes 的,后来主节点搬到了本地小主机上,它就转为博客服务器 + 爬虫出口。好处是:

  • 本地跑 Hermes 不花钱,14TB 硬盘存记忆和知识库毫无压力
  • 东京做网站,国内访问延迟低(50-80ms),Caddy 自动 HTTPS

有一点遗憾:小主机装了 Ubuntu 26.04,太新了,有些工具和库还没跟上,装的时候踩了一些兼容性坑。建议稳妥选 Ubuntu 24.04 LTS 或 Debian 12。

第二章:安装与踩坑

安装本身不复杂,一条命令的事:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

但后面有几个坑值得记下来:

坑 1:初次启动找不到模型

装完直接 hermes 启动,报错 no provider configured。需要先配模型:

hermes setup

交互式向导里选 provider 和 model。我推荐新手用 DeepSeek——性价比极高,日常对话和任务调度完全够用。

选择 DeepSeek 的原因:

  • 价格低:DeepSeek v4 Flash 的价格远低于 GPT-4/Claude,日常跑 Cron 任务不心疼
  • 中文好:深度求索的模型对中文理解天然优势
  • 兼容 OpenAI 协议:Hermes 直接支持,无需适配

注册地址:https://platform.deepseek.com/

配置方式:

# 在 hermes setup 向导中选择 DeepSeek
# 或者直接编辑 ~/.hermes/config.yaml:

provider: deepseek
model: deepseek-v4-flash
base_url: https://api.deepseek.com/v1
api_key: "你的API Key"

更多模型配置教程可参考 Hermes 官方文档 - 模型配置

不想动手?直接把链接丢给 Hermes

配完大模型之后,后面的配置基本都可以"甩手掌柜"——直接把链接丢给 Hermes,让它自己看文档配置。

例如:

帮我看看这个文档 https://hermes-agent.nousresearch.com/docs/user-guide/messaging/feishu,然后按文档配置飞书机器人

Hermes 会自动读文档、提取配置步骤、执行操作。你只需要提供必要的凭证(APP_ID、Token 等)。这就是它跟普通聊天工具最大的区别——它能自己去学怎么用自己。

免费模型推荐

不想花钱起步?这几个免费的够用一阵子:

Provider 免费额度 说明
阿里云百炼 新用户 7000 万 Token(每模型 100 万) 国产大模型,中文能力强
Agnes AI 无限期免费使用 不限量调用文本/图片/视频模型,高峰期卡顿

推荐阅读:Agnes AI 文档

另外两个我在用的推荐:

https://platform.xiaomimimo.com?ref=NMLR3J

https://opencode.ai/go?ref=ED6169FR9E

坑 2:Gateway 端口冲突

Gateway 默认绑定 :8642。如果你跟我一样机器上已经跑着别的服务,可能会冲突。

解决:改端口

hermes config set gateway.port 8642

后来我发现了更好的方式——--replace 参数:

hermes gateway run --replace

它会自动干掉旧进程再启新的,不用手动 kill。

坑 3:Streaming 飞书卡片不显示

飞书消息卡片是 Hermes 在飞书上最直观的交互方式——任务执行过程实时展示、结果一目了然。但这个功能踩了不少坑才跑通。

Streaming 卡片的效果:当你给 Hermes 下达任务时,它不是等全部处理完才回复,而是"直播"执行过程——先显示"正在搜索…",再显示"找到 3 条结果",最后展示完整卡片。体验比静默等半分钟好得多。

推荐用官方插件开启:

hermes plugins install hermes-lark-streaming
hermes config set feishu.streaming true

项目地址:https://github.com/Aowen-Nowor/hermes-lark-streaming

踩坑细节:切换到 Streaming 后 gateway 依赖 systemd 管理,遇到 D-Bus 异常导致死锁——systemd 的 Restart=always 和网关锁文件冲突,进程无限重启。

修复:不用 systemd 管理,直接裸进程跑:

hermes gateway run --replace --daemon

--daemon 后台化,--replace 自动替换旧进程。现在稳定跑了一个月没出过问题。

第三章:三平台消息接入

Hermes 原生支持多个消息平台,我接入了三个:

平台 用途 配置难度
飞书 主力——接收新闻推送、定时报告、日常交互 ⭐⭐
Telegram 备胎——飞书挂了走这里
QQ Bot 特定渠道需求 ⭐⭐⭐

飞书配置

飞书是日常使用最多的平台。需要在 飞书开放平台 创建应用,拿到 APP_IDAPP_SECRET

# ~/.hermes/config.yaml 中的飞书配置
plugins:
  feishu:
    app_id: "cli_xxxxxxxxxxxx"
    app_secret: "{{APP_SECRET}}"
    streaming: true  # 开启流式卡片

要点

  • 机器人要加到群里有 im:message:send_as_bot 权限
  • Streaming 卡片比普通消息好看得多——执行过程实时展示
  • 审批模式建议关掉(approvals.mode=off),否则每个操作都要你点确认

Telegram 配置

最简单的接入。在 @BotFather 创建机器人拿到 Token,配进去就行:

hermes gateway add telegram --token "xxx"

Telegram 的优势是 文件收发最稳——MEDIA 语法的图片、音频、文件都支持得很好。

QQ Bot

QQ Bot 的配置要复杂一些,需要使用官方 Bot API 和 WebSocket 连接。关键配置项:

qqbot:
  app_id: "19041xxxxx"
  token: "{{TOKEN}}"

QQ Bot 有个限制:Markdown 的引用格式要用特殊的 quoteArea 语法,不能直接用标准 Markdown。

第四章:记忆系统——让 Hermes 记住你

这是 Hermes 比普通对话工具强的地方——它能跨会话记住东西。

目前 Hermes 支持多种记忆方案,各有侧重。我整理了一个对比表,包含是否调用 LLM 和大约的 Token 消耗:

方案 是否调用 LLM 预估 Token 优点 缺点 适用场景
Hindsight(我在用) 每次 retain 调用一次 LLM ~500 Token/次提取 零配置、自动提取、数据本地 初次需要积累 个人日常使用、单节点部署
Holographic 检索时用 FastEmbed(本地,不耗 Token) 0 Token(本地向量化) 检索更准、多一个信号维度 需安装 FastEmbed 依赖、增加 CPU 开销 对记忆召回精度要求高的场景
MemHarness 读写都不调用 LLM 0 Token 结构清晰、支持修订历史、可审计 需手动调用 remember/recall 需要精确记忆管理的场景
Honcho 云端处理,服务端调用 LLM 取决于服务端配置 多设备共享、高可用 依赖外部服务、有网络延迟 多设备需要记忆同步
静态文件(SOUL/USER/MEMORY.md) 不调用 LLM 0 Token 零依赖、完全可控 每次会话全量加载、多了管理困难 少量固定信息(60-100行以内)

我选了 Hindsight。理由是:

  • 零配置开箱即用——装完 Hermes 就有了,不需要额外折腾
  • 自动提取——每轮对话自动提炼关键信息,不用手动写记忆
  • 数据本地——存在自己的服务器里,不外传

Hindsight 配置指南:https://hermes-agent.nousresearch.com/docs/user-guide/memory/hindsight

Holographic 插件项目:https://github.com/nousresearch/hermes-agent/tree/main/plugins/holographic_plus

MemHarness 使用教程:https://hermes-agent.nousresearch.com/docs/user-guide/memory/memharness

三层记忆架构

不管用哪种方案,Hermes 的记忆都分三层:

Level 1: 静态文件(每次加载)
  SOUL.md → 人设与行为准则
  USER.md → 用户偏好
  MEMORY.md → 关键事实

Level 2: 技能文件(按需加载)
  skills/ 目录下的 SKILL.md

Level 3: 长期记忆(Hindsight)
  本地 SQLite → 自动提取关键信息

SOUL.md 示例

这是我自己用的角色定义,核心几条:

## 身份
你是我的秘书,不只是我的执行者

## 行为准则
- 有主见,不绕弯子
- 推一件事时说透:它是什么、解决了什么、怎么做到的
- 定期主动扫描情报,有料推一条,没料闭嘴
- 方向不对直接反驳,带依据

## 禁止事项
- 不说"看情况"
- 不用"首先/其次/最后"
- 不写"很高兴为您服务"

记忆迁移——从老机器搬家

我之前在另一台机器上跑了 Hermes 一段时间,积累了不少记忆。迁移时用:

# 找到旧的 session 数据库
# 把 state.db(50MB/74个会话)搬到新机器
# 用 hindsight_recall 查历史记忆
# 挑有价值的喂给 hindsight_retain

(博客上线和知识库维护这两块内容比较多,后面单独开文章讲。)


下一步计划

这套架构目前跑了大半个月,下一步想搞:

  1. 更多教程——后面会写怎么搭博客、维护知识库、开发自定义 Skill
  2. 故障排查档案——遇到的新问题和解决思路持续更新到博客
  3. 多智能体协作——用 Profile 拆分角色,专门化分工

从一条安装命令到一个全自动化智能体,花的功夫其实比想象中少。关键不是配置有多复杂,而是想清楚"我要让它帮我干什么"。

有问题或者想交流 Hermes 部署心得,欢迎在这留下评论。