OpenClaw 记忆觉醒:告别 API 密钥,本地 Ollama 嵌入模型免费搭建语义搜索
🦞 OpenClaw 记忆觉醒:告别 API 密钥,本地 Ollama 嵌入模型免费搭建语义搜索 🚀
📢 文章摘要
当你满心欢喜部署 OpenClaw,却看到 “No API key found” 的红色报错时,是不是瞬间想摔键盘?💢 别急!本文将带你绕过那些昂贵的 API 密钥和复杂的云端配置,零成本为你的 OpenClaw 装上 本地语义记忆 的翅膀!🪽
我们将通过 Ollama + nomic-embed-text,在 Kali Linux 虚拟机中从零搭建完全免费的嵌入模型,让 OpenClaw 真正实现“过目不忘”。全文包含 NVIDIA 免费 API 的踩坑记录、Ollama 手动安装避坑指南、OpenClaw 配置实战,以及 最终效果验证。无论你是 AI 新手还是老鸟,都能轻松复现,让你的智能体拥有长期记忆!🧠
📚 目录
- 🤔 问题重现:Memory Search 为何亮红灯?
- 💸 弯路实录:与 NVIDIA 免费 API 的爱恨纠葛
- ✨ 柳暗花明:Ollama 本地嵌入模型登场
- 🔧 手把手实战:从零配置 OpenClaw + Ollama
- 🎉 最终效果:你的 AI 终于“有记忆了”!
- 🛠️ 常见问题与排错指南
- 🏁 总结与展望
1. 🤔 问题重现:Memory Search 为何亮红灯?
在 OpenClaw 的世界里,Memory Search 是一个能让智能体记住你喜好、历史对话和文档内容的超能力 💪。但启用它需要配置一个 Embedding 提供商——简单说就是把文字变成向量的“翻译官”。
如果你像我一样,没有 OpenAI、Google 的付费 API 密钥,或者申请了免费 API 却遇到各种玄学问题,终端就会无情地刷屏:
Memory search is enabled but no embedding provider is configured.
Semantic recall will not work without an embedding provider.
No API key found for provider "openai".
那一刻,心情就像满怀期待打开宝箱,却发现钥匙丢了…… 🔑💔
2. 💸 弯路实录:与 NVIDIA 免费 API 的爱恨纠葛
为了省钱,我盯上了 NVIDIA 免费 Embedding 模型(比如 nv-embedqa-e5-v5、nv-embedcode-7b-v1)。心想:大厂免费,总该香吧?结果却踩了两个大坑:
- 参数不兼容:部分模型必须在请求中带上
input_type字段(query或passage),而 OpenClaw 默认不会自动添加,导致请求直接报错The model expects an input_type...。 - 认证机制特殊:OpenClaw 不读取环境变量,而是从
auth-profiles.json里读密钥,配置起来像在走迷宫。
我疯狂测试 curl、修改 JSON、反复重启 OpenClaw,甚至怀疑自己是不是该去写个 OpenClaw 插件……😫 最终,在浪费了整整一个下午后,我决定——放弃云端,拥抱本地。
3. ✨ 柳暗花明:Ollama 本地嵌入模型登场
Ollama 是一个开源工具,能在本地轻松运行大语言模型,同样也支持嵌入模型。它完全免费、无 API 限制、数据私密,而且配置简单到令人感动!
我们选择了两个超赞的嵌入模型:
| 模型 | 特点 | 适合场景 |
|---|---|---|
| nomic-embed-text | 轻量(274 MB)、速度快、性能接近 OpenAI text-embedding-3-small | 大多数通用场景,性价比之王 🌟 |
| bge-m3 | 多语言、支持密集和稀疏检索,MTEB 榜首 | 多语言文档、高精度检索需求 |
本文以 nomic-embed-text 为例,因为它足够小巧,新手友好。
4. 🔧 手把手实战:从零配置 OpenClaw + Ollama
4.1 📦 安装 Ollama(附网络难题解决方案)
我的环境是 Kali Linux 虚拟机,网络访问 GitHub 经常抽风,所以采用手动下载 + 传输的方式。
① 在可联网的机器上下载安装包
访问 Ollama Releases,下载 ollama-linux-amd64.tar.zst。
② 将文件传入 Kali 虚拟机
如果虚拟机与宿主机网络互通,可以在 Windows 上用 Python 快速开启 HTTP 服务:
cd 存放文件的目录
python -m http.server 8000
然后在 Kali 中执行:
wget http://<宿主机IP>:8000/ollama-linux-amd64.tar.zst
如果网络不通,也可以使用 VMware 共享文件夹 或 U 盘 复制。
③ 解压并安装
# 安装解压工具(如果还没有)
sudo apt update && sudo apt install zstd -y
# 解压
tar --zstd -xvf ollama-linux-amd64.tar.zst
# 将可执行文件移动到系统路径
sudo mv ollama /usr/local/bin/
# 检查版本
ollama --version
如果显示版本号,恭喜!Ollama 已安装成功 🎉
4.2 🚀 启动服务并拉取高性能嵌入模型
-
启动 Ollama 服务(前台运行方便观察)
ollama serve保持这个终端窗口打开。如果希望后台运行,可以使用:
nohup ollama serve > ollama.log 2>&1 & -
拉取 nomic-embed-text 模型
打开另一个终端,执行:ollama pull nomic-embed-text等待下载完成(根据网速,通常 1-2 分钟)。如果网络不稳定,可以多试几次。
-
验证模型已就绪
ollama list输出中应包含
nomic-embed-text:latest。
4.3 ⚙️ 配置 OpenClaw 接入本地嵌入引擎
OpenClaw 的配置通过 openclaw config set 命令进行,我们只需设置几个参数:
# 启用记忆搜索
openclaw config set agents.defaults.memorySearch.enabled true
# 指定使用 ollama 作为提供者
openclaw config set agents.defaults.memorySearch.provider ollama
# 设置嵌入模型名称(必须与拉取的一致)
openclaw config set agents.defaults.memorySearch.model nomic-embed-text
# (可选)如果 Ollama 不在默认地址,可以指定 baseUrl
# openclaw config set agents.defaults.memorySearch.baseUrl http://localhost:11434
注意:现在 OpenClaw 不再需要任何
auth-profiles.json中的 API 密钥,因为我们用的是本地服务!🎯
4.4 ✅ 验证记忆系统是否就绪
-
彻底重启 OpenClaw
pkill -9 -f openclaw openclaw -
在另一个终端查看记忆状态
openclaw memory status --deep期望的输出如下(关键信息已高亮):
Memory Search (main) Provider: ollama (requested: ollama) ✅ Model: nomic-embed-text ✅ Embeddings: ready ✅ Vector: ready ✅ FTS: ready ✅看到这些绿色对号,你的 OpenClaw 就已经拥有了本地语义记忆能力!🎊
5. 🎉 最终效果:你的 AI 终于“有记忆了”!
现在,你的 OpenClaw 智能体可以做到:
- 智能检索:当你提到“上次那个关于 Python 的问题”,它会自动找出相关历史。
- 长期对话连贯:无论时间跨度多长,它都能回忆起关键信息。
- 完全免费:不消耗任何 API 额度,无限次使用。
- 隐私安全:所有向量数据和模型运行都在本地,绝不外泄。
你可以手动触发索引:
openclaw memory index
或者通过 openclaw memory stats 查看索引统计。
6. 🛠️ 常见问题与排错指南
| 现象 | 原因 | 解决办法 |
|---|---|---|
ollama: command not found |
未正确安装或路径未加入 PATH | 检查 sudo mv ollama /usr/local/bin/ 是否成功,重新登录终端 |
Warning: could not connect to a running Ollama instance |
Ollama 服务未启动 | 执行 ollama serve 或后台运行 nohup ollama serve & |
| 拉取模型超时 | 网络问题 | 设置代理 export HTTP_PROXY=http://proxy:port 后重试,或更换网络环境 |
OpenClaw 显示 Embeddings: unavailable |
OpenClaw 无法连接到 Ollama | 确保 Ollama 在 localhost:11434 运行,可用 curl http://localhost:11434/api/tags 测试 |
仍然提示 No API key found |
配置中 provider 不是 ollama |
检查 openclaw config get agents.defaults.memorySearch.provider 是否为 ollama |
7. 🏁 总结与展望
通过这次折腾,我不仅解决了 OpenClaw 的记忆功能,还收获了一个 完全免费、高性能的本地嵌入服务。整个过程虽然绕了一些弯路,但最终结果是令人兴奋的——你的 AI 助手终于不再是“金鱼记忆”了!🐟➡️🐘
下一步,你还可以:
- 尝试更换更强大的模型,如
bge-m3,只需ollama pull bge-m3然后修改配置。 - 结合 OpenClaw 的文档索引功能,构建个人知识库。
- 将这套方案应用到树莓派、云服务器等更多环境中。
如果你也遇到过类似配置难题,欢迎在评论区留言交流! 让我们一起打造更智能、更自由的 AI 应用。🤝
本文配置均已在 Kali Linux 2026.1 + OpenClaw 2026.3.13 环境下验证通过。
部分命令可能因版本差异略有不同,请灵活调整。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)