🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

文档知识库 htcqp802/dsh-knowledge-base

DeepSeek Harnessv0.1.5
htcqp80279 天前有提交已提供中文文档扫描:含敏感能力

导入文档自动切块,让 agent 检索引用

32.7/100
综合分
6
GitHub 星标
571
npm 周下载
—/5
用户评分

数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-knowledge-base
npm 源 · dsh-knowledge-base 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · ui
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-knowledge-base @ 0.1.5
✓Node 引擎要求 >=22.5 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/21 08:36:53

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 27 处,展示前 27 条)
  • 写入本地文件
    lib/web.js:43
    mkdirSync(inbox, { recursive: true });
  • 写入本地文件
    lib/web.js:45
    writeFileSync(tmpPath, Buffer.from(contentBase64, "base64"));
  • 删除本地文件
    lib/web.js:72
    rmSync(tmpPath, { force: true });
  • 发起网络请求
    lib/client.js:153
    const res = await fetch(url, {
  • 发起网络请求
    lib/client.js:162
    const res = await fetch(url);
  • 写入本地文件
    lib/parse-ByetpssQ.js:59
    mkdirSync(dirname(path), { recursive: true });
  • 读取本地文件
    lib/parse-ByetpssQ.js:301
    case ".yaml": return readFileSync(filePath, "utf8");
  • 读取本地文件
    lib/parse-ByetpssQ.js:337
    data: new Uint8Array(readFileSync(filePath)),
  • 执行外部命令来自配置/变量
    lib/parse-ByetpssQ.js:438
    const result = spawnSync(cmd, [...args], {
  • 发起网络请求
    lib/pdf-BFjnxPW1.js:5103
    const response = await fetch(url);
  • 发起网络请求
    lib/pdf-BFjnxPW1.js:11745
    async fetch({ kind, filename }) {
  • 发起网络请求
    lib/pdf-BFjnxPW1.js:15571
    return fetch(url, {
  • 发起网络请求
    lib/pdf-BFjnxPW1.js:18029
    return this.binaryDataFactory.fetch(data);
  • 写入本地文件
    lib/types/kb.js:57
    mkdirSync(dirname(path), { recursive: true });
  • 读取本地文件
    lib/types/parse.js:30
    return readFileSync(filePath, 'utf8');
  • 读取本地文件
    lib/types/parse.js:63
    const data = new Uint8Array(readFileSync(filePath));
  • 执行外部命令来自配置/变量
    lib/types/parse.js:184
    const result = spawnSync(cmd, [...args], { encoding: 'utf8', timeout: 30_000, maxBuffer: 64 * 1024 * 1024 });
  • 写入本地文件
    lib/types/web.js:44
    mkdirSync(inbox, { recursive: true });
  • 写入本地文件
    lib/types/web.js:46
    writeFileSync(tmpPath, Buffer.from(contentBase64, 'base64'));
  • 删除本地文件
    lib/types/web.js:75
    rmSync(tmpPath, { force: true });
  • 写入本地文件
    src/kb.ts:87
    mkdirSync(dirname(path), { recursive: true })
  • 读取本地文件
    src/parse.ts:44
    return readFileSync(filePath, 'utf8')
  • 读取本地文件
    src/parse.ts:74
    const data = new Uint8Array(readFileSync(filePath))
  • 执行外部命令来自配置/变量
    src/parse.ts:202
    const result = spawnSync(cmd, [...args], { encoding: 'utf8', timeout: 30_000, maxBuffer: 64 * 1024 * 1024 })
  • 写入本地文件
    src/web.ts:62
    mkdirSync(inbox, { recursive: true })
  • 写入本地文件
    src/web.ts:64
    writeFileSync(tmpPath, Buffer.from(contentBase64, 'base64'))
  • 删除本地文件
    src/web.ts:92
    rmSync(tmpPath, { force: true })
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-web@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 导入文档自动切块
  • 文件夹整理文档
  • 全文搜索检索

README

由 DeepSeek 最新模型翻译生成
🐳 dsh-knowledge-base DeepSeek Harness (DSH) 通用知识库插件 文件导入 · 目录化管理 · FTS5 全文检索 · 知识库管理 UI MIT License Node Awesome DSH Plugin English · 简体中文 · Español · 日本語 dsh-knowledge-base 把文档变成 DeepSeek Harness agent 可检索的知识库:丢进一个 PDF、Word 或 Markdown 文件,自动解析、按章节切块入库,agent 即可用 FTS5(BM25)相关度排序检索。内置 Web 管理界面支持像文件管理器一样管理知识库:新建/重命名/删除目录、移动文件、浏览内容。
展开完整文档(README 剩余 1 节)
🐳 dsh-knowledge-base

DeepSeek Harness (DSH) 通用知识库插件

文件导入 · 目录化管理 · FTS5 全文检索 · 知识库管理 UI

MIT License
Node
Awesome DSH Plugin

English · 简体中文 · Español · 日本語

dsh-knowledge-base 把文档变成 DeepSeek Harness agent 可检索的知识库:丢进一个 PDF、Word 或 Markdown 文件,自动解析、按章节切块入库,agent 即可用 FTS5(BM25)相关度排序检索。内置 Web 管理界面支持像文件管理器一样管理知识库:新建/重命名/删除目录、移动文件、浏览内容。

✨ 功能特性

- 📥 导入任意文件 — md / txt / json / yml / docx / pdf,无大小限制;PDF 内置 pdfjs-dist 解析(跨平台、零系统依赖)
- 🔪 自动切块 — 按标题/段落切块,大文档拆成多条可检索条目;相邻小块自动合并,减少碎片
- 🔁 覆盖更新 — 同名文件重新导入 = 覆盖,不重复堆积
- 🗂 目录化管理 — 分类即目录:新建 / 重命名 / 删除(空)/ 移动文件,像操作系统文件管理器
- 🔍 FTS5 全文检索 — SQLite FTS5(trigram tokenizer,中文免分词)+ BM25 相关度排序;短词/异常自动回退 LIKE
- 🤖 Agent 原生工具 — kb_query / kb_import / kb_list / kb_update / kb_delete,模型在对话中直接使用
- 🖥 Web 管理界面 — 会话视图「知识库」tab:拖拽导入、目录浏览、分类管理、检索
- ⚙️ 分类体系可配置 — 默认不预置任何分类(适用于任意领域),运行时可在 UI 直接新建目录

🚀 安装

dsh plugin --profile web add dsh-knowledge-base

依赖:DeepSeek Harness(dsh)环境提供 @deepseek-ai/ 运行时;Node ≥ 22.5(内置 node:sqlite)。

🏃 快速开始

方式一:Web 界面(推荐)
1. 启动 dsh Web:dsh web(或 dsh --profile web)
2. 打开浏览器,新建会话 → 会话视图顶部切换到「知识库」tab
3. 拖拽文件导入 → 自动切块入库 → 在目录中浏览 / 重命名 / 移动
4. 在对话中让 agent 检索:"用 kb_query 查一下 ISO9001"*

方式二:Agent 工具(headless / 任意 profile)导入: 用 kb_import 导入 /path/to/手册.pdf,分类"文档",标签 ["手册"] 检索: 用 kb_query 查 "变压器" 浏览: 用 kb_list / kb_list 分类=文档修改: 用 kb_update 改 id=3 的分类为"文档" 删除: 用 kb_delete 删除 id=3

⚙️ 配置

在 profile 的 cordis.patch.yml 或安装 bundle 时配置默认不预置任何分类(适用于任意领域);未指定分类的条目归入"未分类"。
也可在 UI 中直接新建目录(持久化,无需改配置)。
- id: knowledge-base
name: 'dsh-knowledge-base'
config:
categories: # 按需配置,例如:
- 文档
- 手册

🗂 Web API(供 UI 与第三方集成)

| Method | Path | 用途 |
| POST | /api/kb/import | 上传文件(base64 JSON)→ 解析切块入库 |
| GET | /api/kb/list | 列出条目与分类 |
| GET | /api/kb/search?q= | 全文检索(FTS5 + BM25) |
| POST | /api/kb/update | 修改条目分类/标签 |
| POST | /api/kb/rename-category | 分类重命名 |
| POST | /api/kb/create-category | 新建目录(持久化) |
| POST | /api/kb/delete-category | 删除空目录 |
| POST | /api/kb/move-file | 文件移动(改分类) |
| POST | /api/kb/rename-file | 文件重命名 |
| POST | /api/kb/delete-file | 删除整个文件 |
| POST | /api/kb/delete-entry | 删除单个条目 |

🏗 架构

dsh-knowledge-base(一个 npm 包,三个插件行) ├── dsh-knowledge-base host 工具:kb_query / kb_import / kb_list / kb_update / kb_delete ├── dsh-knowledge-base/web Web 端点:/api/kb/(仅 web 组合挂载)
└── (client 半部) 会话视图「知识库」tab + 目录浏览器 UI

数据存储(默认): $DSH_HOME/knowledge-base/kb.sqlite # 知识数据 + FTS5 索引 + meta(自定义分类) $DSH_HOME/knowledge-base/inbox/ # 上传临时目录(导入后自动清理)

表:kb(id, category, name, summary, payload, tags, source, updated_at) + kb_fts(FTS5 外部内容表)+ meta(动态分类)。

🔧 开发

npm run build # tsc 类型检查 + tsdown 打包(host 半部 + client bundle)

本地验证(使用工作区内的测试 home,绝不污染 ~/.dsh)
DSH_HOME=$PWD/.dsh-home DSH_TELEMETRY_DISABLED=1 \
dsh --profile headless --patch dev-headless.cordis.yml \
"用 kb_import 导入 /tmp/测试.md,然后 kb_query 检索 '关键词'"

开源独立仓库随附 dev.cordis.yml / dev-headless.cordis.yml 用于本地验证。
开发期 @deepseek-ai/ 依赖通过 scripts/link-official-deps.mjs 链接官方 checkout(symlink),详见 AGENTS.md「依赖说明」。

🗺 路线图

- [x] 文件导入(md/txt/json/yml/docx/pdf)
- [x] 目录化管理(新建/重命名/删除/移动)
- [x] FTS5 全文检索(BM25 + 中文 trigram)
- [x] 知识库管理 Web UI
- [ ] AI 自动分类(导入端点直连 ctx.llm 结构化分类)
- [ ] 条目详情查看/编辑
- [ ] OCR(扫描版 PDF)
- [ ] 中文分词升级(自建 tokenizer 替代 trigram)

🤝 参与贡献

欢迎 PR!请先阅读 AGENTS.md(agent 开发指南)。提交前:
1. npm run build 通过
2. headless 工具链路自测通过
3. 不提交本地数据(.dsh-home/、.test-workspace/ 等,见 .gitignore)

📄 许可证

MIT © dsh-knowledge-base contributors

🔗 相关项目

- DeepSeek Harness — Everything is a Plugin
- awesome-dsh-plugin — 社区插件精选列表
- pdfjs-dist — PDF 解析引擎
预览分享卡片长什么样 ↓htcqp802/dsh-knowledge-base
分享 · DeepSeek Harness Hub
htcqp802/dsh-knowledge-base

导入文档自动切块,让 agent 检索引用

这是你的仓库?认领条目

回到顶部