Repository navigation
Releases
v0.8.4 — 面板真的能渲染了(修三个真 bug)
0.8.4 — the panel actually renders now
Fixed (these were real, user-visible bugs)
- The settings section crashed on load, so DSH marked it inactive: clicking the sidebar 「记忆库」 entry fell back to Account (looked like "it jumps to personal settings"). Cause: a
useEffectreferenced a variable declared ~40 lines later; on the first render (data still null) that variable was never initialized →Cannot access before initialization. - The sidebar entry clicked the wrong button:
[data-slot=sidebar.settings] buttonis the user-menu trigger (avatar), not a settings trigger, so it opened Settings / Feedback / Sign out instead of the panel. - Card line counting disagreed with the indexer: the panel counted the whole file (including front matter) while
memory-consolidate.pycounts body only → the panel claimed "25 cards missing a head digest" while the checker said 0. Both now use the indexer's rule (body only). - Self-test wiped real data (0.7.1): the opening tests wrote to and then deleted
OPENING.mdinside the real memory library, because the default test root was the real library.
Added
- Governance proposals (card clusters by title similarity, cold cards, oversized, duplicate titles, topics over the red line) — proposals only, nothing is changed.
- Timeline panel reading
memory/events/events.jsonl. - Card viewer: click a search result path to read the whole card (read-only, path traversal rejected).
- Persona drift check sampling real replies from session records.
- Regression gate button, search-log panel, vector-fallback readiness.
- Every block is hidden when its script is absent from the library — the plugin never assumes your library ships these tools.
Changed
- Settings panel grouped into five tabs: Overview / Search / Govern / Persona / Settings.
- Card limits are read from the library's own
memory.toml [card].
v0.8.2 — 面板追平工具链(含 selftest 数据事故修复)
0.8.2 — the panel catches up with the tooling
Fixed (important)
- Self-test no longer touches real data.
tools/selftest.mjsused to defaulttestRootto~/deepseek-memoryand then overwrite + deleteOPENING.mdthere. Every self-test run wiped the real library's opening protocol. Opening tests now use their own temp dir.
Added
- Governance proposals panel: hard-limit oversized cards, soft-limit cards missing a head digest, dense cards, topics over the red line, duplicate titles, card clusters (same topic + similar titles) and cold cards. Proposals only — nothing is changed.
- Timeline panel: reads
memory/events/events.jsonland shows recent decisions / root causes / deliveries with copyable refs. - Card viewer: click a path in the search results to read the whole card in the panel (read-only, path traversal rejected).
- Persona drift panel: samples the replies it actually wrote in past sessions and scores caricature — it does not know it is being measured.
- Regression gate button, search log panel (top zero-hit phrasings), vector fallback readiness.
Removed (the subtraction pass)
- Opening-tax block, its budget slider and its alert — the metric measured files that are no longer read at startup.
- Layer-health and consolidation blocks — merged into governance proposals.
- Hardcoded
>60 lines / >20KBeverywhere — card limits now come from the library's ownmemory.toml [card].
Changed
- Settings panel is grouped into five tabs: Overview / Search / Govern / Persona / Settings.
- Search runs the library's
memory-find.mjsscript by default (searchMode: script) so vector fallback and search logging actually apply. - Any block whose script is missing from your library is hidden — the plugin never assumes your library ships these tools.
v0.4.4 — 修设置导航图标
修
设置页左侧导航里「记忆库」那一行的图标有时退回默认齿轮。
原因:替换图标的循环里写成了 return 而不是 continue。侧栏底部那个入口的文本也叫「记忆库」,而且它本来就是自定义图标,于是循环第一个命中的就是它 → 直接 return,设置导航那一行永远轮不到替换。(0.4.3 改包名时正好把两者的 DOM 顺序换了一下,问题才露出来。)
改成 continue 之后两行都会被替换。
无关变更
- 包名/仓库名/entry id 不变,配置无需改动。
v0.4.3 — 改名 dsh-memory-markdown
改名
包名 dsh-memory-lite → dsh-memory-markdown。
原因:dsh-plugin.org 市场上已经有 5 个同叫 dsh-memory-lite 的插件(alanzhao0128 / mihjy12138 / pacoyi / alexis-ray / wyr-233),靠描述没法区分。新名字直接说清它是什么:markdown + git 的长期记忆库增强。
从旧名升级:dsh plugin --profile web remove dsh-memory-lite,再 add dsh-memory-markdown;profile 的 dsh.profile.bundles 与 cordis.patch.yml 里 name: dsh-memory-lite 要一起改,否则插件加载不到。配置项(memoryRoot 等)不用动,entry id 仍是 memory-lite。
旧仓库地址 WYR-233/dsh-memory-lite 由 GitHub 自动重定向。
其它
- 治理仪表盘的「超长卡」阈值从 8KB 提到 20KB,与新记忆库守则(
RULES.md:>20KB 必须拆)对齐;8KB 以上但行数达标的卡单独标为「密集卡(可接受)」,不再算超长。 - 体检提示词同步更新。
dsh-memory-lite 0.4.2 — 侧栏入口与「会话管理」对齐
dsh-memory-lite 0.4.2 — 侧栏入口与「会话管理」对齐
- 侧栏底部那颗入口现在与「会话管理」同列同宽:照抄它的实测规格(34px 高、圆角 12、
calc(100% + 8px)宽、同款 hover 配色),各占一整行 - 容器换行由注入的一小段 CSS 放开(
flex-wrap: wrap; height: auto)→ 有别的组件就自然被顶上去、没有就滑到底,不硬编码位置 - 顺手修回一处静默丢失的接线:
pluginCtx没被赋值,会让「选择目录 / 开新会话」这类可选能力失效 - 客户端自检新增 3 条静态断言(apply 必须接线 pluginCtx、注入侧栏样式、按钮带样式钩子),防止再丢
安装 / 升级:
dsh plugin --profile web add github:WYR-233/dsh-memory-liteInstall (EN)
The sidebar entry now matches the Session manager row exactly (same width, height, radius and hover colours) and wraps naturally inside its container, so it sits below other entries instead of squeezing them. Also wires back a silently lost pluginCtx assignment, with three new static assertions in the client self-check.
dsh-memory-lite 0.4.1 — 侧栏入口可用性修复
dsh-memory-lite 0.4.1 — 侧栏入口两个可用性修复
- 点击能用了:原来点侧栏那颗按钮没反应 ——
layout.selectPanel('settings')里的 id 根本不存在(设置面板不是主面板)。现在改成两步:先开设置面板,再落到「记忆库」页,一点直达。 - 图标换成成套矢量:原来用 emoji 📚,在深色侧栏里像个异物;现在用与 guard / multi-tts 同一套的手绘矢量。
- 摆放逻辑改成固定图标位(32×32,
flex: 0 0 32px):原来width:100%会跟同排的 Sessions 抢宽度(实测被挤到只剩 18px);现在折叠侧栏(56px 轨道)、窄窗口、手机端都不会挤邻居、也不会溢出。
安装 / 升级:
dsh plugin --profile web add github:WYR-233/dsh-memory-liteInstall (EN)
Fixes the sidebar entry: it now actually opens Settings → Memory library (the previous selectPanel id was invalid), uses the same hand-drawn vector icon set as the other plugins, and occupies a fixed 32×32 icon slot so it never squeezes its neighbours in the rail, narrow-window or mobile layouts.
dsh-memory-lite 0.4.0 — 治理仪表盘 + C 端化
记忆库治理仪表盘 + C 端化(0.4.0)
0.3.0 是未单独发布的开发中间版,两轮改动都包含在这一版里。
新增
- 🧩 内置零依赖检索:把参考检索脚本的算法(中文 bigram、标题 ×6 / 关键词 ×4 / 正文 ×1、同义词组、idf 加权)固化进插件 —— 不装任何外部脚本也能搜
- 🚀 一键建库:面板里「选择目录 / 一键建库 / 交给 agent 初始化」,生成
INDEX.md+ 示例主题 + 示例卡 + 使用说明(检测到 git 才顺手git init) - 🧭 跨端:路径永远是本机绝对路径(系统目录选择器点选),
~按家目录展开,检测到「另一台机器的路径」会明确提示;配置写在各端自己的$DSH_HOME下,两端互不覆盖 - ⚙️ 治理仪表盘:开场税 / 规模趋势 / 分层健康 / 巩固状态 / 守卫备份 / 检索工具 六块 + 六组「滑块 + 数字」+ 一键体检、备份、治理扫描
- 🧠
/memory命令 + 自带 skill:status | search <词> | init [目录] | root <目录>;memory-libraryskill 教任何 agent「先搜再猜、何时写卡、控制体量」 - 👀 发现性:侧栏常驻入口、未配置时的浮动提示、插件页卡片、设置页引导
修复
memory_find工具稳定报returned invalid output: value is not lossless JSON(返回值里带了undefined)- 运行时配置目录不存在时写入被静默吞掉 → 面板里配好的库路径重启就丢
安装
dsh plugin --profile web add github:WYR-233/dsh-memory-lite或下载下面的 dsh-memory-lite.tgz 本地安装。
Install (EN)
Built-in zero-dependency search engine, one-click library creation (with scaffold), cross-platform path handling, a governance dashboard (opening tax / scale / layer health / consolidation / guard / tools), the /memory slash command, a bundled memory-library skill, and four discovery surfaces (sidebar entry, floating notice, plugin-page card, settings guide). Fixes: the memory_find lossless-JSON failure and a silent runtime-config write failure.
dsh-memory-lite 0.2.0
See the release notes in the repository README. Highlights: read-only memory_find tool, budgeted digest injection, bilingual settings page (overview / health / toggles), zero runtime dependencies.