前言¶
在 DeepSeek Harness(DSH)里和模型协作时,产出往往是长对话、需求说明或调研结论。这些内容若只留在会话里,事后检索和沉淀都麻烦。常见做法是手动复制到笔记软件,或再套一层 MCP 做桥接——前者费手,后者多一层运行时与配置。
下面介绍社区插件 dsh-siyuan-archive(展示名「思源归档」),由维护者 YYK0402 发布。它直连思源笔记 HTTP API,零运行时依赖,不套 MCP,并提供连接、token、归档路径与权限的设置页,适合希望把 DSH 对话结果结构化落到思源的用户。
这是什么¶
dsh-siyuan-archive 是 DSH 的 web profile 插件:把 DSH 对话产出的内容归档到思源笔记,token 存入宿主凭据库;权限按「笔记本 → 文档」继承,未配置的笔记本默认读/写/删全拒。
- 仓库:YYK0402/dsh-siyuan-archive
- 社区目录:SkillHub 插件页
- 许可证:MIT(见仓库 README)
- 当前 package 版本:0.1.1
- 分类(dshhub):知识库、Web UI
DSH 生态理念是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
一条命令归档¶
归档时按路径规则生成标题与目录并写入思源:
<归档路径>/<年-月>/<类型>/<日期>_<时间>_<主题>_<内容>
正文顶部自动附带元数据表。同路径已存在则追加内容。
索引与规范¶
首次归档会在笔记本根创建「索引与规范」文档;之后每次归档会重建索引表(标题、类型、归档时间,标题列可点击跳转)。
设置页(五卡)¶
在 DSH Web → 设置 → 左侧「思源归档」:
- 连接:思源地址、保存、测试连接(显示版本号即成功)。
- API token:粘贴后保存,写入宿主凭据库,永不回显。
- 归档:加载笔记本,选择目标笔记本、归档路径、默认类型、标题模板。
- 权限:笔记本级授予读/写(归档需「写」);可展开文档对子路径收紧;未勾选默认全拒。
- 工具开关:默认开启
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 与权限范围符合你的环境。
配置步骤¶
经过上面的安装与重启,在设置页按顺序完成:
- 连接:填写思源地址 → 保存地址 → 测试连接。
- API token:粘贴 token → 保存。
- 归档:加载笔记本 → 选目标笔记本、归档路径、默认类型、标题模板 → 保存。
- 权限:给目标笔记本勾选读/写;必要时在文档级收紧 → 保存。
- 工具开关:按需开启只读、归档或删除类工具。
页脚会显示「宿主接口前缀」。若 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,可按本文安装命令与设置顺序接入。