前言¶
在 DeepSeek Harness(DSH)裏跑智能體,會話結束後上下文往往就丟了。把任務、人物、項目筆記寫進外部文檔再手動粘貼,能續上一點,但讀寫都靠人,Agent 無法自主檢索和更新。
dsh-client-ui-obsidian-memory 走另一條路:把記憶落在本機 Obsidian(或純 Markdown)庫目錄裏,由插件註冊文件系統工具,讓 AI 直接讀、搜、寫、追加。數據留在本地,不依賴額外記憶服務。
這是什麼¶
dsh-client-ui-obsidian-memory 是 DSH 的客戶端 UI 插件,維護者爲 detongz,分類爲「記憶」。它通過 DSH 宿主運行時直接訪問本地文件系統,在配置了 vaultPath 後向 Agent 暴露 5 個 obsidian_memory_* 工具,並在 DSH 左側欄 sidebar.obsidian-memory 插槽渲染狀態與工具說明面板。
插件當前版本爲 v0.3.2,許可證 MIT。社區目錄頁見 SkillHub,源碼見 GitHub。
核心功能¶
下面介紹插件已文檔化的能力,均來自 README 與 package.json。
五個記憶工具¶
| 工具 | 作用 |
|---|---|
obsidian_memory_read |
讀取 Markdown 或文本文件 |
obsidian_memory_list |
列出目錄與文件 |
obsidian_memory_search |
在 .md、.txt 中全文檢索 |
obsidian_memory_write |
寫入或覆蓋文件 |
obsidian_memory_append |
在文件末尾追加內容 |
所有路徑限制在 vaultPath 內;越界訪問會報 “Path traversal detected”。
側欄面板¶
瀏覽器端在 DSH 左欄顯示 Obsidian Memory 面板,展示庫狀態、工具參考與推薦目錄結構。需要 DSH 提供 sidebar.obsidian-memory 插槽(README 建議 DSH ≥ 0.1.0-rc.5)。
無外部服務、兼容 Codex 目錄¶
插件不連遠程記憶服務,讀寫經 DSH Host(Node.js)完成。目錄結構可與社區推薦的 Codex/ 佈局對齊,便於與現有 Obsidian 工作流共用。
安裝與啓用¶
1. 準備庫目錄¶
在任意位置創建 Codex/ 文件夾,例如放在 Obsidian 庫內:
~/Documents/Obsidian Vault/
└── Codex/
├── AGENTS.md
├── TODO.md
├── people/
├── projects/
├── notes/
└── daily/
AGENTS.md 可放 AI 操作說明,TODO.md 可放待辦與未閉環事項;子目錄按項目自行組織。
2. 安裝插件¶
在任意目錄執行:
dsh plugin add dsh-client-ui-obsidian-memory
也可從 GitHub 源安裝:
dsh plugin add detongz/dsh-client-ui-obsidian-memory
插件自帶 dsh.bundle 清單,dsh plugin add 會安裝包並通過捆綁的 cordis.patch.yml 激活 ui-obsidian-memory 層,一般無需手改 profile 以加載插件。
若 Settings → Plugins 中看不到插件,README 建議重裝最新版:
dsh plugin add dsh-client-ui-obsidian-memory@latest
(舊版 pre-0.3.2 可能只作爲普通依賴安裝。)
3. 配置 vaultPath¶
在 profile 的 cordis.patch.yml 中指向 Codex/ 的絕對路徑:
- id: ui-obsidian-memory
config:
vaultPath: /Users/YOURNAME/Documents/Obsidian Vault/Codex
也可設置環境變量:
export OBSIDIAN_VAULT_PATH=/Users/YOURNAME/Documents/Obsidian Vault/Codex
若兩者均未設置,插件會打警告並跳過工具註冊。
4. 重啓 DSH¶
dsh web
重啓後,側欄應出現 Obsidian Memory 面板;vaultPath 配置正確時,5 個工具對 Agent 可用。
典型用法¶
經過上面的步驟,Agent 可在對話中調用工具維護本地記憶,例如:
- 用
obsidian_memory_list查看projects/下有哪些筆記; - 用
obsidian_memory_search在庫內檢索關鍵詞; - 用
obsidian_memory_read讀取AGENTS.md或某篇項目筆記; - 用
obsidian_memory_write更新TODO.md,或用obsidian_memory_append在daily/下追加當日記錄。
具體調用由 DSH 會話中的 Agent 發起;你只需保證目錄結構與 vaultPath 一致,並在 AGENTS.md 裏寫明 Agent 應如何使用這些文件。
架構簡述¶
DSH Web(瀏覽器)
└─ sidebar.obsidian-memory:側欄面板(工具說明、庫結構)
│
DSH Host(Node.js)
└─ 註冊 obsidian_memory_* 工具,讀寫本地文件
│
本地文件系統
└─ vaultPath 指向的 Codex/ 目錄
Host 入口爲 lib/index.js,客戶端爲 lib/client.js;數據源即本地 Markdown 文件。
適用場景與注意¶
適合誰: 已用 Obsidian 或純 Markdown 管理筆記、希望 DSH Agent 能跨會話讀寫同一份本地庫的開發者。
權限與安全: 插件以當前 DSH 進程權限訪問文件系統,能讀寫的範圍即 vaultPath 及其子目錄。安裝前建議查看 源碼倉庫 與 MIT 許可證,確認符合你的環境策略。
版本依賴: 側欄需要 DSH 客戶端運行時提供 sidebar 插槽(peer 依賴 @deepseek-ai/dsh-client-runtime 等 ≥ 0.1.0-rc.5)。工具不可用或側欄不顯示時,先覈對 vaultPath 與 DSH 版本。
結尾¶
dsh-client-ui-obsidian-memory 把 DSH 智能體的持久記憶落到本機 Markdown 庫:5 個文件工具加側欄參考,無需自建記憶服務,可與 Codex 目錄習慣銜接。插件列於社區目錄 SkillHub,實現與更新見 GitHub。