AlowEnsoul/dsh-rag-kb
DeepSeek Harness 本地 RAG 知识库插件:本地文档切片、向量化、语义检索,全程本地运行(Ollama + 纯前端/主机端)。A local-first RAG knowledge base plugin for DeepSeek Harness.
Project Overview项目介绍
A local RAG knowledge base plugin for DeepSeek Harness, adding a draggable floating panel to the page. Core capability: import local txt, md, doc, and docx files, chunk them, and perform semantic retrieval via Ollama embeddings (nomic-embed-text, 768 dimensions by default), with multiple libraries and theme switching. Use it when you need conversations grounded in local documents without cloud services. Caveat: legacy .doc files require Microsoft Word installed, and Windows is required.
本地 RAG 知识库插件,为 DeepSeek Harness 注入可拖拽悬浮面板。核心能力:导入 txt/md/doc/docx 等本地文档,切片后通过 Ollama embedding(默认 nomic-embed-text,768 维)做语义检索,支持多知识库与主题切换。使用场景:希望对话引用本地资料且完全离线运行。提示:旧版 .doc 需本机安装 Microsoft Word 才能提取,且仅支持 Windows。
请帮我了解并安装插件:【dsh-rag-kb】【https://github.com/AlowEnsoul/dsh-rag-kb】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add github:AlowEnsoul/dsh-rag-kb
把 AlowEnsoul/dsh-rag-kb 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-rag-kb · DeepSeek Harness 本地知识库插件
一个为 DeepSeek Harness(dsh)打造的本地 RAG 知识库:在页面左下角提供可拖拽的悬浮面板,把本地文档(文本 / Markdown / Word 等)切片、向量化、语义检索,全部在本地完成(Ollama + 纯前端/主机端,无第三方云服务)。
作者:AlowEnsoul · 问题或建议请反馈至:2724749416@qq.com
功能特性
- 🎈 可拖拽悬浮入口:页面左下角「知识库」按钮,可任意拖动、记忆位置、不遮挡已有功能。
- 📄 原生文件选择:点「添加文件」弹出 Windows 文件选择框,支持
.txt/.md/.json/.py/...与.doc/.docx(Word 自动提取文字)。 - 🔍 语义检索:基于 Ollama embedding + 余弦相似度,按语义而非关键词召回。
- 🗂️ 多知识库:可新建多个库,各自独立索引。
- ⚙️ 可配置:Embedding 服务地址、模型、分块大小均可在面板里调整。
- 🌗 日间 / 夜间 / 跟随系统 三档主题。
- 🖥️ 桌面控制台(可选):一键开启/关闭 harness 与 Ollama 的极简 EXE。
工作原理
浏览器(ui-kb) ──fetch /kb──▶ 主机端(rag-kb) ──curl──▶ Ollama /api/embed
▲ │
│ 分块 + 余弦检索
│ │
└── JSON 持久化 ◀──────── dsh-kb-store.json
packages/client/ui-kb(@deepseek-ai/dsh-client-ui-kb):浏览器端 UI,注入shell.overlay槽位。packages/kb/rag-kb(@deepseek-ai/dsh-rag-kb):主机端,注册/kbHTTP 路由、kb_search/kb_index/kb_status工具、JSON 持久化。- Embedding 走本机 Ollama(默认
nomic-embed-text,768 维),全程本地。
目录结构
dsh-rag-kb/
├── packages/
│ ├── kb/rag-kb/ # 主机端包(KB 存储 + embedding + /kb 路由 + 工具)
│ └── client/ui-kb/ # 浏览器端包(悬浮面板 UI)
├── launcher/ # 桌面控制台(C# 源码 + 编译说明)
├── config/
│ └── cordis.patch.yml.example # 用户补丁示例
├── README.md
└── LICENSE
安装(在你的 dsh 仓库中启用)
前提:已有 DeepSeek Harness 仓库源码(
dsh web可运行)、本机已安装并启动 Ollama。
1. 复制两个包
把 packages/kb/rag-kb 和 packages/client/ui-kb 整个复制到你 dsh 仓库的对应位置:
# 在 dsh 仓库根目录
mkdir -p packages/kb
cp -r <本仓库>/packages/kb/rag-kb packages/kb/rag-kb
cp -r <本仓库>/packages/client/ui-kb packages/client/ui-kb
2. 修改仓库配置(共 4 处)
① tsconfig.host.json 的 references 里加一行:
{ "path": "./packages/kb/rag-kb" },
② tsconfig.client.json 的 references 里加一行:
{ "path": "./packages/client/ui-kb" },
③ tsconfig.base.json 的 @deepseek-ai/dsh-* 通配符列表里加一行(让源码模式能解析 @deepseek-ai/dsh-rag-kb):
"./packages/kb/*/src",
④ packages/bundle/web-app/package.json 的 dependencies 里加两个依赖:
"@deepseek-ai/dsh-rag-kb": "workspace:^",
"@deepseek-ai/dsh-client-ui-kb": "workspace:^",
3. 注册插件行(用户补丁)
把 config/cordis.patch.yml.example 的内容合并到你的用户补丁 $DSH_HOME/cordis.patch.yml($DSH_HOME 默认是 ~/.dsh;不存在则新建):
- insert:
- id: rag-kb
name: '@deepseek-ai/dsh-rag-kb'
- id: ui-kb
name: '@deepseek-ai/dsh-client-ui-kb'
4. 安装依赖 + 构建
pnpm install
pnpm run build:lib:host
pnpm run build:lib:client
5. 重启并拉起 Ollama
- 拉取模型(首次):
ollama pull nomic-embed-text - 重启
dsh web,刷新浏览器后左下角出现「知识库」悬浮按钮。
使用
- 左下角「知识库」按钮(可拖动)→ 打开面板。
- 「配置解析模型」可调整 Embedding 服务地址 / 模型 / 分块大小(默认
http://localhost:11434/api/embed+nomic-embed-text)。 - 新建知识库 → 展开 → 「添加文件」 → Windows 选择框选中
.txt/.md/.doc/.docx(可多选)。 - 之后在对话里说「查一下知识库里关于 XX 的内容」,agent 会用
kb_search检索回答。
桌面控制台(可选)
launcher/Launcher.cs 是一个极简 C# WinForms 程序,4 个按钮:开启/关闭 harness、打开/关闭 Ollama。
编译(Windows 自带 .NET Framework 编译器,无需安装额外工具):
csc.exe /target:winexe /out:知识库服务控制台.exe ^
/r:System.Windows.Forms.dll /r:System.Drawing.dll /codepage:65001 Launcher.cs
注意:源码里的路径(
E:\deepseek\deepseek-harness、Ollama 安装路径、pnpm.cmd路径)是作者本机配置,请按你的环境修改后编译。
常见问题
| 问题 | 解决 |
|---|---|
ollama error: model "nomic-embed-text" not found |
先 ollama pull nomic-embed-text |
| 添加文件报错 / 中文路径无效 | 确认用的是最新版本(已支持 base64 传参) |
| 浏览器里没出现按钮 | 确认已重启 dsh web 且补丁文件生效 |
.doc 无法提取 |
旧版 Word 二进制格式,需要本机安装 Microsoft Word(.docx 无需) |
作者与反馈
- 作者:AlowEnsoul
- 反馈 / 建议:2724749416@qq.com
MemTensor/MemOS
zilliztech/memsearch
text2future/flowix
tinqiao-oss/engramory