你好,我是茂林,一个AI爱好者,最近一直在折腾OpenClaw/Hermes,踩过老多坑了。我把踩过的坑整理出来,帮你少走弯路。
我遇到的问题:
解决什么问题
OpenClaw 默认语义搜索需要配置 OpenAI API 生成向量,但你可能只有 Claude 或 DeepSeek 密钥,或者想用本地模型生成向量。我告诉你三种不用 OpenAI API 也能用上语义搜索的方法。
原因分析
语义搜索需要把文本转换成向量才能检索,OpenClaw 默认用 OpenAI 的 text-embedding 模型生成向量。但这不代表只能用 OpenAI,其实有多种替代方案。
三种替代配置方法
方法一:使用 OpenRouter 接入第三方 embedding 模型
OpenRouter 支持多种 embedding 模型,包括来自 Anthropic、Google、Mistral 的模型,你只需要把 OpenClaw 的配置改成 OpenRouter 端点就行。
配置步骤:
- 在
config.yaml找到 embedding 配置部分,修改成:
embedding:
provider: openai
api_key: "你的OpenRouter密钥"
api_base: "https://openrouter.ai/api/v1"
model: "mistralai/mistral-embed"
- 保存配置,重启 OpenClaw 就可以用了
优点: 不用搭本地服务,直接用 API,速度快
成本: Mistral embedding 非常便宜,1M tokens 只要 $0.1
方法二:使用 Ollama 本地 embedding 模型(完全免费)
如果你不想用云端 API,可以用 Ollama 在本地跑 embedding 模型,完全免费,数据不出本地。
配置步骤:
-
安装 Ollama(如果没装):
curl https://ollama.ai/install.sh | sh -
拉一个轻量 embedding 模型:
ollama pull nomic-embed-text -
修改 OpenClaw 配置
config.yaml:
embedding:
provider: openai
api_key: "ollama"
api_base: "http://localhost:11434/v1"
model: "nomic-embed-text"
- 重启 OpenClaw,完成!
✅ 优点:完全免费,隐私保护,不用付费
⚠️ 注意:需要你的机器有一点性能,不过 embed 对配置要求很低,普通笔记本也能跑
方法三:使用 DeepSeek 开源 embedding 模型
DeepSeek 也开源了质量不错的 embedding 模型,如果你的 OpenClaw 已经在用 DeepSeek 聊天,可以直接复用密钥:
embedding:
provider: openai
api_key: "你的DeepSeek密钥"
api_base: "https://api.deepseek.com/v1"
model: "deepseek-embedding"
验证配置是否成功
配置完可以用这个简单命令测试:
从记忆中语义搜索一下关于项目配置的内容
如果能返回结果,说明配置成功了。
各方案对比
| 方案 | 需要付费 | 需要本地部署 | 速度 | 推荐指数 |
|---|---|---|---|---|
| OpenRouter + Mistral | 是(很便宜) | 否 | 快 | ⭐⭐⭐⭐⭐ |
| Ollama 本地 | 免费 | 是 | 中等 | ⭐⭐⭐⭐ |
| DeepSeek API | 便宜 | 否 | 快 | ⭐⭐⭐⭐ |
常见问题
Q:一定要开语义搜索吗?
A:不是必须。如果你只有少量记忆,全文搜索就够用了。记忆超过十几条之后,语义搜索体验好很多。
Q:哪个模型效果最好?
A:Mistral Embed 和 nomic-embed-text 效果都不错,足够日常使用。追求极致可以用 OpenAI text-embedding-3-large。