dsh-cherry-kb:在 DSH Web 里切换知识库与记忆模式

前言

在 DeepSeek Harness(DSH)里做带上下文的对话,常见做法是本地维护一套知识库目录、用脚本做索引与检索,再单独控制「记忆」是否注入当前会话。若这些能力都散落在终端和配置文件里,dsh web 的对话界面很难和真实状态对齐:当前会话绑定了哪个库、记忆开关在三档里的哪一档,往往要切窗口或跑命令才能确认。

社区插件 dsh-cherry-kb(维护者 wanghuiym123,分类:记忆)把上述编排收进 DSH Web:在 Composer 工具栏和设置页里操作,Host 侧通过 /dsh/kb/* 路由调用本机已有的「我的知识库」工具链。它不负责分块、FTS、向量或记忆逻辑本身,只作桥接。

这是什么

dsh-cherry-kb 是面向 dsh web 的本地知识库与记忆开关插件。npm 包名为 @wanghuiym123/dsh-cherry-kb(README 对应版本 0.2.0,MIT 许可证)。

插件在 Composer 尾部工具行(模型选择器左侧)注册两个控件,并在 Settings 下提供两个分区页面;Host 半部注册 22 条 /dsh/kb/* 路由,通过 spawn 调用三个已存在于机器上的可执行文件:

可执行文件 用途
我的知识库/记忆开关 读取与设置三档记忆模式
我的知识库/idx 状态、来源、索引、搜索、嵌入模型、索引库等
我的知识库/cherry 只读访问 Cherry Studio 自有知识库

知识库根目录解析顺序:环境变量 DSH_KB_ROOT(或显式覆盖)优先;否则从内置 lib 向上查找包含 idx 文件的 我的知识库 目录。未安装该工具链时插件仍可安装并渲染 UI,但各路由会报「找不到 CLI」;包内不附带工具链,也无公开分发。

核心功能

Composer 工具行

挂载槽位 conversation.input.right,与模型选择器左侧成簇,表示「本会话可见什么」:

Seat id Order 作用
kb-chat-kb 90 选择本会话使用的知识库
kb-memory 100 三档记忆开关(始终显示当前档位)

两个控件共用同一 store,按钮与设置页上的状态一致。

设置页

槽位 settings.section:

Section id Order 作用
my-knowledge-base 50 来源列表、原生文件夹选择、一键重建索引(分阶段进度)、索引库、按来源记忆、嵌入模型选择、本地模型服务
cherry-studio-kb 55 Cherry Studio 知识库的只读视图

Host 路由

Host 在 /dsh/kb/* 下提供 22 条路由,包括但不限于:

status  toggle  update  progress  stop  token
sources  search  select  source-memory
indexes  index-delete  rebuild-vectors  models
model/service  model/list  model/loaded  model/load  model/unload
cherry/list  cherry/search  cherry/select

写操作需要 token;KbToken.ts 仅向 loopback 同源请求签发。

边界(README 明确说明)

  • Cherry Studio 知识库只读,由 KbCherry.ts 与 workspace 侧 KbSources.ts 分离实现。
  • 添加来源仅写入 我的知识库/03_证据层/来源清单.json,不会自动索引。
  • 记忆开关仅由用户在 UI 中切换,插件不会自行改动。
  • 插件不持久化自有状态,展示内容均从 CLI 实时读取。

安装与启用

先做插件安装(命令来自仓库 README):

dsh plugin --profile web add @wanghuiym123/dsh-cherry-kb

若知识库不在「安装包向上四级」的默认位置,启动 dsh web 时指定根目录:

DSH_KB_ROOT=/path/to/我的知识库 dsh web

安装前请自行查看 GitHub 仓库 源码与 MIT 许可证。DSH 插件以当前 dsh 进程权限运行,Host 路由会调用本机可执行文件,需确认路径与权限符合你的环境。

典型用法

经过上面的安装与 DSH_KB_ROOT 配置后,日常流程大致如下:

  1. 在 Composer 左侧工具簇选择本会话要用的知识库(kb-chat-kb)。
  2. 用三档记忆按钮(kb-memory)设定当前会话的记忆模式;档位与 记忆开关 CLI 一致。
  3. 打开 Settings →「我的知识库」管理来源、触发重建索引、查看进度、配置嵌入模型与本地模型服务。
  4. 在「Cherry Studio 知识库」分区浏览或检索 Cherry 侧已有库(只读,不在此插件内构建或修改)。

开发与回归时,仓库提供离线校验(不依赖 dsh 进程、浏览器或网络):

node scripts/verify-bundle.mjs   # client 产物 + host 路由表
node scripts/verify-host.mjs     # 针对 stub CLI 的路由处理器

README 注明:verify-host.mjs 使用 bash stub,不覆盖真实 CLI 与 HTTP 适配层,全绿不代表端到端已通过。

适用场景与注意

适合谁: 已在本地部署「我的知识库」工具链(记忆开关 / idx / cherry),并主要用 dsh web 对话、希望把库选择与记忆档位放进同一界面的开发者。

不适合当作: 开箱即用的 RAG 或记忆实现;索引、检索、嵌入均由外部 CLI 完成,无工具链则仅有空壳 UI。

生态说明: DSH 采用「一切皆插件」的扩展方式;SkillHub 目录页 为社区收录站点,与 DeepSeek / 幻方无官方从属关系。

安全与信任: 安装即允许插件 Host 代表你 spawn 上述三个可执行文件并读写工具链约定路径(如来源清单 JSON)。请在信任维护者与源码的前提下安装。

结尾

dsh-cherry-kb 的价值在于:在 DSH Web 里用两个 Composer 控件和两个设置页,统一编排本机「我的知识库」与 Cherry Studio 只读视图,而不重复实现索引与记忆内核。进一步了解可访问目录页 skillhub.cn/plugins/wanghuiym123/dsh-cherry-kb 与源码 github.com/wanghuiym123/dsh-cherry-kb。

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

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

Xiaoye