name: chromadb-memory
description: 通过 ChromaDB 与本地 Ollama 嵌入实现长期记忆。自动回忆功能会在每一轮对话中注入相关上下文。无需云 API——完全自托管。
version: 1.2.0
author: matts
homepage: https://github.com/openclaw/openclaw
metadata:
openclaw:
emoji: "🧠"
requires:
bins: ["curl"]
category: "memory"
tags:
- memory
- chromadb
- ollama
- vector-search
- local
- self-hosted
- auto-recall
基于 ChromaDB 和本地 Ollama 嵌入的长期语义记忆。零云依赖。
chromadb_search 工具:手动对 ChromaDB 集合进行语义搜索。运行 ChromaDB(推荐使用 Docker):
bash
docker run -d --name chromadb -p 8100:8000 chromadb/chroma:latest
安装 Ollama 并拉取嵌入模型:
bash
ollama pull nomic-embed-text
在 ChromaDB 中索引文档:使用任何兼容 ChromaDB 的索引工具来填充你的集合。
# 1. 复制插件扩展文件
mkdir -p ~/.openclaw/extensions/chromadb-memory
cp {baseDir}/scripts/index.ts ~/.openclaw/extensions/chromadb-memory/
cp {baseDir}/scripts/openclaw.plugin.json ~/.openclaw/extensions/chromadb-memory/
# 2. 将以下配置添加到你的 OpenClaw 配置文件 (~/.openclaw/openclaw.json) 中:
{
"plugins": {
"entries": {
"chromadb-memory": {
"enabled": true,
"config": {
"chromaUrl": "http://localhost:8100",
"collectionName": "longterm_memory",
"ollamaUrl": "http://localhost:11434",
"embeddingModel": "nomic-embed-text",
"autoRecall": true,
"autoRecallResults": 3,
"minScore": 0.5
}
}
}
}
}
# 4. 重启网关服务
openclaw gateway restart
| 选项 | 默认值 | 描述 |
|---|---|---|
chromaUrl |
http://localhost:8100 |
ChromaDB 服务器 URL |
collectionName |
longterm_memory |
集合名称(自动解析 UUID,重新索引后仍有效) |
collectionId |
— | 集合 UUID(可选备用项) |
ollamaUrl |
http://localhost:11434 |
Ollama API URL |
embeddingModel |
nomic-embed-text |
Ollama 嵌入模型 |
autoRecall |
true |
是否在每轮对话中自动注入相关记忆 |
autoRecallResults |
3 |
每轮自动回忆的最大结果数 |
minScore |
0.5 |
最小相似度得分(0-1) |
minScore 的结果会作为 <chromadb-memories> 标签内容注入到智能体的上下文中。在最坏情况下,自动回忆功能每轮对话会增加约 275 个令牌(3 个结果 × 约 300 字符 + 包装文本)。相对于 20 万以上的上下文窗口,此开销可忽略不计。
minScore 提高到 0.6 或 0.7。minScore 降低到 0.4,或将 autoRecallResults 增加到 5。autoRecall: false,并使用 chromadb_search 工具。用户消息 → Ollama(嵌入) → ChromaDB(查询) → 上下文注入
↓
智能体响应
无需 OpenAI。无需云端服务。你的记忆始终保留在你的硬件上。