核心用法
ChromaDB Memory 为 OpenClaw Agent 提供基于向量数据库的长期记忆能力。部署时需先启动 ChromaDB 容器(默认端口8100)和 Ollama 服务(默认端口11434),并拉取 nomic-embed-text 嵌入模型。用户需自行将文档索引至 ChromaDB 集合中,插件配置通过 ~/.openclaw/openclaw.json 完成,支持集合名称或 UUID 指定、Ollama 服务端点自定义等参数。
核心机制为自动召回(Auto-recall):每轮用户输入时,插件先将消息通过 Ollama 本地嵌入为 768 维向量,再查询 ChromaDB 获取最相似记忆,高于 minScore 阈值的结果以 <chromadb-memories> 标签注入上下文。同时提供 chromadb_search 工具供手动检索。
显著优点
- 完全离线:零调用 OpenAI/Anthropic 等云端 API,数据不出本地硬件
- 架构简洁:Ollama 嵌入 + ChromaDB 检索的标准 RAG 链路,易于理解和调试
- 召回自动化:无需显式触发,每轮对话自动检索相关历史,降低用户认知负担
- 成本可控:每轮约 275 token 的上下文注入,在 200K+ 大上下文模型中开销可忽略
- 灵活调参:相似度阈值、召回数量、开关控制均可运行时调整
潜在局限
- 基础设施负担:需用户自行维护 ChromaDB 和 Ollama 两个服务,增加了部署复杂度
- 索引门槛:文档需外部工具预先写入 ChromaDB,插件本身不提供索引能力
- 语义漂移风险:长期记忆中过时信息可能因高相似度被反复召回,缺乏时间衰减或遗忘机制
- 无多租户隔离:同一集合内记忆全局可见,多用户场景可能产生交叉污染
- 依赖特定嵌入模型:切换嵌入模型需重新索引全部文档,迁移成本较高
适合人群
隐私敏感型企业用户、需要处理本地知识库的技术团队、追求完全离线部署的 AI 应用开发者,以及已具备 Docker 和向量数据库运维经验的管理员。
常规风险
- 服务可用性:ChromaDB 或 Ollama 故障将导致记忆功能完全失效,需监控健康状态
- 数据持久化:ChromaDB 默认配置可能使用容器内存储,生产环境需挂载卷防止数据丢失
- 召回质量控制:低
minScore可能引入噪音,高阈值则可能漏掉关键上下文,需针对领域调优 - token 膨胀:虽然单次开销小,但高频对话场景下累积注入可能逼近上下文上限