官方教程中文版使用手册
使用记忆系统
理解 Hermes 的 MEMORY.md、USER.md、session_search、容量限制和外部 memory provider。
Hermes 的内置记忆是小而精的 curated memory。它不是无限日志,而是让 agent 在新 session 里立刻知道关键偏好、环境事实、项目约定和已学到的经验。
两个记忆文件
内置记忆在 ~/.hermes/memories/ 下:
MEMORY.md:agent 的个人笔记,保存环境、项目约定、工具坑、完成过的工作等。默认 2200 字符。USER.md:用户画像,保存沟通偏好、身份、习惯、明确要求等。默认 1375 字符。
它们会在 session 启动时作为冻结快照注入 system prompt。session 中途新增或修改的记忆会马上写盘,但不会在当前 system prompt 里刷新;新 session 才能看到。
memory 工具动作
agent 用 memory tool 管理条目:
add:新增记忆。replace:用old_text的唯一子串匹配并替换。remove:用old_text的唯一子串匹配并删除。
示例:
memory(
action="replace",
target="memory",
old_text="dark mode",
content="User prefers light mode in VS Code, dark mode in terminal",
)没有 read 动作,因为记忆会自动注入上下文;工具返回会展示实时状态。
该保存什么
适合保存:
- 明确偏好,例如“用户更喜欢 TypeScript”。
- 环境事实,例如“这台服务器是 Debian 12 + PostgreSQL 16”。
- 项目约定,例如测试命令、目录结构、格式规则。
- 用户纠正过的做法。
- 复杂任务完成后的关键结论。
不适合保存:
- 模糊事实,例如“用户问过 Python”。
- 很容易重新查到的通用知识。
- 日志、代码块、表格这类大段原始数据。
- 一次性临时路径。
- 已经在
SOUL.md、AGENTS.md或项目文件里的内容。
容量管理
容量满时,新增会失败并返回当前条目和使用量。正确做法不是硬塞,而是先合并、替换或删除低价值条目。超过 80% 时就应该主动压缩,把多个碎片合成一条信息密度更高的记忆。
配置:
memory:
memory_enabled: true
user_profile_enabled: true
memory_char_limit: 2200
user_char_limit: 1375session_search 和外部 provider
session_search 不是 curated memory,而是对历史会话做全文检索。所有 CLI 和 messaging session 存在 ~/.hermes/state.db,用 FTS5 搜索,再由模型总结相关片段。
hermes sessions list需要更深的长期记忆时,可以配置外部 memory provider。Hermes 支持 Honcho、OpenViking、Mem0、Hindsight、Holographic、RetainDB、ByteRover、Supermemory 等插件。它们和内置记忆并行工作,不替代 MEMORY.md / USER.md。
hermes memory setup
hermes memory status