DSH 思源归档插件:把对话产出写入思源笔记

前言

在 DeepSeek Harness(DSH)里和模型协作时,产出往往是长对话、需求说明或调研结论。这些内容若只留在会话里,事后检索和沉淀都麻烦。常见做法是手动复制到笔记软件,或再套一层 MCP 做桥接——前者费手,后者多一层运行时与配置。

下面介绍社区插件 dsh-siyuan-archive(展示名「思源归档」),由维护者 YYK0402 发布。它直连思源笔记 HTTP API,零运行时依赖,不套 MCP,并提供连接、token、归档路径与权限的设置页,适合希望把 DSH 对话结果结构化落到思源的用户。

这是什么

dsh-siyuan-archive 是 DSH 的 web profile 插件:把 DSH 对话产出的内容归档到思源笔记,token 存入宿主凭据库;权限按「笔记本 → 文档」继承,未配置的笔记本默认读/写/删全拒。

DSH 生态理念是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

核心功能

一条命令归档

归档时按路径规则生成标题与目录并写入思源:

<归档路径>/<年-月>/<类型>/<日期>_<时间>_<主题>_<内容>

正文顶部自动附带元数据表。同路径已存在则追加内容。

索引与规范

首次归档会在笔记本根创建「索引与规范」文档;之后每次归档会重建索引表(标题、类型、归档时间,标题列可点击跳转)。

设置页(五卡)

在 DSH Web → 设置 → 左侧「思源归档」:

  1. 连接:思源地址、保存、测试连接(显示版本号即成功)。
  2. API token:粘贴后保存,写入宿主凭据库,永不回显。
  3. 归档:加载笔记本,选择目标笔记本、归档路径、默认类型、标题模板。
  4. 权限:笔记本级授予读/写(归档需「写」);可展开文档对子路径收紧;未勾选默认全拒。
  5. 工具开关:默认开启 siyuan_archive;删除类工具默认关闭。

六个工具

工具 分组 权限 说明
siyuan_list_notebooks 只读 无 列出笔记本名与 id
siyuan_search 只读 读 全文检索,无权限命中会被过滤并提示条数
siyuan_read_doc 只读 读 读文档(text / markdown)
siyuan_archive 归档 写 归档内容(附元数据表);更新「索引与规范」
siyuan_delete_block 危险 删 删除内容块(需 confirm=true)
siyuan_remove_doc 危险 删 删除整篇文档(需 confirm=true)

权限模型

  • 未显式配置的笔记本:读/写/删全拒。
  • 笔记本级勾选 = 授予,自动继承到其全部子文档。
  • 文档级开关 = 显式拒绝(收紧):只能关掉继承来的权限,不能凭空放开。
  • 判定在每次工具调用发请求前执行;siyuan_list_notebooks 只暴露名/id,不设权限。

前置条件

  • Node ≥ 22,dsh(web profile);插件要求 dsh 版本 >=0.1.5-rc.1 || >=0.1.6-0 || >=0.1.7-0。
  • 思源笔记已开启 API token(思源 → 设置 → 关于 → API token)。
  • baseUrl 以 dsh 进程所在机器 的视角访问思源(默认 http://127.0.0.1:6806)。

安装与启用

先从 GitHub 安装(推荐;纯 JS 无构建步骤):

dsh plugin --profile web add github:YYK0402/dsh-siyuan-archive#main

本地开发可使用 link:

dsh plugin --profile web add /path/to/dsh-siyuan

发布到 npm 后可用:

dsh plugin --profile web add dsh-siyuan-archive

安装后需重启 dsh web 进程(宿主半场 lib/index.js 改动必须重启;客户端半场会热更新)。

插件以当前 dsh 进程权限运行,安装前应自行查看仓库源码与 MIT 许可证,确认连接地址、token 与权限范围符合你的环境。

配置步骤

经过上面的安装与重启,在设置页按顺序完成:

  1. 连接:填写思源地址 → 保存地址 → 测试连接。
  2. API token:粘贴 token → 保存。
  3. 归档:加载笔记本 → 选目标笔记本、归档路径、默认类型、标题模板 → 保存。
  4. 权限:给目标笔记本勾选读/写;必要时在文档级收紧 → 保存。
  5. 工具开关:按需开启只读、归档或删除类工具。

页脚会显示「宿主接口前缀」。若 DSH 挂在路径前缀下(例如 https://example.com/dsh/),设置页通常会自行定位前缀;反代需保留 Host 并正确剥前缀,否则 DSH 自身可能 403/404。若前缀无法自动定位,可在浏览器控制台执行一次:

localStorage.setItem('dsh-siyuan-archive.apiBase', '/dsh')

nginx 反代示例见仓库 README(location /dsh/、proxy_pass 尾斜杠、Host 与 X-Forwarded-Proto)。

典型用法

在对话里直接说明意图,模型会调用 siyuan_archive 等工具。README 中的示例:

把下面这段需求归档到思源,主题「合同系统二期」,类型「需求」

会生成类似 /<归档路径>/2026-09/需求/2026-09-26_xxxx_合同系统二期_xxx 的文档,正文为元数据表加内容,并更新笔记本根的「索引与规范」索引表。

只读场景可在权限中仅授予「读」,并打开 siyuan_search、siyuan_read_doc;删除类工具默认关闭,启用前应在权限模型下明确「删」的授予范围。

适用场景与注意

适合谁

  • 已在用思源笔记,并希望 DSH 对话产出按年月、类型、主题落盘的用户。
  • 需要笔记本/文档级读写删控制、不希望默认对全部笔记本开放 API 的场景。
  • 希望直连思源 API、不引入 MCP 运行时依赖的 DSH web 部署。

注意

  • token 与网络可达性以 dsh 宿主所在机器为准;远程思源需填可从宿主访问的 baseUrl。
  • 删除工具需 confirm=true,且须在权限中显式授予「删」;默认关工具、默认全拒权限是为了降低误删面。
  • 社区目录星标等统计以站点展示为准;功能细节以 GitHub README 与仓库 CHANGELOG 为准。

结尾

dsh-siyuan-archive 把「对话 → 结构化归档 → 思源索引」收成一条链路,并配上连接、凭据与权限设置页。若你的知识库在思源、对话在 DSH,可按本文安装命令与设置顺序接入。

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

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

Xiaoye