Skip to content

Ollama+LanceDB本地向量记忆配置指南:4步配置+4个踩坑实录

2026年4月25日

Ollama+LanceDB本地向量记忆配置指南:4步配置+4个踩坑实录

用过AI的人都遇到过这个问题:聊了半小时交代了背景,下一次对话它就全忘了。云端向量数据库能解决,但隐私顾虑、额度限制、费用都是坎。这套方案:Ollama + LanceDB,本地运行,隐私安全,不花一分钱。

为什么是Ollama + LanceDB

组件说明
OllamamacOS上跑本地大模型最简单的方式,一行命令启动,不需要配置CUDA、Python环境
LanceDB专为本地设计的向量数据库,轻量、嵌入OpenClaw生态,开箱即用

两者结合,你的AI对话会被自动编码成向量存入本地。下次对话时,OpenClaw自动Recall相关记忆——这件事发生在你的硬盘上,不经过任何云服务。

第一步:安装Ollama和模型

bash
# 安装 Ollama
brew install ollama

# 启动服务(注意:这步经常被忽略)
ollama serve

# 安装对话模型
ollama pull gemma3:12b

# 安装向量embedding模型
ollama pull nomic-embed-text

第二步:配置Ollama Provider

⚠️ 禁止手动编辑JSON配置文件——OpenClaw有配置校验,不合法的配置会被秒级回滚。

必须用CLI命令:

bash
openclaw config set models.providers.ollama.apiKey "ollama-local"
openclaw config set models.providers.ollama.api "ollama"
openclaw models set ollama/gemma3:12b

不需要手动设置baseUrl,OpenClaw默认用http://localhost:11434

第三步:启用LanceDB插件

bash
# 指定 memory 插槽用 lancedb
openclaw config set plugins.slots.memory "memory-lancedb"
openclaw config set plugins.entries.memory-lancedb.enabled true

# 配置 embedding(关键!baseUrl 必须加 /v1)
openclaw config set plugins.entries.memory-lancedb.config.embedding.baseUrl "http://localhost:11434/v1"
openclaw config set plugins.entries.memory-lancedb.config.embedding.model "nomic-embed-text"
openclaw config set plugins.entries.memory-lancedb.config.embedding.dimensions 768

# 关闭 memory-core,避免插件冲突
openclaw config set plugins.entries.memory-core.enabled false

第四步:重启Gateway

bash
kill $(lsof -ti :18789)
launchctl load -w ~/Library/LaunchAgents/ai.openclaw.gateway.plist

验证是否正常

bash
# 检查插件状态
openclaw plugins list | grep memory

# 验证 embedding API
curl -X POST http://localhost:11434/v1/embeddings \
  -H "Content-Type: application/json" \
  -d '{"model":"nomic-embed-text","input":"hello"}'
# 应返回 768 维向量

# 检查 LanceDB 目录
ls ~/.openclaw/memory/lancedb/

4个踩坑实录

坑1:手动编辑JSON → 配置被秒级回滚

项目内容
现象直接修改openclaw.json,Gateway重启后配置消失
根因OpenClaw的配置校验会发现非法配置并自动撤销
教训所有配置走openclaw config set,不碰JSON文件

坑2:embedding baseUrl没加/v1 → recall 404

项目内容
现象LanceDB recall一直报404
根因主模型API和embedding API是两回事
教训主模型/api/chat不能用/v1,但embedding必须用/v1/embeddings
主模型端点:http://localhost:11434/api/chat(不能用/v1)
Embedding端点:http://localhost:11434/v1/embeddings(必须用/v1)

坑3:遇到问题自己试了2小时 → 没有先查文档

项目内容
现象越试越乱,方向完全跑偏
教训遇到问题先搜官方文档/教程,"先搜再动手"能省下大量时间

坑4:memory-core没关 → 两个插件冲突

项目内容
现象recall行为异常,一会儿有一会儿没有
根因plugins.slots.memory同时只能用一个插件
教训启用lancedb后,立刻把memory-core设为disabled

小结

这套方案跑通后,你的AI对话会形成自动积累的长期记忆。每次对话结束,相关内容自动存入本地向量库;新对话来临时,自动召回最相关的那几条。

三大优势

  • ✅ 全程本地运行,数据不出硬盘
  • ✅ 不花钱,不限额度
  • ✅ 不牺牲隐私

配置就四步:装模型、配provider、启插件、重启。坑已经替你踩完了,照着走就行。

作者配置环境:M1 Pro 32GB macOS,OpenClaw Gateway + Ollama gemma3:12b + nomic-embed-text

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来