dsh-plugin-verified-search
f0909172434
Verified current-source search workflow for DeepSeek Harness
PROJECT TOPICS
PROJECT README
一个为 DeepSeek Harness(dsh)打造的本地 RAG 知识库:在页面左下角提供可拖拽的悬浮面板,把本地文档(文本 / Markdown / Word 等)切片、向量化、语义检索,全部在本地完成(Ollama + 纯前端/主机端,无第三方云服务)。
作者:AlowEnsoul · 问题或建议请反馈至:2724749416@qq.com
.txt/.md/.json/.py/... 与 .doc/.docx(Word 自动提取文字)。浏览器(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):主机端,注册 /kb HTTP 路由、kb_search/kb_index/kb_status 工具、JSON 持久化。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
前提:已有 DeepSeek Harness 仓库源码(
dsh web可运行)、本机已安装并启动 Ollama。
把 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
① 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:^",
把 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'
pnpm install
pnpm run build:lib:host
pnpm run build:lib:client
ollama pull nomic-embed-textdsh web,刷新浏览器后左下角出现「知识库」悬浮按钮。http://localhost:11434/api/embed + nomic-embed-text)。.txt/.md/.doc/.docx(可多选)。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 无需) |
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。