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 安装命令即可切换界面衍生版;功能与配置仍以上游文档为权威来源。

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

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

Xiaoye