前言¶
DeepSeek Harness(DSH)把持久記憶落在 $DSH_HOME/sessions 裏各會話日誌的已提交事件上,並沒有單獨的「記憶庫」界面。會話一多,靠翻 session.v4.jsonl.zstd 或零散回顧很難看出 fork 血緣、共同話題和同工作區之間的關聯。
dsh-memory-cloud(維護者 faruzanCN,npm 包名 dsh-memory-cloud,當前版本 1.3.2,MIT)是 DSH 社區「記憶」類插件:冷讀全部會話日誌,把每個會話摺疊成一個記憶星雲團,再按關聯規則連邊,用純 Canvas 2D 自實現 3D 投影渲染;可選「神經元信號」皮膚。插件對會話與 profile 只讀,不寫入 DSH 狀態。
下面介紹它的數據來源、能力邊界、安裝方式與典型打開路徑。
這是什麼¶
一句話:把當前 DSH 的全部會話記憶聚合成一幅可交互 3D 星雲(或神經元)圖,並支持縮放分級、搜索與實時記憶流。
數據路徑與格式:
- 每條持久記憶對應
$DSH_HOME/sessions下某個會話日誌裏的一條已提交事件。 - 插件解碼所有
session.v4.jsonl.zstd(concatenated zstd frames 包裹的 JSONL),提取標題、真實工作目錄、消息碎片、工具集、fork 血緣、關鍵詞,並過濾運行時上下文、技能目錄、純標點等注入文本。
運行環境:package.json 要求 Node >=22.15.0;客戶端面向 DSH Web profile(@deepseek-ai/dsh-client-ui-layout / sidebar 注入)。
核心功能¶
記憶聚合與關聯圖¶
- 記憶聚合:zstd 分幀解碼後摺疊爲每會話一個「星雲團」;碎片數、事件數會映射到雲團凝聚核、光斑、纖維密度等視覺規模。
- 關聯邊:TF-IDF 加權話題餘弦相似度,疊加共享工具、同工作區、時間鄰近、fork 血緣;邊帶
kind、權重與共享詞;並對每節點設全局上限,抑制「萬能 hub」。
兩種皮膚¶
- 星雲(默認):不規則絮狀氣體雲,團間細電弧連接;電流沿線明暗漸變傳遞。
- 神經元:細胞體、遞歸分叉樹突、突觸終扣與彎曲軸突,共用同一套信號波與流速。
分級細節(LOD)與交互¶
縮放即鑽取:放大一級多露出一層記憶;2 級以上會平滑「飛入」目標星團,雙擊星團可直接鑽到底。
| 等級 | 徽章 | 觸發縮放 | 顯示內容 |
|---|---|---|---|
| 0 | 全景 | < 1.5× | 雲團 + 會話標題 |
| 1 | 星團 | ≥ 1.5× | 標題 + 記憶條數/對話數/工具數 |
| 2 | 記憶摘要 | ≥ 2.8× | 聚焦最近星團,碎片摘要 + 話題關鍵詞 |
| 3 | 記憶全文 | ≥ 5× | 按需拉取該會話完整未截斷碎片 |
交互包括:拖拽/單指旋轉、滾輪/雙指縮放、懸停 tooltip、點擊雲團展開記憶、按標題/正文/工作區搜索、圖例聚焦工作區;移動端做了 safe-area、觸摸命中放大等適配。
實時記憶流¶
插件訂閱 Host 的 session/event(提交後追加),經 SSE 把「記憶正在寫入 / 正在被讀取」推到頁面;HUD 顯示寫入/讀取計數與活動流,畫布上有寫入向外、讀取向內的漣漪效果。對話開始時若會話尚未落盤,會先出現臨時星雲團,落盤後併入正式數據。
性能與緩存¶
服務端用 $DSH_HOME/storages/dsh-memory-cloud/cache.json 持久化磁盤元數據,已緩存的歷史會話可避免重複 zstd 解壓;未緩存文件走多幀流式解壓與協作式時間片調度。客戶端批量繪製、離屏漸變緩存;頁面不可見時降低對賬頻率。
安裝與啓用¶
包已發佈到 npm:https://www.npmjs.com/package/dsh-memory-cloud。
官方 README 給出的安裝方式如下(任選其一):
# 方式一:DSH CLI
dsh plugin --profile web add dsh-memory-cloud
在對話中也可讓 agent 執行:
plugin_manager install_bundle dsh-memory-cloud
還可以在 Settings → Plugins 裏安裝;安裝後 bundle 會在當前 profile 全局啓用。
本地開發時可安裝本地目錄(軟鏈接,改動即時生效),README 示例爲 Windows 路徑,可按實際目錄替換:
plugin_manager install_bundle D:\dsh-memory-cloud
卸載:
dsh plugin --profile web remove dsh-memory-cloud
典型用法¶
- 按上一節完成安裝並確保使用 web profile。
- 在 DSH 左側欄底部點擊 「記憶星雲」 打開全屏視圖。
- 或在本機瀏覽器直接訪問(README 說明該路由帶 Host 頭校驗,僅允許 localhost,無需 Web GUI 啓動 token):
http://127.0.0.1:3080/memory-cloud/
- 滾輪縮放查看 LOD 0–3;需要全文時在最高縮放級別等待按需拉取;可用搜索框按標題、正文或工作區篩選。
- 在界面中切換「星雲 / 神經元」皮膚(選擇保存在瀏覽器
localStorage,爲插件側僅有的持久化寫入)。
HTTP API(摘要,完整字段見 README):
GET /memory-cloud/api/memories— 聚合摘要(每會話最多maxFragments條抽樣碎片)。GET /memory-cloud/api/session/:id— 單會話完整碎片(LOD 3)。GET /memory-cloud/api/live— SSE 實時記憶活動流。
配置項¶
在 cordis.patch.yml 中可調整(默認值如下):
sessionsDir: !!js dshHomePath('sessions') # 會話日誌目錄
maxSessions: 400 # 最多聚合多少個會話
maxFragments: 28 # 每個會話抽樣的記憶碎片上限
maxFragmentChars: 220 # 單條碎片字數上限
trustedHosts: [] # 額外允許訪問插件路由的 Host
會話量大時可先調低 maxSessions 或抽樣上限以減輕首次掃描耗時。
適用場景與注意¶
適合誰:長期在 DSH 裏積累多會話、需要宏觀查看記憶分佈、fork 關係與工作區聚類,並在對話進行時觀察讀寫活動的開發者。
權限與安全:插件以當前 DSH 進程權限讀取 $DSH_HOME/sessions 並通過本地 HTTP 提供服務;安裝前建議閱讀倉庫源碼與 MIT 許可證,確認 trustedHosts 等配置是否符合你的暴露面要求。
生態說明:DSH 奉行「一切皆插件」;社區目錄 SkillHub 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係,本文安裝命令與行爲均以 GitHub README 爲準。
結尾¶
dsh-memory-cloud 把分散在會話日誌裏的記憶收成一張可旋轉、可縮放、可搜索的 3D 關聯圖,並用 SSE 接上正在發生的讀寫。若你已經在用 DSH Web profile,用 CLI 或 Plugin Manager 裝上包後,從側欄「記憶星雲」或 http://127.0.0.1:3080/memory-cloud/ 即可進入。