前言¶
DeepSeek Harness (DSH) 强调“一切皆插件”的生态理念。在本地开发或文档管理场景中,模型往往难以准确检索非结构化文本,且长期对话中的实战经验容易流失。dsh-knowledge 插件提供了一套本地化的解决方案,旨在解决文档、网页和对话经验的存储、检索与可视化问题。
插件定位¶
这是一个纯本地、零依赖的知识库插件。它利用 Node 24 内置的 node:sqlite 和 fetch 构建 FTS5 全文检索索引,将 Markdown 文本、代码和网页内容存入单文件数据库,并提供来源标注、会话经验沉淀以及知识图谱可视化功能。
核心能力¶
零依赖与中文支持¶
插件不依赖 npm 包,直接使用 Node 24 内置模块。针对中文场景,采用 FTS5 trigram 分词算法,配合短词 LIKE 兜底策略,确保中文、代码及混合文本的检索效果。
来源检索与经验沉淀¶
- 来源标注:模型检索时会返回命中片段的来源路径、标题及行号区间,强制引用。
- 经验库:支持两种经验入库方式。一是模型在解决具体问题时主动调用
kb_remember记录;二是使用kb_ingest_session读取历史会话(支持 zstd 多帧解码)进行补录。
网页剪藏与交互面板¶
- 网页剪藏:提供
kb_add_url工具,抓取网页后自动去除导航、页脚等非正文内容,转为 Markdown 入库(限制 4 MiB)。 - 交互面板:模型输出包含
kbquery围栏(如{"q":"搜索内容"})时,会渲染一个交互式搜索面板,支持实时搜索与结果查看。
知识图谱¶
提供 Obsidian 风格的力导向布局可视化。数据存储在 ~/.dsh/knowledge/kb.sqlite。通过右下角的悬浮按钮(默认位于网易资产库图标上方)进入:
- 节点大小代表内容量(文档蓝、网页绿、经验橙)。
- 支持节点拖拽、力导向布局、点击涟漪效果及详情面板查看。
- 支持节点与关联节点的物理联动。
安装与启用¶
在终端执行以下命令安装:
dsh plugin --profile web add https://github.com/dhb861832993-star/dsh-knowledge#v0.2.1
安装完成后,需要重启 dsh web,新会话才能加载插件功能。安装后可询问模型“知识库里有什么”,模型会调用 kb_stats 返回当前库状态。
典型用法¶
- 导入文档:在对话中要求模型将 Markdown 文件或文件夹导入知识库,模型会自动调用
kb_add执行递归导入。 - 检索引用:询问具体问题(如“上次 UE4.27 MCP 的端口配置是多少?”),模型会调用
kb_search并在回答中附带来源路径和行号。 - 记录经验:对话结束后,模型可主动调用
kb_remember记录本次解决问题的标题、方案和标签。 - 网页剪藏:使用
kb_add_url命令抓取指定网页并入库。 - 可视化浏览:点击右下角悬浮按钮打开知识图谱,拖动节点整理布局,或查看节点详情。
注意事项¶
- 路径限制:导入路径解析后必须落在工作区根目录内,防止越界访问。
- 类型过滤:二进制文件扩展名在黑名单中,会被自动跳过。
- 存储位置:所有数据仅写入
~/.dsh/knowledge/kb.sqlite,可进行整体备份。 - 生效时机:插件仅对重启后的
dsh web会话生效,修改数据后需重启。
生态与链接¶
该插件由社区开发者维护,遵循 MIT 许可证。完整的源码与文档可参考 GitHub 仓库。