dsh-memory-panel:爲 DeepSeek Harness 提供左側欄記憶庫與星圖面板

前言

在 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 在文件管理器中顯示目錄或頁面

典型用法

  1. 在 ~/.memory(或 memory-panel.json 指定目錄)維護上述 markdown 結構;會話重啓後觀察系統提示是否帶上 SOUL、MEMORY 與記憶地圖塊。
  2. 從左側欄打開「記憶」,在星圖中點選節點閱讀詳情;用索引按簇瀏覽,或用搜索框輸入至少 2 個字符檢索。
  3. 在詳情中編輯內容後保存;定期使用「整理」壓縮舊日誌。
  4. 需要對接或排錯時,對本機 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 倉庫。

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

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

小夜