dsh-knowledge
DSH 的 Cherry Studio 风格知识库系统插件
AI 分析
提供包含文档分段、向量嵌入、重排检索及前端管理面板的完整知识库系统。适合需要构建本地私有知识库,并让 DSH 智能体进行精准检索问答的用户。
安裝
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Soren-ABT/dsh-knowledge說明文件
閱讀完整 README ↗配置
部署默认值写在 cordis.patch.yml 的 knowledge 行(可用上层 patch 按 id 覆盖);面板里的「设置」可运行时覆盖,覆盖值持久化在存储域中:
| 字段 | 默认 | 说明 |
|---|---|---|
embeddingProvider | none | openai / ollama / local(进程内 transformers.js)/ none |
embeddingBaseUrl | '' | 端点基址,如 https://api.openai.com/v1 或 http://127.0.0.1:11434(local 不需要) |
embeddingModel | '' | 如 text-embedding-3-small;local 时为 Hugging Face 仓库 id(默认 onnx-community/Qwen3-Embedding-0.6B-ONNX) |
embeddingApiKey | '' | 可选;也可用环境变量 KNOWLEDGE_API_KEY |
rerankModel / rerankBaseUrl / rerankApiKey | '' | 重排模型(留空=不启用),Jina / SiliconFlow / Cohere v2 风格接口 |
smartChunk | true | 智能分段(标题/段落感知);关闭后仅按 chunkSeparator 切分 |
chunkSeparator | \n\n | 智能分段关闭时的段落边界(可写 \n) |
chunkSize | 800 | 分块字符数 |
chunkOverlap | 100 | 相邻分块重叠字符数 |
topK | 6 | 检索返回条数(1–50) |
searchMode | auto | auto / hybrid / vector / lexical |
similarityThreshold | 0 | 相似度阈值(0–1),低于该分数的结果被过滤 |
mmrDiversity | 0 | MMR 结果多样性(0–1,0=关闭) |
embeddingBatchSize | 32 | 每次 embedding 请求的文本条数 |
localModelCacheDir | '' | 本地模型缓存根目录;留空 = /cache/dsh-knowledge/local-models(DSH_HOME 未设则为 ~/.dsh) |
chunkStorePath | '' | 分块 SQLite 文件;留空 = /storages/knowledge-chunks.sqlite |
分块数据不放在存储域 KV 里,而是独立 SQLite 文件:web profile 的 JSON 后端每次写记录都会重写整个单元文件,数据增长后删除/导入会变慢到秒级甚至分钟级;SQLite 让每次写入/删除都是单条语句,并提供 FTS5 三元组全文检索(BM25)与查询时向量扫描、有界读取——常驻内存不随语料增长。升级后首次启动会自动把旧 JSON 单元里的分块迁入 SQLite(幂等,中断产生的重复行自动去重)。
以上所有字段均可在每个知识库的设置面板中单独覆盖(留空继承全局);API Key 以明文保存在本地存储。
本地模型(进程内 embedding)
选择 embeddingProvider: local 时,插件在 host 进程内用 @huggingface/transformers(+ onnxruntime)跑 embedding,无需任何外部服务。默认模型 onnx-community/Qwen3-Embedding-0.6B-ONNX(1024 维),embeddingModel 可换成任意 Hugging Face 上的 ONNX embedding 仓库 id。首次使用会从 Hugging Face Hub 下载模型权重(默认缓存到 $DSH_HOME/cache/dsh-knowledge/local-models);下载完成后后续导入与检索全程本地。在设置 →「本地模型」页面可提前下载 / 取消 / 删除 / 重试,并实时查看下载进度;知识库设置面板也会显示模型下载进度(下载中 % / 就绪 / 失败);可用环境变量 HF_ENDPOINT 指向镜像加速下载。
使用
- 点击侧边栏底部「知识库」按钮(设置旁),打开整页面板 —— 不在设置内。
- 点「新建知识库」,选中后粘贴文本、拖拽上传 txt/md/pdf/docx,或导入网页 URL。
- 在「检索测试」里验证召回(可切换混合/向量/关键词模式与阈值);点右上角「设置」配置向量化。
- 对 agent 说 "用知识库里的内容回答…",模型会调用
knowledge_search等 12 个工具。