dshbase

插件目录 / Knowledge / dsh-obsidian-export

dsh-obsidian-export

未验证 xiaomiba0904

✓ 持续维护 基于 4 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

2Stars
1Forks
0未关闭 issue
JavaScript语言
2026-08-13最近推送
跨平台平台

功能简介

DeepSeek Harness 插件:将对话导出到 Obsidian 库,并提供读取/搜索/列表/标签/反向链接工具和自动库发现。

我们的评价
未验证 — 尚未实测

DeepSeek Harness 插件:将对话导出到 Obsidian 库,并提供读取/搜索/列表/标签/反向链接工具和自动库发现。 尚未验证——请自行安装测试。

「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

你是插件作者? 想拿到「已验证」标签——提交你自己的验证证据(截图、日志或短视频),我们审核通过后即改为「已验证」。

提交验证证据 ↗

README

dsh-obsidian-export

DeepSeek Harness (DSH) plugin that integrates with an Obsidian vault
(no Obsidian-app dependency — a vault is just a folder of Markdown files),
offering a model-facing toolset: export conversations, plus common vault
operations read / search / list / tags / backlinks.

Tools

tool purpose
obsidian_export export a DSH conversation to the vault as Markdown, with per-session dedupe / create / skip / update / overwrite semantics
obsidian_read read a note; returns body + parsed frontmatter, first H1 title, [[wikilink]] targets, #tags
obsidian_search search the vault — field filename (paths) or content (full-text) — and narrow by tags
obsidian_list list Markdown notes and folders under a vault path (recursive, optional subpath)
obsidian_tags aggregate distinct #tags used across the vault, with note counts
obsidian_backlinks find notes that [[link]] a given target (for graph traversal)

obsidian_export — export + dedup

  • Reads a session from the persistence seam (ctx.sessionPersistence) — current
    session by default, or sessionId, or imports an exported
    session.jsonl / session.jsonl.zstd via path.
  • Renders a transcript (user / assistant / tool calls) + a _dashboard.md
    overview, and refreshes a vault _index.md.
  • Tracks each session's content hash in <vault>/.dsh-obsidian/manifest.json,
    so it can tell whether the target exists and whether content changed.

Export modes (判断"是否重复 / 更新 / 覆盖")

mode new session content changed content unchanged
auto (default) create update (rewrite in place) skip
update create update skip
overwrite create overwrite overwrite (force)
skip create skip skip
dry-run dry-run dry-run dry-run (report only)

Returns { ok, action, reason, changed, note, sessionId, hash, dir }
actioncreate | skip | update | overwrite | dry-run | error.

Source resolution order

  1. path — import an exported session.jsonl / .jsonl.zstd.
  2. sessionId — that persisted session (via ctx.sessionPersistence.readRaw/inspect).
  3. otherwise — the current session (exec.agent.session.id / DSH_SESSION_ID).

Files

  • src/engine.js — pure, framework-free export + manifest/dedupe engine (Node ESM).
  • src/obsidian-tools.js — the vault tools (read / search / list / tags / backlinks) over ctx.fs.
  • src/index.js — the Cordis plugin: defineTool wiring for all six tools,
    ctx.fs / ctx.sessionPersistence use.
  • cordis.patch.yml — bundle patch that mounts the plugin row.
  • package.json — declares "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }.

Install into a DSH profile

# from any directory; relative specs anchor to your invoking directory
dsh plugin --profile web add /absolute/path/to/dsh-obsidian-export
dsh plugin --profile web add ./dsh-obsidian-export      # or file:/link:

dsh plugin installs the package into the profile's node_modules, detects the
dsh.bundle.patch declaration, and appends it to dsh.profile.bundles in
~/.dsh/profiles/<name>/package.json.

Bundle layers only mount at process boot, so a full restart of the profile is
required to activate the tool:

# stop the running instance, then
dsh --profile web         # or dsh web

Watch steps before restarting: confirm composition with
dsh --profile web --dump-config (no restart needed).

The plugin needs its @deepseek-ai/* peer packages resolvable. When installed via
pnpm file:/link: from a directory, provide them in the plugin's own
node_modules (e.g. symlink to the DSH install's fallback dir) or rely on the
profile node_modules hoisting.

Model usage

obsidian_export(vaultDir="/path/to/vault", mode="auto")                 # current session
obsidian_export(vaultDir="/path/to/vault", path="exported/session.jsonl")
obsidian_export(vaultDir="/path/to/vault", sessionId="session-<id>", 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")                 # filename match
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")

Model flow for a common workflow: obsidian_list (see what's there) →
obsidian_read (load a note) → obsidian_search (find related notes by
content/tag) → obsidian_backlinks (follow the graph) → obsidian_export
(save a conversation). Combine an export with a dry-run first to preview
whether a target would be created, skipped, updated, or overwritten.

License

MIT

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-obsidian-export」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:xiaomiba0904/dsh-obsidian-export

Headless(CLI)profile:

dsh plugin --profile headless add github:xiaomiba0904/dsh-obsidian-export

实测报告

尚未 L3 验证——若已跑过,见下方失败备注。

状态:pending
备注:验证: load-fail (0.1.0-rc.6) 浏览全部待验证失败 →

使用场景

给 agent 一套记忆、知识库或检索层,让它不再跨会话丢上下文。

适合谁

跑长项目、想让 agent 记住决策、文档和偏好而不用每次重讲的人。

二次开发建议

记忆/检索后端是缝——插新存储、调蒸馏策略,或加引用与审计轨迹。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Knowledge 里更多

浏览全部 7795 个插件 →