dsh-kb-curator:带人工审核闸门的本地三层知识库

前言

在 DeepSeek Harness(DSH)里让智能体「记住」某条信息,常见做法是把内容写进某个 Markdown 或笔记文件。这类目录往往缺少审核:原文、摘要和检索条目混在一起,事后很难核对结论是否仍与来源一致,冲突时也容易由模型自行选边。

dsh-kb-curator 是维护者 Mark-mph 发布的 DSH 组合包(bundle),向 Harness 配置里挂载只读技能 kb-curator,并附带一套无外部向量/嵌入 API 依赖的 PowerShell 知识库引擎。它把材料分层存放,并在写入可检索记忆与主题页之前,强制经过你批准提案的流程。下面介绍它解决什么问题、如何安装,以及首次落地知识库目录的步骤。

这是什么

dsh-kb-curator 在 npm 上的包名为 dsh-kb-curator(当前资料中版本为 0.1.2,MIT 许可证)。它不是单独的可执行应用,而是通过 cordis.patch.yml 向 profile 组合层插入一行 kb-curator 插件,由 lib/index.js 注册捆绑的只读技能;技能正文与引擎资源位于安装包内的 assets/kb-curator/。

技能教智能体维护本地三层知识库:L1 存原文库、L2 存带 [src:kb-YYYYMMDD-NNNN] 溯源标记的可检索命题、L3 存按分类汇总的主题页。任何未获批准的内容不得进入 L2/L3;在审核完成前,智能体只能写入 _inbox/、_review/queue/ 和 _system/log.jsonl 等约定位置。

社区目录 SkillHub 将其归类为「记忆」;GitHub 仓库:https://github.com/Mark-mph/dsh-kb-curator 。

核心功能

三层分工

层级 内容 位置 谁可写入
L1 原文库 带固定 frontmatter 的原始 Markdown,只追加、不在原位改稿 library/<category>/<subcategory>/<yyyy-mm-dd>-<slug>.md 经 kb.cmd approve 等审核流程
L2 检索层 单句命题(事实/偏好/决策/片段/技能等),可搜索 engram SQLite,经 engram_* 工具 你批准提案后由智能体写入
L3 主题页 每分类一页:综合理解、索引、未决冲突 pages/<category>.md 你批准提案后由智能体写入

设计约束包括:原文留在 L1;L2 只放提炼后的命题;L3 不放整段搬运——若需大段原文应进 L1 并链接。主题页过长(约 200 行以上)时,细节应回沉到 L1/L2。

审核闸门

提案状态流转为:inbox → 智能体写提案 → proposed → 你批准 → approved → 入库 → indexed;也可拒绝为 rejected,或要求修改为 needs_edit 后再回到 proposed。状态非 approved 的内容不能进入 L2/L3,不存在「先写进索引再等批」的路径。

溯源与冲突

引用结论需带 [src:kb-YYYYMMDD-NNNN] 指回 L1 文档。多来源矛盾时,技能定义固定仲裁顺序;顺序用尽仍无法裁决时,智能体应报告冲突而非自行选边(详见技能内 references/arbitration.md 与引擎 _system/ 规范)。

分类与引擎

init 会创建八个顶层分类目录:技术工程、产品业务、学术研究、生活健康、财务投资、人文社科、工具流程、未分类。子分类目录在首次批准该子分类文档时出现。引擎不调用付费嵌入或向量搜索 API,检索与整理依赖你已在 Harness 中使用的云端模型及本地 engram 存储。

组合包不声明可配置项;禁用或从组合中移除 kb-curator 行即可卸掉该技能。

安装与启用

运行环境需 Node.js ^22.19.0 || >=24.0.0。Peer 依赖由 Harness 解析:@deepseek-ai/cordis(资料中 README 表为 ~4.0.4,package.json 为 ^4.0.1)、@deepseek-ai/dsh-skill >=0.1.0-rc.1 <0.2.0-0。

官方安装命令如下:

dsh plugin add dsh-kb-curator

安装后会在 profile 中插入类似配置(见仓库 cordis.patch.yml):

- insert:
    - id: kb-curator
      name: 'dsh-kb-curator'

DSH 生态采用「一切皆插件」思路;SkillHub(https://www.skillhub.cn/plugins/Mark-mph/dsh-kb-curator)是社区目录站点,与 DeepSeek / 幻方无官方从属关系。安装前建议自行查看仓库源码与 MIT 许可证。插件与技能在当前 dsh 进程权限下运行,知识库目录应选在你可控、可备份的路径。

典型用法:首次创建知识库

插件不会自动替你创建知识库根目录,需自选文件夹并按 README 完成引擎拷贝与初始化。

  1. 定位技能资源目录
    安装包内 assets/kb-curator/ 含 SKILL.md、references/ 与 engine/。

  2. 整目录拷贝 engine
    将 engine/ 全部复制到你选定的知识库根;kb.ps1 以 $PSScriptRoot 自定位,引擎落在哪,根就在哪。kb.config.json 里的 root 字段仅供人读,程序不读取。

   $KB = "D:\KnowledgeBase"                     # 你的根目录
   Copy-Item -Recurse "<skill-base>\engine\*" $KB

必须完整复制,因 _system/ 规范与 _templates/ 在首次 init 前就要存在。

  1. 初始化目录树
    init 幂等:只创建缺失项,不覆盖已有内容。
   & "$KB\kb.cmd" init
  1. 查看状态
    只读报告根路径、磁盘阈值、待审/已批/已拒提案数、各层文件数等;不写日志、不改文件。资料建议在每次 ingest 或批量写入前执行。
   & "$KB\kb.cmd" status

后续 ingest、提案审核、approve 与 engram 工具细节见技能 SKILL.md 及 references/kb-cli.md、review-workflow.md 等七份参考文档。

适用场景与注意

适合:希望在 DSH 对话中让智能体持续整理个人或团队材料,又要求原文不可篡改、检索条目与主题页必须经你点头后再入库;希望避免额外向量 SaaS 账单,接受本地目录 + SQLite 检索方案。

注意:

  • 引擎入口为 Windows 友好的 kb.cmd / PowerShell(kb.ps1),在 Linux 上部署知识库根目录时需自行确认 PowerShell 可用性或按引擎 README 操作。
  • 磁盘_guard 与付费服务开关等阈值写在 kb.config.json,以引擎文档为准。
  • 勿使用资料未给出的安装方式(例如自行拼接 dsh plugin add github:...);以 README 中的 dsh plugin add dsh-kb-curator 为准。

结尾

dsh-kb-curator 把「记忆」从随手堆文件,改成 L1/L2/L3 分层、强制人工审核、带来源标记与冲突仲裁规则的本地知识库流程;安装命令一行,知识库根目录与审核节奏仍由你掌控。

  • 目录页:https://www.skillhub.cn/plugins/Mark-mph/dsh-kb-curator
  • GitHub:https://github.com/Mark-mph/dsh-kb-curator
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye