前言¶
在 DeepSeek Harness(DSH)里做智能体或长期协作时,常见情况是:某次对话里已经说明过规则、偏好或项目背景,下一轮模型却像没听过;更麻烦的是它「以为记得」,引用的却是过期笔记。README 里用工作区统计工具举过一例:日志里写知识库 13 次、读 1 次,且第一次写之前从未读过——知识被记下来,却很少被用上。记笔记成本低,真正难的是让模型在合适的情境里想起对的条目。
向量检索按相似度匹配,容易在表述接近时捞错块。下面介绍社区插件 dsh-knowledge-canvas(维护者 NeoHotaru,SkillHub 分类:记忆):在侧栏用画布手工编辑树形知识库,并给模型一组读写工具;节点靠「什么时候该想起它」这一行触发句做情境判断,而不是靠 embedding 相似度。
这是什么¶
dsh-knowledge-canvas 是面向 DSH 的树形知识库插件:数据落在工作区本地,模型通过工具按判断读取或写入,你在右侧「知识库」面板的画布上查看和改结构。一个知识库(base)是一棵树;每个节点正文末尾应有一行以「什么时候该想起它:」开头的触发说明,大纲里展示的也是这一句,便于模型对号入座。选错节点时,画布上会露出误匹配的条目,你可以直接改那句触发语。
当前 npm 包版本为 0.4.1(以 package.json 为准)。插件不自动同步云端,也不把整段对话当日志存档;只有你我或模型显式写入的内容才会进库。
核心功能¶
侧栏面板与画布¶
安装并重启 DSH 后,侧栏会出现「知识库」面板。面板顶部有搜索、读取计数、刷新;每个 base 一行,可开关「本会话是否读取」、看阅读进度,并通过 ⋯ 菜单重命名、删除、改色、导出。画布工具栏支持缩放、适应视图、整库默认宽度、形状、颜色与布局(layers / radial / staircase / compact 四种,切换只重算默认摆放)。
常用交互(摘自 README):
| 操作 | 效果 |
|---|---|
| 点击节点 | 打开编辑器,再点关闭 |
| Shift+Enter | 开始画关联线,在目标上 Enter 完成 |
| 拖拽节点 | 移动位置,写入 layout.json |
| 按住约 0.26 s 再拖 / 从节点右拖 | 画橙色关联线(非改父级) |
| Alt + 拖拽 | 将目标设为父节点(灰线) |
| 拖到输入框 | 把该节点交给当前会话 |
| 底部「定位到…」 | 输入 id 跳转到节点 |
节点尺寸优先级:本节点设置 → base 默认 → 画布缩放。0.4.1 起字号与对比度加强,缩略视图下悬停可看大屏预览;日记类 base 还可切笔记本视图(月目录、翻页、修订历史、拖到聊天),与加密、会话隔离、存储方式无关,只是展示层变化。
模型可用的工具¶
README 以「Tools the model gets (eight)」为小节标题,表中列出如下工具:
| 工具 | 作用 |
|---|---|
knowledge_read |
读 base 或节点;不传 base 时列出 base |
knowledge_create_base |
创建带根节点的 base,立即可用 |
knowledge_write_node |
写或改节点,返回新建 id 可作 parent |
knowledge_link |
关联两节点并一行说明原因 |
knowledge_remove_node |
标记删除节点(可恢复) |
knowledge_unlink |
去掉关联,节点保留 |
knowledge_select |
为本会话开关某个 base |
knowledge_remove_base |
标记删除 base(可恢复,文件不真删) |
knowledge_show_images |
把节点内图片交给模型 |
工作区设置 → 知识库 中,可按工作区配置「记录调用过程」(默认关)、以及各 base 的索引/全文注入方式。0.4.1 支持同一 base 内混用全文与按需节点,并共享 workspace 级策略;按需索引仍会占用上下文,全文上限与大库回退行为见仓库内 MANUAL.md。
日记模式(可选)¶
面板顶部可按会话打开日记开关:该会话在对话出现值得保留的段落时写一条记录,不是按日历每天一篇,其他会话也看不到。数据存为 diary-<hash>.json,AES-256-GCM 密封;同一工作区里仍是会话隔离。0.4.1 起可在日记页选 Reply,把回复与页面摘录(回复最多 4000 字、摘录最多 8000 字)作为用户消息发给当前 Session,且不改动未发送的 composer 草稿。
首次打开工作区会种子一个名为「怎么用这个知识库」的 base,随版本升级,你已改过的节点不会被覆盖。
安装与启用¶
在 DSH 环境中执行官方安装方式:
npm install dsh-knowledge-canvas
安装后重启 DSH 一次,侧栏才会出现「知识库」面板。之后若只改面板侧逻辑,通常刷新页面即可;若改宿主侧 index.js、lib/*,需要再重启 DSH。
典型用法¶
- 安装并重启,打开目标工作区,在侧栏进入「知识库」。
- 让模型
knowledge_create_base建库,或你在画布空白处右键新建顶层节点;子节点用右键菜单或 Alt+拖拽建父子关系。 - 编辑节点正文,末尾写好「什么时候该想起它:……」;用
knowledge_select或面板开关决定本会话是否注入该 base。 - 需要时
knowledge_read读整库、索引或单节点;写作链路用knowledge_write_node、knowledge_link维护结构与关联。 - 若更习惯流水式记录,为本会话打开日记开关;要针对某页日记追问时,在笔记本视图使用 Reply。
数据目录为 <workspace>/.dsh-knowledge/,明文 JSON,可自行备份或纳入版本控制;插件不提供账号或远端同步。
适用场景与注意¶
适合需要长期、可编辑、可审计的项目记忆:架构约定、操作备忘、个人写作习惯等,且你希望模型按「情境」选条目而不是按措辞相似度撞库。画布适合看清父子与关联;触发句写得好,误召回时也容易在画布上定位并修正。
使用前请注意:
- 插件以当前 DSH 进程权限运行,安装前宜阅读 GitHub 仓库 源码与许可证,确认符合你的安全与合规要求。
- 它不是聊天自动归档;不写的不会进库。
- 日记密封防的是误读文件,不能防有意解密;密钥由 base 名派生,有源码即可还原,敏感内容需另做密钥设计。
- SkillHub 为社区插件目录,与 DeepSeek / 幻方无官方从属关系;安装命令以 README 为准,勿自行拼接未文档化的
dsh plugin add形式。
结尾¶
dsh-knowledge-canvas 把「记下来」和「用得上」拆开又接上:树形结构 + 触发句 + 侧栏画布,让知识库由你编辑、由模型按工具读写,并可在工作区内按会话开关注入。进一步了解可看 SkillHub 目录页 与 GitHub:NeoHotaru/dsh-knowledge-canvas。