dsh-meow-constellation:把 meow-memory 七層記憶畫成 3D 星圖

前言

在 DSH 裏用 meow-memory 存記憶時,條目落在工作區下的 SQLite 文件裏,層級和字段都齊,但默認沒有「一眼看全局」的視圖。查某條記憶往往要靠搜索或翻庫,七層 soul / user / rules / project / topic / fact / lesson 之間的分佈也不容易直觀感受。

dsh-meow-constellation(記憶星圖)是社區維護者 yuyun-git 提交的 DSH 客戶端插件:宿主只讀 <workspace>/.dsh-meow/memory.db,瀏覽器裏用 Canvas 2D 把七層記憶畫成可旋轉、可拖拽、可點擊的 3D 星圖;點開光點即可看全文與元數據。數據來自你自己的庫,不是演示用的假數據(宿主內運行時)。

下面介紹插件定位、能力、安裝方式與典型用法。插件目錄見 SkillHub,源碼與說明見 GitHub(當前 README 標註 v0.1.0 tag,npm 包名 dsh-meow-constellation)。DSH 社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

這是什麼

一句話:把 meow-memory 的七層 SQLite 記憶實時可視化,在 DSH 桌面端右下角懸浮球(或獨立 URL)裏打開面板。

  • 維護者:yuyun-git
  • 分類:客戶端(dsh.client.platform: web)
  • 依賴生態:需已安裝 meow-memory;宿主讀各工作區 .dsh-meow/memory.db
  • 許可:MIT(© 2026,見倉庫 LICENSE)

核心功能

以下均來自倉庫 README,未在資料中出現的細節不寫。

七層星圖與交互

  • 七層各佔一條同心環、一個縱深平面,顏色與左側圖例對應;圖例可單獨隱藏某一層。
  • 拖拽:拖空白處旋轉 3D 視角;拖住某個光點可挪位置(位置記在內存裏,「重置視角」還原)。
  • 滾輪縮放、自動旋轉開關、層級標籤、中心「此刻」核心。
  • 點擊光點:右側玻璃風格面板展示層級 / 狀態徽章、更新時間、重要性星級、項目、子類、目標、命中次數、關鍵詞、全文、關聯記憶、記憶 ID(可複製)。

視覺爲深藍星空、發光光點、層環與關聯線;README 稱靈感來自「記憶星圖」靜態原型。

實時同步與篩選

  • 每 4 秒帶 mtime 輪詢:庫未變時只回約 100 字節標記;有變化才重繪,用戶拖過的光點位置會保留。
  • 面板使用不透明深色背景,避免逐幀毛玻璃在 iframe 裏拖慢渲染。
  • 篩選:全文 / 關鍵詞 / 項目搜索、「包含歸檔 / 已完結」開關。
  • 左下角可切換工作區;下拉標出各記憶庫條數,可選「全部工作區」合併多庫。默認打開有效條數最多的主庫(避免誤選剛寫入的空庫)。
  • API 默認只展示 active 條目;all=1 才包含 archived / stale。

離線演示

不在 DSH 宿主內打開頁面時(例如直接打開 HTML),自動切到內置演示數據,界面仍可操作;README 說明截圖中的示例數據爲虛構,不含真實記憶。

安裝與啓用

環境(資料原文):

  • DSH ≥ 0.2.0-rc.1
  • Node ≥ 22.5(使用 node:sqlite)
  • 已安裝 meow-memory

安裝命令(來自 README,勿自行拼接 github:owner/repo):

# 從 npm(發佈後)
dsh plugin --profile desktop add dsh-meow-constellation --config.minimumReleaseAge=0

# 本地開發目錄 / tarball
dsh plugin --profile desktop add file:/path/to/dsh-meow-constellation --config.minimumReleaseAge=0

裝完後重啓 DSH 桌面端生效。

啓用後右下角會出現發光小圓球:點擊或 Alt+M 打開星圖;Esc 關閉;面板上有「刷新 / 新窗口 / 關閉」。

也可在瀏覽器單獨訪問:

http://127.0.0.1:<DSH端口>/meow-constellation/app

將 <DSH端口> 換成當前 DSH 進程實際監聽端口。

典型用法

  1. 確認目標工作區已通過 meow-memory 寫入 .dsh-meow/memory.db。
  2. 按上一節安裝插件並重啓桌面端。
  3. 打開星圖後,在左下角選擇工作區或「全部工作區」;用圖例隱藏不需要的層,用搜索框縮小範圍。
  4. 點擊光點閱讀詳情;需要時複製記憶 ID 或查看關聯記憶。
  5. 庫在其他工具中更新後,等待輪詢刷新或點面板「刷新」。

宿主暴露的路由(僅 loopback / localhost,見下文安全說明):

路由 說明
GET /meow-constellation/app 星圖頁面(單文件,內聯 CSS/JS)
GET /meow-constellation/api/workspaces 已發現且存在 memory.db 的工作區
GET /meow-constellation/api/memories?dir=<絕對路徑>&all=1 七層記憶條目 + 元數據

dir 僅接受宿主自己發現的工作區路徑,拒絕任意路徑讀取。

數據與安全

宿主端只做三件事:讀 <workspace>/.dsh-meow/memory.db、列出工作區、返回靜態頁面。

  • 數據庫以 readOnly 打開,只執行 SELECT *,不寫、不改、不註冊任何工具。
  • 路由只對 loopback / localhost 開放,記憶內容不會暴露給局域網。

插件以當前 DSH 進程權限運行;安裝前建議閱讀 源碼 與 MIT 許可證,確認符合你的安全策略。

代碼結構(便於二次開發)

lib/index.js            宿主:路由 + SQLite 只讀查詢
lib/client.js           瀏覽器:懸浮球 + iframe 面板(shadow DOM 隔離)
lib/constellation.html  星圖頁面:Canvas 2D 渲染、交互、詳情面板
cordis.patch.yml        profile bundle 掛載行

倉庫提供:

npm run check     # node --check
npm run smoke     # 用真實 memory.db 跑數據層與三個路由的冒煙測試

適用場景與注意

適合:已在 DSH 桌面端使用 meow-memory、希望用空間佈局瀏覽七層記憶、對比項目 / 主題分佈、快速點開單條全文與關聯關係的開發者。

注意:

  • 必須先滿足 DSH、Node、meow-memory 版本要求;無 memory.db 的工作區不會出現在列表裏。
  • 光點拖拽位置僅會話內內存,重置視角會還原佈局;持久化佈局不在 README 承諾範圍內。
  • SkillHub 上該插件星標爲 0,不代表功能不可用,僅反映社區關注度;版本以 npm / GitHub tag(v0.1.0)爲準。

結尾

dsh-meow-constellation 把 meow-memory 的 SQLite 記憶從表格/搜索模式換成可操作的 3D 星圖,讀庫只讀、路由限本機,適合作爲 DSH 客戶端裏的「記憶儀表盤」。需要安裝命令與預覽圖時,以 GitHub README 爲準。

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

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

小夜