前言¶
在 DSH 開發流程裏,會話內容常常只停留在進程內或持久化文件中。若要把它沉澱到本地知識庫,常見做法是人工導出、整理 Markdown、再放進一個 vault 目錄。
dsh-obsidian-export 是一個 DeepSeek Harness(DSH)插件。它把 vault 當作一個 Markdown 文件夾來處理,不依賴 Obsidian 應用本體,並提供一組模型可調用的工具:導出會話、讀取筆記、搜索內容、列出目錄、聚合標籤、查找 backlinks。
下面介紹它的定位、功能、安裝方式和典型用法。
這是什麼¶
dsh-obsidian-export 由 xiaomiba0904 維護,倉庫地址是:
https://github.com/xiaomiba0904/dsh-obsidian-export
它定位爲一個 DSH 插件,核心目標是:
- 將 DSH 會話導出爲 Obsidian vault 中的 Markdown 文件;
- 在 vault 中提供讀取、搜索、列目錄、標籤統計和 backlinks 查詢等工具;
- 不需要依賴 Obsidian 應用,vault 被視爲一個存放 Markdown 文件的目錄。
許可證爲 MIT。
核心功能¶
插件提供六個模型側工具。
obsidian_export¶
用於把 DSH 會話導出到 vault 中,生成 Markdown 內容。
資料中提到的能力包括:
- 默認導出當前會話;
- 支持通過
sessionId指定某個持久化會話; - 支持通過
path導入session.jsonl或session.jsonl.zstd; - 支持不同導出模式,包括
create、skip、update、overwrite、dry-run。
obsidian_export 的導出模式在資料中給出的行爲如下:
| mode | 新會話 | 內容已變化 | 內容未變化 |
|---|---|---|---|
auto |
create |
update |
skip |
update |
create |
update |
skip |
overwrite |
create |
overwrite |
overwrite |
skip |
create |
skip |
skip |
dry-run |
dry-run |
dry-run |
dry-run |
dry-run 只報告結果,不執行實際寫入。
obsidian_read¶
用於讀取一篇筆記。
返回內容包括:
- 正文 body;
- 解析後的 frontmatter;
- 第一個 H1 標題;
[[wikilink]]目標;#tags。
obsidian_search¶
用於在 vault 中搜索。
資料中說明它可以按以下字段搜索:
filename:匹配路徑;content:全文內容搜索。
同時支持按 tags 縮小範圍。
obsidian_list¶
用於列出 vault 路徑下的 Markdown 筆記和文件夾。
資料中說明:
- 遞歸列出;
- 支持可選
subpath。
obsidian_tags¶
用於聚合整個 vault 中出現的不同 #tags。
資料中說明它會給出每個 tag 的筆記數量。
obsidian_backlinks¶
用於查找鏈接到某個目標筆記的筆記。
資料中說明它面向 graph traversal,可用於順着鏈接關係查看相關內容。
另外,package.json 的描述中提到了 automatic vault discovery,但已抓取資料沒有給出它的參數和行爲細節,使用時應以倉庫源碼和運行時表現爲準。
安裝與啓用¶
下面是已覈實資料中給出的安裝命令示例:
dsh plugin --profile web add /absolute/path/to/dsh-obsidian-export
這裏的 --profile web 是資料中出現的示例 profile。資料沒有說明是否必須使用 web profile,實際使用時按目標 profile 替換即可。
安裝過程中,資料說明 dsh plugin 會:
- 將包安裝到 profile 的
node_modules; - 檢測
dsh.bundle.patch聲明; - 將 patch 追加到
~/.dsh/profiles/<name>/package.json中的dsh.profile.bundles。
啓用工具需要注意:
Bundle layers only mount at process boot, so a full restart of the profile is required to activate the tool.
也就是說,插件掛載發生在 profile 進程啓動階段。安裝後需要重啓對應 profile,工具纔會生效。
重啓前可以先檢查配置組成,資料給出的命令是:
dsh --profile web --dump-config
重啓後可再啓動:
dsh --profile web
插件依賴以下 peer packages 可解析:
{
"peerDependencies": {
"@deepseek-ai/dsh-tools": "^0.1.0-rc.6",
"@deepseek-ai/schemastery": "^3.18.1",
"@deepseek-ai/dsh-session-persistence": "^0.1.0-rc.6",
"@deepseek-ai/dsh-fs": "^0.1.0-rc.6"
}
}
資料同時提到,如果通過 pnpm file: 或 link: 從目錄安裝,需要確保這些 @deepseek-ai/* peer packages 可解析,例如放在插件自己的 node_modules 中,或依賴 profile node_modules 的 hoisting。
典型用法¶
下面是資料中給出的模型調用示例。
導出當前會話¶
obsidian_export(vaultDir="/path/to/vault", mode="auto")
用於導出當前會話。
導出指定 jsonl 文件¶
obsidian_export(vaultDir="/path/to/vault", path="exported/session.jsonl")
用於導入已導出的 session.jsonl。
讀取筆記¶
obsidian_read(vaultDir="/path/to/vault", path="Inbox/My Note.md")
用於讀取指定 Markdown 筆記。
列目錄¶
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", query="rag", tags="pkms#research")
用於在搜索結果中按 tags 縮小範圍。
聚合標籤¶
obsidian_tags(vaultDir="/path/to/vault")
用於查看 vault 中出現的不同 tags 及其筆記數量。
查找 backlinks¶
obsidian_backlinks(vaultDir="/path/to/vault", target="Welcome")
用於查找鏈接到 Welcome 的筆記。
資料中還給出一個常見工作流:
obsidian_list -> obsidian_read -> obsidian_search -> obsidian_backlinks -> obsidian_export
也就是說,可以先看 vault 裏有什麼,再讀取具體筆記,然後搜索相關內容,順着 backlinks 查看關聯筆記,最後把會話導出到 vault。
如果擔心導出會覆蓋已有內容,可以先使用 dry-run:
obsidian_export(vaultDir="/path/to/vault", sessionId="session-<id>", mode="dry-run")
用於預覽目標會被創建、跳過、更新還是覆蓋。
適用場景與注意¶
這個插件比較適合以下場景:
- 你希望把 DSH 會話保存爲 Markdown,而不是停留在臨時輸出或日誌裏;
- 你的本地知識庫是 Obsidian vault,且希望直接以文件夾和 Markdown 文件方式維護;
- 你希望模型在會話過程中讀取、搜索和關聯已有筆記;
- 你想在執行導出前先做
dry-run,確認是否會造成創建、更新或覆蓋。
使用前建議注意以下幾點:
- 插件以當前 DSH 進程權限運行,安裝前應檢查源碼;
- 許可證爲
MIT,但仍應確認依賴版本和本地環境是否匹配; - 安裝後需要重啓 profile,因爲 bundle layers 只在進程啓動時掛載;
- 導出操作會寫入 vault,正式寫入前可先用
dry-run查看動作; - 資料中未提供插件分類、星標數和目錄頁 URL,因此這裏不做確認。
結尾¶
dsh-obsidian-export 的價值在於把 DSH 會話與 Markdown vault 連接起來:導出會話,讀取筆記,搜索內容,統計標籤,並沿 backlinks 查看關聯。
倉庫地址: