dsh-learn-wiki:边做边学的知识库插件

前言

在 DeepSeek Harness (DSH) 的生态中,构建智能体的记忆机制通常依赖于静态检索管道。一旦检索失败,管道就结束了,系统无法自动填补知识缺口。dsh-learn-wiki 插件通过引入 CRAG(Corrective RAG)式纠错检索解决了这个问题:如果知识库检索不到,它会自动学习并沉淀下来,下次直接命中。

该插件由 Dayi-Z 维护,定位为工作流插件。它不重复实现 Hindsight 的 L2 情景记忆,而是专注于 L1 Markdown 知识库存储、未命中判定以及 L3 限流联网补料。

核心架构

插件采用三层知识架构来管理知识流:

  • L1(Markdown 知识库):独立 Markdown 仓库,存储精选知识页,强命中直接注入。
  • L2(Hindsight):原始情景记忆,由既有 hindsight 插件负责语义召回,本插件不重复实现。
  • L3(网络):兜底补料,通过 ctx.web 进行限流联网。

安装

插件为纯 JS 实现,零构建步骤,依赖声明为 peerDependencies。

# 从 GitHub 安装
dsh plugin --profile web add github:Dayi-Z/dsh-learn-wiki

# 本地开发(直接链接源码目录)
dsh plugin --profile web add link:D:/Harness/dsh-learn-wiki

配置

配置来源优先级为:代码默认值 → <wikiRoot>/wiki.config.json → apply(ctx, config) 第二参数。关键配置项如下:

配置项 默认值 说明
wikiRoot D:\Harness\dsh-wiki L1 仓库根目录
autoContext true 每轮第一步自动注入检索结果
autoAcquire true 后台补料(非阻塞),触发条件由 gapTrigger 决定
gapTrigger 'struggle' 触发补料的信号:'struggle'(默认)、'miss'、'both'、'off'
hitThreshold 0.20 score ≥ 此值 → hit(注入正文)
weakThreshold 0.15 score ≥ 此值 → weak(只注入标题索引)
maxAcquisitionsPerRun 2 单次后台补料最多处理的缺口数

显式工具

除了自动机制外,插件提供一组显式工具供模型调用:

  • wiki_recall:显式检索 L1,返回三分桶判定与页面正文。
  • wiki_learn:显式沉淀一条知识(默认落 staged)。
  • wiki_harvest:从一段对话里提炼知识(当前会话或历史会话),默认落 staged。
  • wiki_sessions:读历史会话。支持 list(列表)、brief(简报)、walls(跨会话反复撞的墙)、show(详情)。
  • wiki_review:查看 staged 暂存队列与 gaps 缺口队列。
  • wiki_commit:staged → pages,唯一升入 L1 的闸门。

实现细节与注意事项

  • 暂存机制:staged/ 永不参与召回,必须 commit 才升入 L1。这限制了投毒面。
  • 溯源要求:无 sources 不 commit,每条知识必须可溯源到 URL / 文件。
  • 会话解析:会话文件使用自定义帧解析,魔数为 28 B5 2F FD。版本号从事件流头部读取,文件名仅作副本。
  • 挣扎检测:默认触发器为 struggle(卡住),而非简单的检索未命中(miss)。这避免了新话题的噪音。

获取更多

插件目录:https://www.skillhub.cn/plugins/Dayi-Z/dsh-learn-wiki
GitHub:https://github.com/Dayi-Z/dsh-learn-wiki

羽毛球分组比赛记分
小程序二维码

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

小夜