dsh-knowledge-graph:在 DSH 里做本地知识库与 Obsidian 风格关系图

前言

在 DeepSeek Harness 里和 Agent 对话,有价值的内容往往散落在聊天记录里:划词、整段回答、自己发的消息,事后很难按「概念—关联」去检索,也很难让模型在回答时稳定引用你已沉淀的知识。把笔记丢进外部笔记应用可以,但和 DSH 的对话流、Agent 工具体系是割裂的。

下面介绍社区插件 dsh-knowledge-graph(维护者 3722593qq)。它在 DSH 数据目录下维护一套本地 Markdown 知识库:界面上一键存入原始资料,后台用当前模型整理成 wiki 页面,左侧栏提供 Obsidian 式 [[链接]] 与力导向关系图;Agent 侧只有只读工具,并靠全局规则约束「先读索引、再读页、末尾标注来源」。插件在 SkillHub 目录中归类为「记忆」,仓库采用 MIT 许可证,当前 Release 版本为 0.1.3。

这是什么

一句话:给 DeepSeek Harness 用的本地知识库 + Obsidian 风格 wiki + 力导向关系图。

写入只来自界面操作(划词、消息右键、回答下方书形图标);整理与建链在后台串行队列完成。Agent 不能通过工具改知识库,只能读 index.md、单页 wiki、搜索与局部子图。

核心功能

从对话写入知识库

  1. 选中文字后出现「存入知识库」浮动按钮;右键菜单也可保存。
  2. 每条 AI 回答下方有书形图标,可一次保存整条回答。
  3. 在「我发的消息」上右键,可直接存该条消息。

保存不弹窗:立刻在 资料/ 写入一条只读原始笔记,并立刻创建 wiki 草稿页;随后在后台用当前模型整理成 概念 / 人物 / 事物 / 事件 下的页面。整理队列严格串行;失败会写入 log.md 和面板的「最近结果」,不阻塞下一条。

知识图谱页面

左侧栏打开「知识图谱」:左侧为关系图(Markdown 文件为节点,[[ ]] 为边),右侧为正文。力导向图支持缩放、拖节点、搜索高亮、按层数显示局部子图(默认当前页周围 2 层,可调 1–5 层)。数据更新时沿用同一模拟状态,已有节点坐标与视图保留。

正文标题栏有删除按钮:二次确认后删除当前 wiki 页面,并清理其他页面指向它的关联;资料/ 原文保留。整理队列正在运行时拒绝删除,避免后台整理把页面写回。

Agent 只读与引用习惯

工具 作用
knowledge_index 读取 index.md
knowledge_read 读取一页 wiki 或索引
knowledge_search 搜索标题、摘要、正文
knowledge_graph 读取局部关系图

全局规则要求:问题可能相关时先 knowledge_index,再 knowledge_read 相关页;回答末尾写 知识来源:[[wiki/...]]。

知识库目录结构

默认位于 DSH 数据目录(Linux/macOS 一般为 ~/.dsh/knowledge/,Windows 一般为 C:\Users\<你>\.dsh\knowledge):

~/.dsh/knowledge/
├── 资料/                 # 保存后不再修改的原始笔记
├── wiki/
│   ├── 概念/
│   ├── 人物/
│   ├── 事物/
│   └── 事件/
├── index.md              # 每次保存/整理后全量重写
└── log.md                # 每次整理追加一行

可用 Obsidian 直接打开该目录;页面内链接形如 [[wiki/概念/页面]]。宿主会在写入后补齐反向链接,并全量重建 index.md。

wiki 页面带 YAML 头(title、category、summary、updated 等),正文含定义、关键点、资料补充与关联;仅当资料冲突时出现「矛盾与不同说法」小节。

安装与启用

环境要求(以仓库说明为准):

  • DeepSeek Harness >= 0.2.0-rc.2
  • Node ^22.19.0 || >= 24.0.0
  • 插件无额外构建步骤,仓库内 lib/*.js 可直接加载

从 GitHub 安装(推荐)

dsh plugin --profile <profile> add github:3722593qq/dsh-knowledge-graph

从 Release 包安装

dsh plugin --profile <profile> add https://github.com/3722593qq/dsh-knowledge-graph/releases/download/v0.1.3/dsh-knowledge-graph-0.1.3.tgz

安装后若左侧栏未出现「知识图谱」,需要完全退出并重新启动 DeepSeek Harness(不是仅关闭窗口到托盘或刷新页面)。例如删除 wiki 页依赖宿主注册的 POST /knowledge-graph/api/delete;若浏览器已是新版 client 而宿主仍是旧版,删除可能返回 HTTP 405,同样需要重启宿主后才会得到正常响应。

可选配置示例(改知识库根目录;模型默认跟随 agentDefaultModel.currentSelection(),可用 provider / model 覆盖,maxTokens 默认 4000):

- id: knowledge-graph
  name: dsh-knowledge-graph
  config:
    rootDir: D:/notes/knowledge   # 绝对路径,或相对 $DSH_HOME 的路径

测试场景还可使用环境变量 DSH_KNOWLEDGE_DIR。

典型用法

  1. 在对话中划词或保存整条回答 / 自己的消息。
  2. 打开左侧「知识图谱」,在图中点选节点或在右侧阅读整理后的 wiki。
  3. 需要时用搜索高亮、调节「局部」层数查看邻域。
  4. 与新对话中的 Agent 提问:模型在规则约束下会先查索引与相关页,并在回答末尾标注 知识来源:[[wiki/...]]。
  5. 误建的 wiki 页可在正文标题栏删除;原始 资料/ 仍保留作审计输入。

适用场景与注意

适合谁:希望在 DSH 内闭环「对话 → 沉淀 → 结构化 wiki → Agent 只读检索」的开发者;已习惯 Obsidian 式 [[wikilink]] 与关系图浏览的用户。

运行与信任边界:插件以当前 DSH 进程权限读写你配置的知识库目录(默认在用户主目录下的 .dsh/knowledge),并调用你配置的模型做后台整理。安装前建议阅读 GitHub 源码 与 MIT 许可证,确认路径与模型配置符合你的环境。

已知限制(仓库自述):页面分类由模型推断,偶有误判,宿主仅对明显误判做保守纠正;关系图将 wiki 链接当作无向边展示;重复链接只画一条。原始 资料/ 不可变,Agent 无写工具。

DeepSeek Harness 生态强调「一切皆插件」;SkillHub 插件目录 为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-knowledge-graph 把「划词/消息入库、模型整理 wiki、力导向图谱浏览、Agent 只读检索」串在同一套本地 Markdown 树上,适合把 DSH 对话当成长期知识输入源。进一步了解可看目录页 SkillHub:dsh-knowledge-graph 与仓库 github.com/3722593qq/dsh-knowledge-graph。

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

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

小夜