dsh-client-ui-obsidian-memory:用本地 Markdown 庫給 DSH 智能體持久記憶

前言

在 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 可在對話中調用工具維護本地記憶,例如:

  1. obsidian_memory_list 查看 projects/ 下有哪些筆記;
  2. obsidian_memory_search 在庫內檢索關鍵詞;
  3. obsidian_memory_read 讀取 AGENTS.md 或某篇項目筆記;
  4. obsidian_memory_write 更新 TODO.md,或用 obsidian_memory_appenddaily/ 下追加當日記錄。

具體調用由 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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜