DeepSeek Harness Hub
← 返回列表

Obsidian 笔记库导出xiaomiba0904/dsh-obsidian-export

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
⚠ 装前注意

把对话导出为 Markdown 笔记,并支持检索与双链

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/8/14 · 已提供中文文档

DeepSeek Harness (DSH) 插件:将对话导出到 Obsidian 仓库,并提供读取/搜索/列出/标签/反向链接工具以及自动仓库发现功能。

综合分
32.4
GitHub 分
32.4
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add xiaomiba0904/dsh-obsidian-export
未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-obsidian-export(未发布到 npm,仅可源码安装)
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 18:58:32

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools@deepseek-ai/schemastery@deepseek-ai/dsh-session-persistence@deepseek-ai/dsh-fs
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-obsidian-export

DeepSeek Harness (DSH) 插件,与 Obsidian vault 集成
(不依赖 Obsidian 应用——vault 只是一个存放 Markdown 文件的文件夹),
提供面向模型的工具集:导出对话,以及常见的 vault
操作 read / search / list / tags / backlinks。

工具

| 工具 | 用途 |
|---|---|
| obsidian_export | 将 DSH 对话导出为 Markdown 到 vault,具有按会话的 dedupe / create / skip / update / overwrite 语义 |
| obsidian_read | 读取一条笔记;返回正文 + 解析后的 frontmatter、首个 H1 标题、[[wikilink]] 目标、#tags |
| obsidian_search | 搜索 vault——字段 filename(路径)或 content(全文)——并按 tags 缩小范围 |
| obsidian_list | 列出 vault 路径下的 Markdown 笔记和文件夹(递归,可选 subpath) |
| obsidian_tags | 汇总 vault 中使用的不同 #tags,并附笔记计数 |
| obsidian_backlinks | 查找 [[link]] 指向给定目标的笔记(用于图谱遍历) |

obsidian_export — 导出 + 去重

- 从持久化接缝(ctx.sessionPersistence)读取会话——默认是当前
会话,或通过 sessionId,或通过 path 导入导出的
session.jsonl / session.jsonl.zstd。
- 渲染一份对话记录(user / assistant / tool calls)+ 一份 _dashboard.md
概览,并刷新 vault 的 _index.md。
- 在 /.dsh-obsidian/manifest.json 中跟踪每个会话的 内容哈希,
从而能够判断目标是否存在以及内容是否发生变化。

导出模式(判断"是否重复 / 更新 / 覆盖")

| 模式 | 新会话 | 内容已变化 | 内容未变化 |
|---|---|---|---|
| auto(默认) | create | update(原地重写) | skip |
| update | create | update | skip |
| overwrite | create | overwrite | overwrite(强制) |
| skip | create | skip | skip |
| dry-run | dry-run | dry-run | dry-run(仅报告) |

返回 { ok, action, reason, changed, note, sessionId, hash, dir }
— action ∈ create | skip | update | overwrite | dry-run | error。

来源解析顺序

1. path — 导入导出的 session.jsonl / .jsonl.zstd。
2. sessionId — 该已持久化的会话(通过 ctx.sessionPersistence.readRaw/inspect)。
3. 否则 — 当前会话(exec.agent.session.id / DSH_SESSION_ID)。

文件

- src/engine.js — 纯的、无框架依赖的导出 + manifest/去重引擎(Node ESM)。
- src/obsidian-tools.js — 基于 ctx.fs 的 vault 工具(read / search / list / tags / backlinks)。
- src/index.js — Cordis 插件:为全部六个工具进行 defineTool 接线,
使用 ctx.fs / ctx.sessionPersistence。
- cordis.patch.yml — 挂载插件行的 bundle 补丁。
- package.json — 声明 "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }。

安装到 DSH profile

从任意目录;相对路径规格锚定到你调用时的目录
dsh plugin --profile web add /absolute/path/to/dsh-obsidian-exportsh
dsh plugin --profile web add ./dsh-obsidian-export      # 或 file:/link:

dsh plugin 会将包安装到该 profile 的 node_modules 中,检测
dsh.bundle.patch 声明,并将其追加到
~/.dsh/profiles//package.json 中的 dsh.profile.bundles。

Bundle 层仅在进程启动时挂载,因此需要完全重启该 profile 才能激活该工具:
sh
停止正在运行的实例,然后
dsh --profile web         # 或 dsh web
重启前的观察步骤:使用
dsh --profile web --dump-config 确认组合(无需重启)。

该插件需要其 @deepseek-ai/* 对等包可被解析。当通过
pnpm 从某个目录以 file:/link: 方式安装时,请在插件自身的
node_modules 中提供这些包(例如符号链接到 DSH 安装的 fallback 目录),或依赖
profile 的 node_modules 提升。

模型用法

obsidian_export(vaultDir="/path/to/vault", mode="auto")                 # 当前会话
obsidian_export(vaultDir="/path/to/vault", path="exported/session.jsonl")
obsidian_export(vaultDir="/path/to/vault", sessionId="session-", mode="dry-run")

obsidian_read(vaultDir="/path/to/vault", path="Inbox/My Note.md")
obsidian_list(vaultDir="/path/to/vault", subpath="Inbox")
obsidian_search(vaultDir="/path/to/vault", query="rag")                 # 文件名匹配
obsidian_search(vaultDir="/path/to/vault", query="embedding", field="content")
obsidian_search(vaultDir="/path/to/vault", tags="pkms#research")
obsidian_tags(vaultDir="/path/to/vault")
obsidian_backlinks(vaultDir="/path/to/vault", target="Welcome")

常见工作流的模型流程:obsidian_list(查看有哪些内容)→
obsidian_read(加载一条笔记)→ obsidian_search(按
内容/标签查找相关笔记)→ obsidian_backlinks(沿图谱追踪)→ obsidian_export
(保存一次对话)。先结合 dry-run 进行导出,以预览
目标是会被创建、跳过、更新还是覆盖。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群