前言¶
DeepSeek Harness (DSH) 的會話記錄通常以 JSONL 格式存儲。爲了將對話內容沉澱爲可檢索、可管理的長期記憶,Obsidian 是常用的本地知識庫方案。dsh-plugin-obsidian-push 插件的作用,就是將 DSH 的歸檔會話轉錄渲染爲 Markdown 文件,並帶上 YAML frontmatter,推送到指定的 Obsidian vault 中。
這是什麼¶
這是一個 DSH 插件,用於將歸檔的會話轉錄推送到 Obsidian vault。它由用戶 121212165 維護,採用 MIT 許可證。插件基於內容哈希實現冪等去重,確保反覆運行不會產生重複文件,同時支持 YAML frontmatter 屬性讀取。
核心功能¶
/obsidian-push [sessionId|all]:將一個或全部會話渲染爲 Markdown 文件。文件名格式爲YYYY-MM-DD-<short session id>.md,路徑爲vaultDir/subfolder/。/archive:執行整條鏈的一步走操作,包含三步:歸檔檢查(比對 transcript 與 markdown)、Obsidian 推送(帶狀態報告)、檢索面報告(檢查可檢索性)。- 冪等:基於內容哈希去重,僅更新已變更的會話。未變更的會話會被跳過。
- YAML frontmatter:支持 title、date、session、tags 等字段,便於 Obsidian 屬性面板直接讀取。
- 短 ID 修復:支持完整 ID、任意前綴、8 位或 12 位短 ID 過濾。
- 只讀邊車:不寫入 transcript 的 JSONL,只往庫裏寫 Markdown。
安裝與配置¶
安裝過程需要 pnpm 在 PATH 上,並配置 vaultDir。
- 安裝插件
dsh plugin --profile web add github:121212165/dsh-plugin-obsidian-push
-
更新 cordis.patch.yml
將本倉庫根目錄的cordis.patch.yml內容合併到$DSH_HOME/profiles/web/cordis.patch.yml中。默認情況下該文件爲[],需注意不要直接追加(會導致 YAML 解析錯誤),應整份替換或合併到同一個數組。 -
重啓 DSH
配置層和客戶端都需要重啓才能生效。
典型用法¶
安裝完成後,可以使用以下命令:
# 安裝
dsh plugin --profile web add github:121212165/dsh-plugin-obsidian-push
# 推送指定會話
/obsidian-push [sessionId]
# 推送全部會話
/obsidian-push all
# 執行完整歸檔鏈(歸檔檢查 → 推送 → 檢索面)
/archive
注意事項¶
- 必須配置
vaultDir。 - 需要更新
cordis.patch.yml並重啓 dsh。 - 需要
pnpm在 PATH 上。 - 依賴
dsh-plugin-transcript作爲數據源邊車。 - 加載路徑共享,不 live-mounted。
生態背景¶
DSH 理念是「一切皆插件」,社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。該插件屬於 DSH 插件家族。