你好,我是茂林,一个AI爱好者,最近一直在折腾OpenClaw/Hermes,踩过老多坑了。我把踩过的坑整理出来,帮你少走弯路。
解决什么问题
Hermes Agent 原生只支持全文搜索,不支持语义向量检索,找相关记忆不精准。开启语义记忆能让 Hermes 找记忆更准确,Mem0 是目前最推荐的外部记忆提供商。本文带你一步步配置。
前置条件
- 你已经安装好 Hermes Agent
- 你有一个支持 embedding (OpenAI/OpenRouter/Ollama 都可以)
- (可选)你有 OpenAI API 密钥
配置步骤
步骤 1:运行 Hermes 记忆设置命令
hermes memory setup
这个命令会引导你一步步选择配置,跟着选就行。
步骤 2:选择 Mem0 作为提供商
选项列表会显示所有支持的提供商,输入 mem0 选中它。
步骤 3:配置 embedding 模型
Mem0 需要 embedding 生成向量,你可以选三种方式:
选项 A:OpenAI(最简单)
EMBEDDING_PROVIDER=openai
EMBEDDING_MODEL=text-embedding-3-small
OPENAI_API_KEY=your-key-here
选项 B:OpenRouter(不用 OpenAI 也能用)
EMBEDDING_PROVIDER=openai
OPENAI_API_KEY=your-openrouter-key
OPENAI_API_BASE=https://openrouter.ai/api/v1
EMBEDDING_MODEL=mistralai/mistral-embed
选项 C:Ollama(本地完全免费)
EMBEDDING_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
EMBEDDING_MODEL=nomic-embed-text
先拉模型:ollama pull nomic-embed-text
步骤 4:完成配置
Hermes 会自动保存配置到 ~/.hermes/config.yaml,不用手动改文件。
步骤 5:验证配置成功
启动 Hermes,测试搜索:
从记忆中语义搜索一下关于项目配置的内容
如果能返回结果,说明配置成功了。
各 embedding 选型对比
| 选项 | 成本 | 需要本地运行 | 推荐指数 |
|---|---|---|---|
| OpenAI text-embedding-3-small | 便宜($0.02 / 1M tokens) | 否 | ⭐⭐⭐⭐⭐ |
| OpenRouter Mistral Embed | 便宜 | 否 | ⭐⭐⭐⭐ |
| Ollama nomic-embed-text | 免费 | 本地跑 | ⭐⭐⭐⭐ |
使用方法
配置好之后,你正常用命令就能用:
# 语义搜索记忆
hermes memory search "你的搜索词"
或者在对话里:
在我的语义记忆里搜索一下关于 XXX 相关的信息
Hermes 会自动调用 Mem0 返回最相关的结果放到上下文里。
优缺点对比:各个外部记忆提供商怎么选?
| 提供商 | 特点 | 适合谁 |
|---|---|---|
| Mem0 | 活跃开发,易用性好,支持多种 embedding | 大多数用户,推荐首选 |
| Honcho | 专注会话管理,适合多会话 | 需要追踪用户上下文 |
| OpenViking | 开源自建,数据完全本地化 | 隐私敏感用户 |
| Holographic | 知识图谱支持,能关联记忆 | 需要复杂知识关联 |
普通用户选 Mem0 就够了,不用想太多。
常见问题
Q:开了 Mem0 会占很多 tokens 吗?
A:只会把搜索到的最相关的几条放进来,比把所有记忆都放进来省很多 tokens。
Q:会额外花钱吗?
A:embedding 非常便宜,就算你每天搜几十次,一个月也花不了几块钱。用 Ollama 本地跑就是完全免费。
Q:能关掉吗?
A:能,运行 hermes memory disable 就关掉了,切回原生记忆。
注意事项
- Mem0 是额外扩展,不是必须装。如果你觉得 Hermes 原生全文搜索够用,不用装也能很好用。
- 第一次使用的时候会生成向量需要一点时间,耐心等一下就行。
- 本地 Ollama 虽然免费,速度比云端 API 慢一点,对速度要求高选云端。