Lazy loaded image
基础底座:Hermes部署
字数 2948阅读时长 8 分钟
2026-4-26
2026-5-21
type
Post
status
Published
date
Apr 26, 2026
summary
slug
tags
实用教程
人工智能
计算机
运维
工具
推荐
category
技术分享
icon
password
建议步骤

一、部署及技巧

(一)安装

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