The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Rag Kb listing page.
English | 中文
本地优先、完全离线可用的 Agent 记忆与知识服务——REST + MCP 双协议,混合检索(向量 + BM25 归一化加权融合),文档/网页入库与 RAG 问答;无 LLM 时存取与检索完整可用。
本仓库含两个子系统(ROADMAP):
| 子系统 | 一句话定位 | 状态 |
|---|---|---|
| kb | 本地优先、完全免费的 Agent 记忆与知识服务(核心产品,开发主线,当前测试开发阶段) | 测试开发中 |
| agent-orchestra | 基于 kb 共享任务板的跨任务多 Agent 协作系统(❄️ 维护模式,自用脚手架) | B1-B3 收口冻结 |
开源协议:Apache-2.0(含专利授权,可商用)。
Windows 单进程常驻(python -m kb serve),REST + MCP 双协议,向 Claude Code /
Cursor / TraeWork / 自建 Agent 提供记忆写入、文档与网页入库、混合检索
(向量 + BM25 归一化加权融合)与 RAG 问答。
无 LLM 时存取与检索完整可用——记忆写入、文档入库、混合检索不依赖任何大模型;
配置本地 Ollama 或云端 API 后,/ask 问答能力自动启用。
python -m kb serve 同时提供 REST API 与 MCP 端点,无需额外组件KB_RERANK_ENABLED=true 启用 bge-reranker-v2-m3 交叉重排(默认关)KB_SPARSE_ENABLED=true 启用 BGE-M3 稀疏向量第三路(默认关,失败自动降级双路)logs/agent-audit/<客户端>__<项目>.log(按 client+project 分文件);用户可查:REST GET /api/v1/audit?client=<客户端>[&project=<项目>] 或 CLI kb audit --client <客户端>KB_WATCH_DIR)kb add/search/stats/ask/eval/forget/dedup——终端直接完成写入、检索、统计与 RAG 问答/ask 智能路由(本地优先,难题可选云端)Windows PowerShell:
Linux / macOS:
重要:
kb命令只装在虚拟环境内。每个新终端都要先激活虚拟环境 (Windows.\venv\Scripts\Activate.ps1,Linux/macOSsource venv/bin/activate), 否则会提示kb:未找到命令。改用python -m kb <子命令>可绕过激活。快速安装备选(免虚拟环境,Python 3.10+):
pip install --user -r requirements.txt后 用python -m kb serve运行,但建议优先使用 venv 隔离依赖。
启动后健康检查:
首次启动会加载本地嵌入模型(默认 BAAI/bge-m3,约 2GB,需提前下载缓存); 未配置 LLM 时服务照常启动,
/ask返回 503 与配置指引。LLM 默认关闭(
KB_LLM_MODE=off):服务启动不会探测/加载/调用任何大模型, 零显存、零成本、纯离线;记忆写入、文档入库、混合检索完整可用。 需要 RAG 问答(/ask)时再按下面方式配置本地或云端 LLM。
/ask 问答需要)KB_LLM_MODE 默认 off(不加载不调用);四个档位:
| 档位 | 行为 |
|---|---|
off(默认) | 完全不加载/不调用 LLM;记忆存取与检索完整可用 |
local | 仅本地 Ollama(完全离线,隐私零出网) |
auto | 本地优先,云端降级:本地 Ollama 可用走本地,无本地但有云端 Key 走云端 |
cloud | 全部走云端(本地仅做压缩与隐私隔离) |
本地 LLM(Ollama):
云端 LLM(任意 OpenAI 兼容服务商,不绑定 DeepSeek): DeepSeek / OpenAI / 通义千问 / 硅基流动 / Moonshot 等均可,通用三键:
验证:GET /api/v1/healthz 的 llm 字段——local/cloud 表示 LLM 已就绪,disabled 表示未启用。
huggingface.co 会超时。设置 HF 镜像后重启即可:
模型会自动从镜像下载并缓存到 ~/.cache/huggingface/hub/,之后断网也能离线加载。kb 采用离线优先(先命中本地缓存,失败才联网),
只要缓存目录完整即可完全离线运行。把 kb 的接入规约交给 AI 客户端(TraeWork / Claude Code / Cursor / 自建 Agent), 让它们知道怎么读写记忆、按什么身份规约、怎么查审计。两种方式,任选其一:
skill(推荐,能自动触发)——可选的独立步骤:仓库内
skills/kb-memory/SKILL.md
是客户端无关的 Anthropic 开格式 skill。把它安装到你所用客户端的用户级 skills 目录后,
该客户端的任何项目会话都会在读写记忆/RAG 问答/审计查询时自动识别并触发。
安装 = 把 skills/kb-memory 目录复制过去即可(有脚本,也可手动复制,无需任何依赖);
更新(重新覆盖)、卸载、以及装好后的使用说明见
scripts/README.md。
不装也不影响 kb 服务:skill 只是给 AI 客户端的「提示词包装」,与服务的安装、 启动无关——跳过这一步,服务照常运行,你随时可用方法 2 的纯文本提示词接入; skill 安装是一次性、按需、独立执行的,不会随
kb serve自动触发, 也不会写入你的任何客户端目录以外的文件。
纯文本提示词(兜底,任何客户端通用):整段复制
docs/AGENT_PROMPT.md 粘贴给 Agent 即可,不依赖 skill 机制。
.trae-cn/skills/.claude/skills/.cursor/skills是任何客户端都认的「标准」吗?——不是。 这些只是各家客户端各自的用户级约定目录:SKILL.md本身是统一的 Anthropic 开格式, 但「装到哪个目录、能否自动触发」由各客户端自行决定,支持程度不一:
| 客户端 | 用户级 skills 目录 | 自动加载 |
|---|---|---|
| TraeWork | ~/.trae-cn/skills/ | 自动发现 |
| Claude Code | ~/.claude/skills/ | 高版本支持 |
| Cursor | ~/.cursor/skills/ | 逐步跟进 |
| 其他 / 自建 Agent | 无统一约定 | 需手动加载或不支持 |
不存在「所有客户端都遵循」的统一目录;你的客户端若不支持 skill,永远有方法 2 兜底 (粘贴
AGENT_PROMPT.md,纯文本任何客户端可用)。安装方法、各客户端目录差异与加载机制、 相互引用关系:详细见scripts/README.md(此处不重复)。
MCP 端点(streamable HTTP):http://127.0.0.1:8000/mcp/
Claude Code:本仓库已内置项目级 .mcp.json,在本目录启动 Claude Code 即自动挂载;
也可全局添加:
Cursor / TraeWork 及其他支持 MCP 的客户端:在 MCP 配置中加入以下 JSON
(Cursor 放 ~/.cursor/mcp.json 或项目 .cursor/mcp.json;TraeWork 在设置中添加 MCP 服务器):
挂载后可用的 MCP 工具:write_memory / search_memory / read_memory /
update_memory / delete_memory / add_document / add_webpage / ask_kb。
启用
KB_API_KEY鉴权后,MCP 客户端需在连接配置加headers(Authorization: Bearer <key>); 仓库内.mcp.json模板不含真实 key(JSON 不支持注释),配法见 USER_GUIDE §5.2。
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/v1/memories | 写入记忆 {content, tags?, source?, namespace?} |
| GET | /api/v1/memories | 记忆列表,支持 type/tag/source/q/limit/offset 过滤 |
| GET | /api/v1/memories/{id} | 读取单条记忆 |
| PATCH | /api/v1/memories/{id} | 更新内容或标签 |
| DELETE | /api/v1/memories/{id} | 删除单条记忆 |
| POST | /api/v1/search | 混合检索 {query, top_k?, mode?, type?, tag?},mode: hybrid/vector/keyword |
| POST | /api/v1/documents | 文档入库:multipart file 字段或 JSON {"path": "本地路径"} |
| GET | /api/v1/documents | 已入库文档列表(按 source 聚合) |
| DELETE | /api/v1/documents/{source} | 按 source 删除该文档全部记录 |
| POST | /api/v1/ingest/web | 网页入库 {url},抓取正文切分入库 |
| POST | /api/v1/ask | RAG 问答 {question};未配置 LLM 返回 503 |
| GET | /api/v1/healthz | 健康检查与服务统计 |
| GET | /api/v1/governance/stats | 记忆治理统计:total_count/avg_access_count/stale_90d_count(只读) |
| GET | /api/v1/governance/config | 治理配置:衰减+新鲜度开关与参数(只读) |
| POST | /api/v1/memories → 409 | 启用语义去重(KB_DEDUP_ENABLED=true)后写入命中重复返回 409:{"error":"DUPLICATE","duplicate_of":"<已有记录id>","similarity":<相似度>}(不写入) |
记忆治理(去重/衰减/新鲜度)均默认关闭、零行为变化;用法见 USER_GUIDE §3.5。
示例:
全部配置以 KB_ 前缀的环境变量或 .env 文件提供;完整键名见 .env.example
(复制为 .env 后填写,.env 已被 gitignore,真实密钥只放本机,严禁入库)。
| 配置项 | 默认值 | 说明 |
|---|---|---|
KB_LLM_MODE | off | LLM 模式:off(默认,不加载/不调用 LLM,零显存零成本)/ local(仅本地 Ollama)/ auto(本地优先,云端降级)/ cloud |
KB_DEVICE | 空 | 嵌入模型设备:空=自动检测,可显式设 cpu / cuda |
KB_WATCH_DIR | data | serve 模式监听目录,文件变动自动入库;空串或 . = 不启动 |
KB_DATA_DIR | kb_data | 运行数据根目录(ChromaDB、运行时状态等) |
KB_API_HOST / KB_API_PORT | 127.0.0.1 / 8000 | REST 与 MCP 监听地址 |
KB_EMBED_MODEL | BAAI/bge-m3 | 嵌入模型 |
KB_LLM_MODEL | 空 | 本地 Ollama 模型名(默认空=不配;配 KB_LLM_MODE=local/auto 时须按自己电脑选模型,以 ollama list 为准) |
KB_OLLAMA_BASE_URL | http://localhost:11434 | Ollama 端点 |
KB_LLM_API_KEY / KB_LLM_BASE_URL / KB_LLM_CLOUD_MODEL | 空 | 云端 LLM(可选):任意 OpenAI 兼容服务商(DeepSeek / OpenAI / 通义 / 硅基流动等),仅填在本机 .env |
KB_CHUNK_SIZE / KB_CHUNK_OVERLAP | 500 / 100 | 文档切分参数 |
KB_SENSITIVE_NAMESPACES | 空 | 逗号分隔的敏感 namespace,命中强制本地回答不出网 |
KB_API_KEY | 空 | 空=不鉴权(本地回环零摩擦);非空=启用 Bearer/X-API-Key 鉴权;orchestra 客户端自动带 X-API-Key 头 |
KB_RERANK_ENABLED / KB_RERANK_MODEL / KB_RERANK_TOP_N | false / BAAI/bge-reranker-v2-m3 / 20 | 检索精排(A3.5):融合候选送 CrossEncoder 重排,默认关 |
KB_SPARSE_ENABLED | false | 稀疏第三路(A3.5):BGE-M3 稀疏向量 + 倒排索引参与归一化加权融合,默认关 |
kb ask直连本地服务逻辑(不经 HTTP);建议serve停止时使用,避免双进程写库竞争。
让多个 AI 助手(不同 TraeWork 任务 / Claude Code 会话,模型可不同)通过 kb 共享任务板 协作开发:协调者 AI 拆卡分发,worker AI 领卡执行、单卡单轮、回写结果,协调者核验流转。
完整使用方法(协调者怎么拆卡、多个 worker 怎么并行、协作纪律与已知限制) 见 用户使用手册 第 4 节。
docs/superpowers/specs/2026-08-23-kb-memory-service-design.mddocs/superpowers/specs/2026-08-24-logging-design.mddocs/superpowers/plans/2026-08-24-p2-roadmap.mddocs/superpowers/plans/2026-08-23-kb-dev-nodes.mdAGENTS.md