Lazy loaded image
基础底座:Hermes部署
字数 2948阅读时长 8 分钟
2026-4-26
2026-5-21
建议步骤

一、部署及技巧

(一)安装

Windows 要在cmd模式下

(二)模型配置

1. 主模型配置

也可编辑项目文件夹下的.env修改密钥

2. 辅助模型配置

config.yaml文件中配置

3. 本地模型

(三)Hermes 的几类配置文件

1. .env

~/.hermes/.env 放密钥。API Key、bot token、平台 token 这种东西放这里。不要发给别人,不要贴到公开仓库。

2. config.yaml

~/.hermes/config.yaml 放普通配置。比如默认模型、terminal backend、gateway、工具开关。

3. soul.md

~/.hermes/SOUL.md 放稳定人格和硬规则。比如回答前先验证,危险命令要提醒,不要编造 API,做完任务要说明怎么检查。放固定规则

4. Memory.md

~/.hermes/memories/MEMORY.md 放 Agent 的工作笔记。比如这台机器的环境、项目习惯、踩过的坑。不是把所有东西都塞进 MEMORY.md,放会变化的环境事实和工作笔记。 Memory = 它该知道什么;Skill = 某类任务该怎么做
主动存记忆:
复杂任务做完后让它总结:

5. User.md

~/.hermes/memories/USER.md 放用户偏好。比如默认中文、结论先行、少写长篇废话。放用户偏好。

6. Agent.md

项目根目录的 AGENTS.md 放项目级规则。比如这个项目怎么测试、不能动哪些目录、发布前要跑什么命令。放项目规范。

(四)写好soul.md

主要注意:
新手第一版 SOUL.md 不用写得像公司制度,几行就够,

(五)skill库及语音

1. skill

是否生成了skill,要查看:hermes skills list
可以搜外部skill:
 

2. 语音

ctrl+b激活:文字回复。
ctrl+b退出语音输入

(六)恢复session

两者功能一样。
恢复不了先查

(七)Gateway

Gateway 成功不看服务有没有启动,要看聊天软件里能不能给 Hermes 发消息,并收到回复。
第一条消息可以很简单,
再发第二条,
第二天换一个说法让它做同类任务,看它有没有沿用偏好。测到这一步,才算测到了 Gateway + Memory 的组合能力。

(八)Profile 才是多 Agent 的正确起点

很多人说多 Agent,其实说的是多个 profile。
Profile 是独立 Hermes home。每个 profile 都有自己的 config.yaml、.env、SOUL.md、memories、sessions、skills、cron jobs、state database。Profile 是独立的 Hermes home。每个 profile 都有自己的 config.yaml、.env、SOUL.md、memories、sessions、skills、cron jobs、state 数据库。
创建一个写代码助手,
创建一个审查助手,
  • -clone 的意思是复制当前配置、密钥和 SOUL,但给新 profile 一套新的 sessions 和 memory。它适合创建相似但职责不同的 agent。
如果要完整复制,包括记忆、会话、skills、cron,可以用,
这里必须讲一个坑,Profile 不是 sandbox。
Profile 只是状态隔离。它隔离的是配置、记忆、会话、技能,不隔离文件权限。默认 local terminal backend 下,它仍会以当前用户身份访问文件系统。
如果只想让它在某个项目目录工作,要设置 terminal.cwd。如果要限制命令执行环境,就得用 Docker、SSH、Modal、Singularity 这类 backend。
这句话要记住,

(九)Docker 到底解决什么问题

Docker 和 Hermes 有两种关系。
第一种,把 Hermes 本体跑在 Docker 里。适合部署长期在线的服务,也能少污染宿主机环境。
第二种,Hermes 还在宿主机跑,但它执行终端命令时进 Docker 沙箱。适合不想让 Agent 直接碰宿主机的场景。
这两个不是一回事。
把 Hermes 本体跑在 Docker 里,最小形态大概是,
后台 gateway,
核心是这个挂载,
因为 /opt/data 是容器里的 Hermes 状态目录。.env、config、sessions、memories、skills、cron、logs 都在这里。没挂载,容器重建后,很多东西就没了。
只是想让 Hermes 命令执行更安全,可以先用,
这时 Hermes 本体还在宿主机,进 Docker 的只是 terminal tool。

(十)kanban

让多个 Hermes profiles 像一个小团队一样协作,Kanban 就很关键。
最新版里可以直接看,
它的描述很清楚,这是一个 durable SQLite-backed task board。任务可以被原子 claim,可以设置依赖,可以由 named profile 在隔离 workspace 中执行。
最新版继续把这件事往前推,增加了 heartbeat、reclaim、zombie detection、retry budget、incomplete exit auto-block 等能力。翻译成人话就是,以前多 Agent 很像“派出去就听天由命”,现在更像有任务板、有心跳、有失败恢复、有交接记录。
入门只需要知道这几个命令,
不要第一天就让它自动接管大项目。更适合的练习是,
这类任务失败成本低,结构清楚,适合测试 Kanban。

(十一)Cron 适合做固定任务,不适合许愿

最新版还加入了 no_agent cron,某些 watchdog 类任务只跑脚本,不必每次都启动 Agent。
我给 cron 的第一批任务通常很保守。早上出一份 AI 工具简报,晚上备份一个目录,每周审计一次 Skills,或者每天看一个网页有没有更新。这些活儿出错了也好处理。
自动发布文章、自动删文件、自动操作账号,我不建议第一天就交给它。自动化不是越猛越好,能复查、能回滚、能解释,才能长期放着跑。
排错顺序
Hermes 出问题时,最怕凭感觉乱改 .env 和 config.yaml。我一般先跑这一串,
  • command not found 多半是 shell 没重载,先 source ~/.bashrc 或 source ~/.zshrc。
  • 模型不回,先查 provider、API Key、模型名、base URL。
  • 本地模型奇怪,重点看 endpoint 是否 OpenAI-compatible、context 够不够、模型名和实际加载的是否一致。
  • Gateway 启动了却收不到消息,别急着重装,token、allowlist、pairing、home channel、平台权限逐项看。
  • 记忆没生效,先确认是不是同一个 profile,再看 session 是否恢复、MEMORY.md / USER.md 有没有写入。
  • Profile 能访问外部文件也不奇怪,profile 管状态,sandbox 才管边界。
  • Docker 重启后配置丢了,大概率是 ~/.hermes 没挂到 /opt/data。Skills 乱了,先看 hermes skills list 和 hermes skills audit,别上来手删一堆。

(十二)AI 日报助手

1. 在 CLI 里直接丢这个任务

它做完以后,不要只看内容,要纠正格式。比如,

2. 换一个要求,

连续做三天,差不多就能沉淀成 Skill,
上一篇
基础底座:OpenClaw
下一篇
基础底座:Opencode