前言¶
在 DeepSeek Harness(DSH)裏做長期協作時,記憶往往散在若干 markdown 頁面裏:人格與原則、用戶檔案、項目與決策、運行日誌。若沒有統一入口,開發者要在文件系統裏翻目錄,會話啓動時也難把「該注入什麼」收束成一塊可讀的上下文。社區裏另有 dsh-plugin-memory 一類方案;dsh-memory-panel 由維護者 nanchen8888 發佈,歸類爲「記憶」插件,在左側欄提供「記憶」入口,用中央星圖與索引瀏覽同一套 markdown 記憶庫,並由插件自身完成 boot 注入與 digest 提醒,可替代 dsh-plugin-memory 獨立使用。
下面介紹它的定位、能力與安裝方式;事實以 GitHub 倉庫 README 爲準。目錄頁見 SkillHub。
這是什麼¶
dsh-memory-panel(包名 @local/dsh-memory-panel,當前 README 中 tarball 示例對應版本 0.5.1)是 DSH 的 Web 客戶端插件:讀取本機 markdown 記憶目錄,在 UI 中展示星圖、索引與全文檢索,並通過 Host 側 API 讀寫頁面。它不 import 其它記憶插件的模塊或配置;記憶目錄只認 memory-panel.json 裏配置的路徑,未配置則使用 ~/.memory。
默認關心的文件與目錄包括:SOUL.md、MEMORY.md、index.md、log.md,以及 identity/、user/、skills/、decisions/、projects/、concepts/ 下的頁面。
核心功能¶
會話啓動與左側欄¶
左側欄有「記憶」入口,點開即中央面板。會話啓動時,插件向系統提示注入 SOUL、MEMORY、核心事實(用戶檔案、協作偏好、當前項目各一句)、自動記憶地圖與最近 3 條動態,體量約 7200 字符,並提示 agent 在收尾時做 digest。裝了本插件後可卸載 dsh-plugin-memory,由本插件接管 boot 注入相關行爲。
智能自動分類¶
分類不依賴 tags(tags 常爲空)。當 frontmatter type 足夠時按類型分面;缺失類型的頁用詞向量相似度歸入最接近的簇;type 不足時按內容相似度與頁間鏈接做凝聚聚類。SOUL、MEMORY、BOOTSTRAP、index、log 固定爲「元記憶」。每頁帶有自動簇、簇標籤與熱度(salience、連接數、新近度),星圖分組、索引分組與啓動塊地圖共用同一套分類結果。
星圖與調用光環¶
默認視圖爲近黑宇宙畫布:背景星、銀河帶、緩慢自轉的銀河與偶發流星。記憶頁按權重(salience + 連接數 + 新近度)表現爲不同亮度與大小的小行星;簇爲一棵小恆星,頁面繞恆星公轉。支持拖拽平移、滾輪縮放、點星打開右側詳情;每個光點可單獨拖動擺位,輕點(位移小於 4px)才展開詳情,拖動會先暫停公轉。啓動注入和麪板打開過的頁面會被 host 記錄調用,星圖上對應節點顯示擴散光環與「調用 · 標題」,索引視圖頂部有「最近調用」。
索引、檢索與編輯¶
索引按自動簇分組,簇內按熱度排序;常讀與最近更新置頂,顯示摘要與熱度。全文檢索在輸入不少於 2 字後請求 /search,星圖左上浮層列出命中頁、路徑與片段;回車打開第一條,星圖同步高亮命中星。詳情頁輕量渲染 markdown,支持頁內 .md 鏈接跳轉,並展示字符數、被引用頁與標題大綱。可直接編輯並保存 markdown(raw/ 只讀);可通過「打開目錄 / 在文件夾中顯示」調用文件管理器。
記憶整理(壓縮)¶
右上角「整理」將 45 天前的 log.md 條目搬到 archive/log-YYYY.md,log.md 只保留最近記錄與一行歸檔指針,避免啓動注入裏的「最近動態」隨日誌無限變長。可通過 Host API 的 POST /compact 執行,可選 retainDays(默認 45)。
安裝與啓用¶
README 給出的流程是先在本機插件目錄打包,再以 tarball 安裝到 DSH profile(勿憑倉庫名拼接 dsh plugin add github:...)。
先在插件源碼目錄執行:
# 改動後先改 package.json 的 version,避免複用舊 tarball
npm pack --silent
將生成的包安裝進 profile(把路徑換成你的絕對路徑):
plugin_manager action=install_bundle target="<絕對路徑>\\local-dsh-memory-panel-0.5.1.tgz"
Windows 上若 ~/.dsh 是指向其它盤的 junction,直接安裝 bundle 目錄可能導致 pnpm 符號鏈接穿過 junction 失效(dsh: cannot resolve profile bundle),此時用 tarball 安裝更穩。安裝後客戶端可半即時熱掛載;Host 側 Node 模塊需等待 DSH 客戶端下次啓動後換新代碼。
開發期自檢示例:
node --check index.js
node --check client.js
node .smoke.mjs # tree/page/search/save/路徑穿越/raw 只讀/boot 塊
可選配置:在 <dshHome>/memory-panel.json 中指定記憶目錄;未配置則使用 ~/.memory。
Host API(本機同源)¶
路由前綴爲 /api/dsh-memory-panel,供面板頁面調用:
| 方法 | 路徑 | 說明 |
|---|---|---|
| GET | /tree |
頁面樹、鏈接、自動分類 clusters |
| GET | /page?path=... |
讀取一頁 |
| GET | /search?q=關鍵詞&limit=40 |
全文檢索 |
| POST | /page |
保存 { path, content },僅 .md,禁止 raw/ |
| POST | /compact |
歸檔舊日誌 |
| POST | /reveal |
在文件管理器中顯示目錄或頁面 |
典型用法¶
- 在
~/.memory(或memory-panel.json指定目錄)維護上述 markdown 結構;會話重啓後觀察系統提示是否帶上 SOUL、MEMORY 與記憶地圖塊。 - 從左側欄打開「記憶」,在星圖中點選節點閱讀詳情;用索引按簇瀏覽,或用搜索框輸入至少 2 個字符檢索。
- 在詳情中編輯內容後保存;定期使用「整理」壓縮舊日誌。
- 需要對接或排錯時,對本機 DSH 發起上述 GET/POST(僅同源頁面使用)。
卸載舊版 dsh-plugin-memory 後,會少掉其附帶的 memory 技能說明與 dsh-memory 命令行,但本插件的運行時注入與面板讀寫不受影響。
適用場景與注意¶
適合已經在用 markdown 記憶庫、希望在 DSH 內可視化瀏覽、檢索並自行掌控注入內容的開發者。星圖採用固定深空配色,不隨淺色/深色主題整體切換,以保證標籤對比度;其餘 UI 仍使用主題 token。
插件以當前 DSH 進程權限讀寫記憶目錄;安裝前請自行審閱 源碼與許可證。邊界方面:僅允許記憶目錄內 .md 文件,路徑穿越會被拒絕;raw/ 大小寫均只讀;面板不會在未點「保存」時自動改寫記憶,boot 注入僅更新 last_access。
SkillHub 目錄頁顯示該插件星標爲 0,屬社區收錄信息,與功能無直接對應關係。
結尾¶
dsh-memory-panel 把 markdown 記憶庫、自動分類、星圖與全文檢索收進 DSH 左側欄與中央面板,並自帶 boot 注入與日誌壓縮,適合替代獨立的 dsh-plugin-memory 做一體化記憶工作流。進一步瞭解可訪問 SkillHub 插件頁 與 GitHub 倉庫。