dsh-memory-cloud:把 DSH 會話記憶聚成可交互 3D 星雲

前言

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

典型用法

  1. 按上一節完成安裝並確保使用 web profile。
  2. 在 DSH 左側欄底部點擊 「記憶星雲」 打開全屏視圖。
  3. 或在本機瀏覽器直接訪問(README 說明該路由帶 Host 頭校驗,僅允許 localhost,無需 Web GUI 啓動 token):
http://127.0.0.1:3080/memory-cloud/
  1. 滾輪縮放查看 LOD 0–3;需要全文時在最高縮放級別等待按需拉取;可用搜索框按標題、正文或工作區篩選。
  2. 在界面中切換「星雲 / 神經元」皮膚(選擇保存在瀏覽器 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/ 即可進入。

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

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

小夜