核心用法
ChromaDB Memory 是 OpenClaw 生态的本地向量记忆插件,通过 ChromaDB 存储语义记忆,配合 Ollama 本地嵌入模型(默认 nomic-embed-text)实现完全离线的长期记忆能力。用户每轮对话时,插件自动将当前消息嵌入为 768 维向量,查询 ChromaDB 集合中相似度超过阈值(默认 0.5)的历史片段,并以 <chromadb-memories> 标签注入 Agent 上下文,无需手动调用。
配置需指定 ChromaDB 服务地址、集合 ID/名称、Ollama 端点及嵌入模型。支持 autoRecall 开关控制自动召回,也可通过 chromadb_search 工具手动检索。安装依赖 Docker 部署 ChromaDB(端口 8100)及本地 Ollama 服务。
显著优点
- 完全本地化:零云端 API 依赖,嵌入、存储、检索均在本地完成,隐私敏感场景友好
- 低延迟嵌入:Ollama 本地推理避免网络往返,适合高频率调用
- 自动上下文注入:每轮对话无缝召回相关记忆,降低用户操作心智负担
- 可调阈值机制:通过
minScore和autoRecallResults精细控制噪声与召回率的平衡 - 生态兼容性:标准 ChromaDB 协议,可使用任意 ChromaDB 兼容索引器导入文档
潜在缺点与局限性
- 运维复杂度:需同时维护 ChromaDB 容器与 Ollama 服务,对非技术用户门槛较高
- 硬件依赖:本地嵌入模型消耗 GPU/CPU 资源,低配设备可能出现延迟
- 无内置索引工具:文档需通过外部工具预先写入 ChromaDB,插件本身不提供数据导入能力
- token 开销:每轮固定增加约 275 tokens,极长对话场景需关注上下文窗口消耗
- 召回质量波动:纯向量相似度检索缺乏重排序机制,复杂语义关联可能漏召
适合人群
- 对数据隐私有强要求、拒绝云端记忆方案的企业/个人用户
- 已具备 Docker 运维能力、拥有本地 GPU 资源的开发者
- 需要为 Agent 构建持久化知识库的知识管理场景(如个人笔记、本地文档问答)
常规风险
- 服务可用性:ChromaDB 或 Ollama 进程异常将直接导致记忆功能失效,需监控服务健康
- 数据持久化:ChromaDB 容器默认存储配置若未挂载卷,重启后数据丢失
- 版本兼容性:Ollama 模型版本与 ChromaDB 客户端版本需匹配,升级时需同步验证
- 阈值调参成本:
minScore设置不当会导致上下文污染或记忆沉默,需反复迭代