memory-eternal UI restyle:讓記憶插件界面與 DSH 主界面同一套視覺語言

前言

在 DeepSeek Harness(DSH)裏用記憶類插件時,功能往往已經夠用:對話結束自動沉澱知識卡、Agent 按需召回歷史上下文。但若插件側欄、彈窗和獨立 Web 頁仍沿用另一套 Tailwind 色板、漸變邊條和 emoji 圖標,會和宿主「細線、留白、剋制狀態色」的主界面脫節,日常切換時視覺噪音明顯。

memory-eternal UI restyle(倉庫 07vvvv/memory-eternal-ui-restyle)針對的是這一類體驗問題:它不改動記憶邏輯與存儲,只把 EternalNight996/memory-eternal 的客戶端界面重做到與 DSH 官方設計 token 一致。維護者爲社區作者 07vvvv,在 SkillHub 等社區目錄中歸類爲「趣味換裝」。

這是什麼

一句話定位:上游 memory-eternal 的界面重構衍生版,對應上游版本 0.9.15(本倉庫標籤 v0.9.15-restyle.1),許可 MIT License。

README 明確說明:功能、數據格式、host 邏輯與上游完全一致;本倉庫不新增功能、不改變運行行爲,也不修改存儲格式。知識庫能力(自動沉澱、LLM 蒸餾、memory_recall 召回、/memory-eternal/api/* 路由、設置 schema 等)仍由原 upstream 的 index.js 與 lib/* 承擔;完整功能說明、配置項、CLI、MCP 掛載等文檔請以上游 README 爲準。

在線界面預覽:https://07vvvv.github.io/memory-eternal-ui-restyle/。

核心能力(界面層)

下面介紹本衍生版實際動到的部分——全部集中在展示層,共 4 個源文件(src/client/index.tsx、src/client/markdown.js、web/index.html 及同步的測試斷言)。

設計語言對齊 DSH

  • 主色與文字層級使用 DSH alias token(例如 --dsw-alias-state-business-primary、label-primary/secondary/tertiary)。
  • 邊框、圓角、陰影收斂到與宿主一致的尺度;狀態色通過 color-mix 適配淺/深主題。
  • 獨立 Web 頁原先手寫舊 Tailwind 色板(如 #1f2937、#3b82f6)已替換爲官方淺/深兩套 token,解決「看起來不像 DSH」的根源。

佈局與組件

  • 側欄:244px 大綱式導航(分組標題、行項、計數徽標、品牌頭;選中態加粗 + 主色下劃線)。
  • 頁頭與列表:標題 + 動作組;指標改爲通欄進度條;搜索爲無邊框下劃線;分類/排序爲 pill 行。
  • 卡片網格:編輯式排版;當卡片數爲 3 的倍數時啓用 bento(首卡跨 2×2,grid-auto-flow: dense)。
  • 入口與彈窗:側欄入口改爲與官方「應用中樞 / 插件市場」同款行(36px 高、幾何符號 ▤);彈窗由原先浮在 iframe 上的半透明條改爲 48px 標題條 + SVG 圖標按鈕,減少與窗口控制區誤觸。
  • 正文渲染:小標題與引用塊不再注入 emoji,改用 CSS 色點與 2px 色條;深色主題下主按鈕對比度已按 token 修正。

與上游一致、未改動的部分

  • Host 側:index.js 及 lib/ 下 db.js、vault.js、capture.js、api.js 等模塊。
  • 數據與存儲:知識庫仍在本地 ~/.dsh/memory-vault,格式未變,可與上游互換。
  • cordis.patch.yml、依賴聲明與 npm 腳本(相對本倉庫 UI diff 而言保持 upstream 行爲)。

package.json 中對 upstream 能力的概括(供對照,細節以上游文檔爲準):對話結束後自動沉澱知識卡到本地 Markdown Vault,設置頁提供圖形化知識庫(統計 / 搜索 / 知識圖譜 + 側邊欄一鍵彈窗),Agent 通過 memory_recall 按需召回。

安裝與啓用

DSH 桌面版 profile 名爲 desktop。從本倉庫安裝:

dsh plugin --profile desktop add github:07vvvv/memory-eternal-ui-restyle

也可從 Releases 下載 memory-eternal-ui-restyle-0.9.15.tgz,解壓後安裝依賴並構建客戶端產物,再 link 進 profile(README 中有完整步驟)。本地開發時可將倉庫目錄 link 進 profile 的 dependencies 與 dsh.profile.bundles 做熱裝配;插件目錄需自帶 node_modules,否則 loader 可能無法建立 fiber。

運行環境要求(package.json):Node >= 22,dsh >= 0.1.5-alpha.2 且 < 0.2.0。

從源碼構建客戶端(需 Node 22+,使用 esbuild):

npm install
node build.mjs
node tests/markdown.test.mjs
node tests/graph-lod.test.mjs

src/client/index.tsx 爲界面源碼;lib/client.js 與 web/app.js 爲構建產物,不要直接改產物。

典型用法

本倉庫不重複維護一份完整用法文檔。啓用插件後,行爲與 upstream memory-eternal 相同,例如:

  1. 在 DSH 設置或側欄中使用 memory-eternal 提供的圖形化知識庫入口(本版爲 DSH 風格側欄行與彈窗)。
  2. 對話結束後由 host 自動沉澱知識卡;數據寫入 ~/.dsh/memory-vault。
  3. Agent 側通過 memory_recall 等 upstream 已文檔化的方式按需召回(具體參數與配置見 upstream README)。

若僅需對比界面,可先打開上述 GitHub Pages 預覽,再決定是否替換已安裝的 upstream 包。

適用場景與注意

適合誰

  • 已在用或打算用 memory-eternal,且希望側欄、知識卡列表、閱讀器與獨立 Web 頁與 DSH 主界面視覺統一的用戶。
  • 關注「趣味換裝 / 主題一致」、不打算 fork 記憶邏輯本身的開發者。

升級與合併

  • 上游僅更新 host 邏輯時:覆蓋 index.js / lib/ 一般與本倉庫 UI 改動不衝突。
  • 上游更新 UI 時:需手動合併本倉庫改動的 4 個源文件;想退回 upstream 界面可用 upstream 同名文件覆蓋後重新 node build.mjs。

安全與權限

插件以當前 dsh 進程權限運行,並可讀寫本地 Vault 與調用配置中的 LLM 相關能力。安裝前應閱讀本倉庫與 upstream 源碼及 MIT 許可證;社區目錄 SkillHub(https://www.skillhub.cn/plugins/07vvvv/memory-eternal-ui-restyle)爲獨立生態站點,與 DeepSeek / 幻方無官方從屬關係,不宜等同於官方應用商店。

結尾

memory-eternal UI restyle 的價值很集中:在不動記憶核心與 ~/.dsh/memory-vault 數據的前提下,把 memory-eternal 的客戶端換成 DSH 官方設計語言。若你已經在用 upstream,只需一條 profile 安裝命令即可切換界面衍生版;功能與配置仍以上游文檔爲權威來源。

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

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

小夜