前言¶
在 DeepSeek Harness(DSH)中给对话模型补充本地资料时,常见做法有两种:要么把检索结果固定拼进每轮 prompt,要么调用远程 embedding API。前者容易带入与当前问题无关的上下文,后者会引入网络依赖和外部服务。mindspeace-dsh-local-rag 的做法是把检索显式化为一个工具:模型只有在当前对话和最新用户请求不足时,才调用 search_local_memory 检索本地语料。
这是什么¶
mindspeace-dsh-local-rag 是 Spirtxiaoqi7 维护的一个独立、本地运行的混合 RAG 插件,面向 DeepSeek Harness。它为工具型对话模型暴露一个明确的 search_local_memory 工具,而不是把检索注入每一轮对话。插件采用 MIT 许可,不依赖远程 embedding API;联网仅发生在下载固定模型制品时。
它与 mindspace-dsh-session-memory 不绑定,可以单独安装或移除。
核心功能¶
模型显式调用¶
插件注册 search_local_memory 工具,由模型根据当前上下文决定是否需要检索。它不修改 chat provider,也不向 prompt 自动填充检索结果。
混合检索¶
插件同时使用向量相似度和 BM25+ 词法检索,并用 reciprocal-rank fusion 融合结果。检索采用 child-hit/parent-return 模式,并保留固定的候选限制。当向量运行环境不可用时,词法结果仍可继续使用。
两类本地语料¶
插件管理两类语料:
- 用户上传的知识文件;
- 会话隔离的 native DSH compaction summaries。
可分块摄取的文件类型包括 PDF、DOCX、TSV、CSV、TXT、Markdown、JSON 和 HTML。
语料管理¶
两类语料都支持正文查看、编辑、逻辑删除和版本回滚。
本地模型生命周期¶
插件支持本地模型下载、完整性校验、启动、停止和持久化自动启动。下载源先尝试 ModelScope,再尝试 Hugging Face。内置的已验证模型是:
shibing624/text2vec-base-chinese
规格为 ONNX、768 维度,约 407 MB。
下载、完整性校验、启动、停止和自动启动是彼此独立的操作。默认启动不会加载 ONNX,需要显式启动模型。
安装与启用¶
运行环境需要 Node.js 22.19+ 或 24+、pnpm,以及一个本地 DeepSeek Harness checkout。
下面的流程先在插件仓库中构建 tarball,再回到官方 Harness checkout 根目录安装到 web profile。请将路径替换为你自己的实际路径。
git clone https://github.com/Spirtxiaoqi7/mindspace-dsh-local-rag.git
Set-Location .\mindspace-dsh-local-rag
corepack pnpm install
corepack pnpm run build
corepack pnpm pack --pack-destination dist
$ragTgz = (Get-ChildItem .\dist\mindspace-dsh-local-rag-*.tgz | Sort-Object LastWriteTime -Descending | Select-Object -First 1).FullName
Set-Location C:\path\to\deepseek-harness
corepack pnpm dsh plugin --profile web add $ragTgz
corepack pnpm dsh --profile web --dump-config
corepack pnpm dsh web
注意:不要在插件目录内执行 pnpm dsh,该命令属于官方 Harness checkout。
安装后,打开 Settings → Local RAG 页面,即可上传文件并进行词法检索。即使 embedding model 尚未运行,也可以先使用词法检索。
典型用法¶
1、上传知识文件:在 Settings → Local RAG 中上传 PDF、DOCX、TSV、CSV、TXT、Markdown、JSON 或 HTML 文件。
2、启动本地模型:如果需要使用向量检索,按插件提供的模型生命周期操作下载、校验并启动模型。ONNX 默认不在启动时加载,需要显式启动。
3、模型检索:模型在判断当前对话和最新用户请求不足时调用 search_local_memory。首次检索只需提供 query 和 scope;如果返回了 documentId 或 sourceId,可用于同一来源的后续检索。
4、管理语料:在设置页查看正文、编辑内容、逻辑删除或回滚修订版本。
适用场景与注意¶
适合以下情况:
- 需要给 DSH 对话模型增加本地资料检索;
- 希望由模型自行决定何时检索,而不是每轮 prompt 都注入结果;
- 需要同时检索用户上传知识和会话压缩摘要;
- 希望不依赖远程 embedding API,只保留本地模型下载时的网络访问。
需要注意:
- 插件以当前 DSH 进程权限运行,安装前应检查源码、构建脚本和 MIT 许可证;
- 检索得到的文本应视为不可信证据,不能覆盖当前指令;
- 该插件不是
mindspace-dsh-session-memory,二者可独立安装; - 联网只用于下载固定模型制品,不表示使用远程 embedding API。
链接¶
- 目录页:
https://www.skillhub.cn/plugins/Spirtxiaoqi7/mindspace-dsh-local-rag - GitHub:
https://github.com/Spirtxiaoqi7/mindspace-dsh-local-rag