建议步骤
一、部署及技巧
(一)安装
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,
- 作者:红尘客
- 链接:https://notion.hhymc.top:18443/article/34da9a09-ba30-80c5-b508-dac3cb7dc93f
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
.jpg?t=34da9a09-ba30-80c5-b508-dac3cb7dc93f)




.jpg?t=366a9a09-ba30-8038-ba3b-ce59ff59cde4)
.jpg?t=35aa9a09-ba30-808b-97e7-d6a1d42e9119)
.jpg?t=351a9a09-ba30-8058-8523-ff170f9fe536)