前言¶
DeepSeek Harness (DSH) 提供了插件化架构,让开发者可以扩展系统能力。在构建智能体时,需要处理长期记忆、文档检索等 RAG 场景。dsh-kb-manager 是一个本地知识库生命周期插件,它通过 SQLite 原生索引和混合检索,为 Agent 提供了无需额外服务的文档管理方案。
安装与启用¶
安装该插件前,需要先确保环境已安装 DeepSeek Harness,且 Node.js 版本不低于 22.19.0。
直接执行以下命令安装:
dsh plugin add github:xiaoshi7915/dsh-kb-manager
安装完成后,可通过 Web 面板或 Headless 模式使用其功能。
核心功能¶
该插件专注于本地知识库的完整生命周期管理,主要包含以下能力:
- 多格式导入:支持将本地文件或 HTTP(S) URL 导入知识库。
- 智能分块:基于 CJK 语言感知的分块策略,能更好地处理中文、日文、韩文文本。
- 向量索引:使用
sqlite-vec进行 KNN 检索,无需额外启动向量数据库进程。 - 混合检索:结合 BM25 全文检索和向量检索,通过 Reciprocal Rank Fusion (RRF) 融合结果。
- 异步任务系统:导入和重建索引等操作通过异步任务处理,支持进度查询和取消。
- 管理功能:提供软删除(即时恢复)、物理压缩、快照/导出/导入、Web 面板等管理能力。
- 安全与审计:包含 SSRF 防护、导入路径白名单、审计日志,以及搜索结果默认标记为
untrusted: true。
典型用法¶
安装后,Agent 可以调用相关工具进行操作。以下是典型的工作流程:
- 创建知识库:调用
create_kb创建一个新的知识库实例。 - 导入文档:调用
import_document导入本地文件或 URL。该操作会返回一个job_id,通过get_job查询导入进度。 - 检索内容:调用
search_kb进行混合检索。检索结果始终会包含untrusted: true标记。 - 追溯来源:若需追溯来源,调用
get_chunk获取包含上下文和元数据的文本块。 - 删除操作:删除文档使用
delete_document,支持软删除(可重新导入恢复)。删除整个知识库使用delete_kb,需要提供confirm_token进行二次确认。
注意事项¶
- 前置依赖:必须在已安装 DeepSeek Harness 的环境中运行。
- 版本要求:需要 Node.js >= 22.19.0。
- 安全性:搜索结果默认标记为
untrusted: true,表明内容仅作为数据引用,不直接作为指令执行。 - 删除限制:
delete_kb操作需要confirm_token(60秒 TTL)进行确认,防止误删。 - 安全防护:插件内置了 SSRF 防护和导入路径白名单,限制了文件导入来源。
结尾¶
dsh-kb-manager 解决了 DeepSeek Harness 中本地知识库管理的痛点,通过 SQLite 原生索引和混合检索,为 Agent 提供了轻量级、可审计的长期记忆解决方案。相关目录与源码地址如下:
- 目录页: https://www.skillhub.cn/plugins/xiaoshi7915/dsh-kb-manager
- GitHub: https://github.com/xiaoshi7915/dsh-kb-manager