dsh-memoir 0.8.2 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.en.md CHANGED
@@ -12,13 +12,13 @@
12
12
  No embeddings, vector database, or cloud memory service. The npm package has zero bundled runtime dependencies; DSH and Zod 4 peers are supplied by the host environment; Zod validates session projections and is not bundled.
13
13
 
14
14
  > [!IMPORTANT]
15
- > **0.8.2 requires DSH `>=0.1.7-rc.1 <0.1.8-0`**, with SDKs pinned to `0.1.7-rc.2`. It fixes auto-distillation hiding the original task answer, adds an optional native right-sidebar panel and offline About & help, and retains unskinned Desktop styling, actual-save diagnostics and public Session projections. Keep `dsh-memoir@0.7.1` on DSH 0.1.5.
15
+ > **0.9.0 requires DSH `>=0.2.0-rc.1 <0.3.0-0`**, built and tested against the published `0.2.0-rc.1` (not an unqualified final 0.2.0 release). Adds a visible plugin guide, native plugin configuration, German/Russian agent copy and offline release highlights. Retains separate distillation turns, provenance, frozen snapshots and zero bundled runtime dependencies. **On DSH 0.1.7, pin `dsh-memoir@0.8.2`; upgrade the host before installing 0.9.0.**
16
16
  >
17
17
  > `dsh-memoir@0.7.1` fixes lost session snapshots after restart or RAM eviction (#10), supporting DSH **0.1.5-rc.1 / rc.2**. It requires `>=0.1.5-rc.1 <0.1.6-0`; check your host first. Keep `0.6.2` on DSH 0.1.2, or `0.5.6` on DSH 0.1.1-rc.2; those older lines do not include this fix.
18
18
 
19
19
  ```bash
20
- npm install --global @deepseek-ai/dsh@0.1.7-rc.2
21
- dsh plugin --profile web add dsh-memoir@0.8.2
20
+ npm install --global @deepseek-ai/dsh@0.2.0-rc.1
21
+ dsh plugin --profile web add dsh-memoir@0.9.0
22
22
  ```
23
23
 
24
24
  Restart `dsh web`. Memory remains local and is not automatically deleted when the plugin is updated or removed.
@@ -37,7 +37,11 @@ Restart `dsh web`. Memory remains local and is not automatically deleted when th
37
37
 
38
38
  It fits personal and local development workflows where a new agent should continue understanding a project. It is not a raw chat backup, multi-user cloud sync service, or vector-semantic knowledge base.
39
39
 
40
- ![dsh-memoir v0.6.1 global memory grouped and collapsed by project](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.6.1/picture/v0.6.1-global-project-groups-zh.png)
40
+ ### UI preview
41
+
42
+ **0.9.0 component preview with demonstration data.** Plugin identity, GitHub, documentation and memory settings stay at the top, before long lists.
43
+
44
+ ![0.9.0 UI preview: visible plugin guide and memory browsing](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.9.0/picture/v0.9.0-preview-guide-zh.png)
41
45
 
42
46
  ## How it works
43
47
 
@@ -100,7 +104,9 @@ Automatic distillation is an observable agent turn-end reminder, not silent back
100
104
 
101
105
  `autoDistillEvery`, `autoDistillCooldownMin`, and `autoDistillMinTools` are AND conditions isolated per agent. Idle, aborted, subagent, and already-recorded turns do not trigger. Cooldown advances only after a successful reminder. All cadence parameters are live-editable in the GUI.
102
106
 
103
- `language` independently controls agent-visible tool descriptions and parameters, the distillation prompt, tool results, Hot Memory / `PROJECT_MEMORY.md` headings, and validation or governance errors. It defaults to `zh` for backward compatibility and can be switched to `en` in the GUI. Tool schemas and subsequent prompts update live without restarting DSH.
107
+ `language` independently controls agent-visible tool descriptions and parameters, the distillation prompt, tool results, Hot Memory / `PROJECT_MEMORY.md` headings, and validation or governance errors. Released 0.8.2 supports `zh` / `en`, defaulting to `zh`. Tool descriptions and subsequent prompts update live without restarting DSH.
108
+
109
+ **0.9.0 adds `de` (Deutsch) and `ru` (Русский)**, explicitly selected in Memory settings rather than inferred from the agent or user messages. Tool names, parameter keys and enums remain unchanged. The GUI remains Chinese/English and existing memory content is not automatically translated. Switching language alone does not rewrite JSON or Markdown; projection headings use the current language on subsequent normal writes. Each of the four languages has its own frozen-snapshot namespace; switching back reuses the previous baseline. Select `zh` or `en` before downgrading to 0.8.2.
104
110
 
105
111
  ## Local recall and caching
106
112
 
@@ -111,11 +117,13 @@ Automatic distillation is an observable agent turn-end reminder, not silent back
111
117
  - epoch-aware LRU query cache with one-hour time buckets; `limit` and output detail stay outside the key so output shapes share rankings;
112
118
  - the GUI and `memoir_read` use the same RetrievalEngine and expose hits, misses, evictions, hit rate, and last-query latency.
113
119
 
120
+ 0.9.0 extends word splitting to Unicode letters, combining marks and numbers with NFC normalization, preserving German umlauts and Russian Cyrillic. Original content and existing Chinese/code-identifier rules are preserved. This remains lexical retrieval, not automatic translation, stemming or cross-language semantic search.
121
+
114
122
  Top-5 recall on the fixed quality set is 100%; the repository gate requires at least 90%.
115
123
 
116
124
  ## Web GUI
117
125
 
118
- Installing into a DSH-alpha `web` profile registers a native Memory Conversation view and Memory Settings section through official slots. The DSH shell owns layout, navigation, and unload lifecycle; Memoir no longer takes over the legacy sidebar through DOM selectors.
126
+ Installing into a compatible DSH `web` profile registers a native Memory Conversation view and Memory Settings section through official slots. The DSH shell owns layout, navigation, and unload lifecycle; Memoir no longer takes over the legacy sidebar through DOM selectors.
119
127
 
120
128
  - Project memory and all-project global memory, with project groups collapsed by default and complete lifecycle totals;
121
129
  - status, section, and keyword filters with BM25 scores;
@@ -130,7 +138,22 @@ Installing into a DSH-alpha `web` profile registers a native Memory Conversation
130
138
  - live GUI Chinese/English switching from `<html lang>`, with a separate `language` setting for agent-facing copy.
131
139
 
132
140
  <details>
133
- <summary>More GUI screenshots</summary>
141
+ <summary>0.9.0 UI previews: native plugin configuration and language settings</summary>
142
+
143
+ The native plugin detail page reuses Memory settings directly, without opening the memory list. Shown below is the native plugin detail page in DSH 0.2.0-rc.1.
144
+
145
+ ![0.9.0 native plugin detail configuration](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.9.0/picture/v0.9.0-host-plugin-zh.png)
146
+
147
+ Choose German agent-facing copy independently of the English GUI; settings and memory browsing scroll separately.
148
+
149
+ ![0.9.0 UI preview: German agent copy selected in the English GUI](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.9.0/picture/v0.9.0-preview-settings-en.png)
150
+
151
+ </details>
152
+
153
+ <details>
154
+ <summary>GUI screenshots from previous releases</summary>
155
+
156
+ ![v0.6.1 global memory grouped by project](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.6.1/picture/v0.6.1-global-project-groups-zh.png)
134
157
 
135
158
  ![v0.7.1 durable snapshot diagnostics on DSH rc.2](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.7.1/picture/v0.7.1-snapshot-persistence-zh.png)
136
159
 
@@ -156,25 +179,26 @@ Installing into a DSH-alpha `web` profile registers a native Memory Conversation
156
179
 
157
180
  | Channel | DSH baseline | Installation | Status |
158
181
  | --- | --- | --- | --- |
159
- | npm `latest` (`0.8.2`) | `>=0.1.7-rc.1 <0.1.8-0` | `dsh plugin --profile web add dsh-memoir@0.8.2` | DSH 0.1.7 line |
182
+ | npm `latest` (`0.9.0`) | `>=0.2.0-rc.1 <0.3.0-0` | `dsh plugin --profile web add dsh-memoir@0.9.0` | Tested on 0.2.0-rc.1 |
183
+ | pinned npm `0.8.2` | `>=0.1.7-rc.1 <0.1.8-0` | `dsh plugin --profile web add dsh-memoir@0.8.2` | Legacy 0.1.7 line |
160
184
  | pinned npm `0.7.1` | `>=0.1.5-rc.1 <0.1.6-0` | `dsh plugin --profile web add dsh-memoir@0.7.1` | Legacy 0.1.5 line |
161
185
  | pinned npm `0.6.2` | `>=0.1.2-alpha.2 <0.1.3` | `dsh plugin --profile web add dsh-memoir@0.6.2` | Legacy 0.1.2 line |
162
186
  | pinned npm `0.5.6` | `0.1.1-rc.2` | `dsh plugin --profile web add dsh-memoir@0.5.6` | rc2 compatibility line |
163
- | Source `v0.8.2` | `>=0.1.7-rc.1 <0.1.8-0` | local build + `link:` | Development; not compatible with legacy 0.1.5 / 0.1.6 |
187
+ | Source `v0.9.0` | `>=0.2.0-rc.1 <0.3.0-0` | local build + `link:` | Development; not compatible with legacy 0.1.x |
164
188
 
165
189
  Node.js `^22.19.0 || >=24.0.0` is required. 0.7.1 keeps the native `conversation.view` / `settings.section` slots and `snapshotEvents()`. DSH 0.1.5 uses Session log V3, independent of Memoir store v4 / settings v3. Back up DSH_HOME before upgrading DSH; migrated sessions are not guaranteed readable by older hosts. This Memoir release neither migrates nor resets memory and retains frozen session snapshots without enabling new dynamic-prompt behavior.
166
190
 
167
191
  <details>
168
192
  <summary>Install from source</summary>
169
193
 
170
- Published 0.7.1 source (legacy DSH 0.1.5):
194
+ 0.9.0 source (DSH 0.2.0-rc.1):
171
195
 
172
196
  ```bash
173
- git clone --branch v0.7.1 https://github.com/Qinling-Melon-Farmers/dsh-memoir.git
197
+ git clone --branch v0.9.0 https://github.com/Qinling-Melon-Farmers/dsh-memoir.git
174
198
  cd dsh-memoir
175
199
  pnpm install --frozen-lockfile
176
200
  pnpm run build
177
- npm install --global @deepseek-ai/dsh@0.1.5-rc.1
201
+ npm install --global @deepseek-ai/dsh@0.2.0-rc.1
178
202
  dsh plugin --profile web add "link:/absolute/path/dsh-memoir"
179
203
  ```
180
204
 
@@ -184,11 +208,27 @@ dsh plugin --profile web add "link:/absolute/path/dsh-memoir"
184
208
 
185
209
  ## Native sidebar and help
186
210
 
211
+ **Released 0.8.2:**
212
+
187
213
  - Existing Conversation and Settings entries stay unchanged. The right-sidebar guide now offers Memory for browsing project memory, Hot Memory and diagnostics alongside chat; it never opens automatically or replaces another panel.
188
214
  - Each sidebar instance follows its own session workspace and reuses the same data layer, with independent active surfaces and scroll state. Conversation and Settings remain available when the optional sidebar service is absent.
189
215
  - Under Memory settings, the collapsed About & help card shows the plugin version, host range, SDK baseline, maintainer, repository, bilingual documentation, releases and issue links. The plugin repository is explicitly distinct from the current workspace.
190
216
  - No background update requests, workspace Git-remote inspection or path/memory uploads. Use the host plugin manager to update, after checking the target package’s DSH requirements and prerelease channel. The panel does not auto-upgrade.
191
217
 
218
+ **0.9.0:**
219
+
220
+ - Plugin identity, version, GitHub project, documentation and Open memory settings move to the top of Conversation, Settings and sidebar panels, before any long memory or configuration list. Detailed compatibility information stays collapsed; no forced navigation or Star prompt.
221
+ - Open `dsh-memoir` on the native Plugins page to use the same memory-settings form. No duplicate configuration store or registration pretending to be an official plugin; existing entries still work without this host page.
222
+ - Develop and validate against official npm `0.2.0-rc.1`. Check the host version before installation; keep Memoir 0.8.2 on DSH 0.1.7.
223
+
224
+ ## Offline release highlights
225
+
226
+ The first Memory Conversation opening shows the bundled 0.9.0 highlights without blocking chat. Choose “Got it” to stop automatic display for this version in the same browser origin. Reopen anytime from “About & help → View release highlights”. Settings and sidebar panels never open the notice automatically.
227
+
228
+ The Chinese/English notice is offline: no network requests, uploads, memory changes or conversation edits. Only the acknowledged version is stored locally by the UI. If storage is unavailable, acknowledgment lasts for the current page; Web/Desktop and different origins are not guaranteed to share it.
229
+
230
+ ![0.9.0 offline announcement component preview with demonstration data](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.9.0/picture/v0.9.0-announcement-zh.png)
231
+
192
232
  ## Storage, privacy, and security boundaries
193
233
 
194
234
  ```text
@@ -213,7 +253,7 @@ Every field below can be set in the memoir `config` row in `cordis.patch.yml`. E
213
253
  | Field | Default | Purpose |
214
254
  | --- | ---: | --- |
215
255
  | `enabled` | `true` | master switch for tools, routes, and prompt injection |
216
- | `language` | `zh` | agent-facing prompt, tool schema/result, projection-heading, and error language; `zh` or `en` |
256
+ | `language` | `zh` | agent-facing copy; `zh` / `en` in 0.8.2, plus `de` / `ru` in 0.9.0; independent of GUI language |
217
257
  | `announceToAgent` | `true` | announce memory tools and rules to the agent |
218
258
  | `autoDistill` | `true` | enable top-level worked-turn reminders |
219
259
  | `autoDistillEvery` | `1` | remind at most once per N worked turns |
@@ -269,6 +309,6 @@ pnpm test
269
309
  npm run bench
270
310
  ```
271
311
 
272
- Read [CONTRIBUTING.md](./CONTRIBUTING.md) before submitting changes. See [CHANGELOG.md](./CHANGELOG.md) for version history. Formal packages are published by the tag workflow through npm OIDC. The current version is [v0.8.2](https://github.com/Qinling-Melon-Farmers/dsh-memoir/releases/tag/v0.8.2), targeting DSH 0.1.7. Keep 0.7.1 on legacy DSH 0.1.5.
312
+ Read [CONTRIBUTING.md](./CONTRIBUTING.md) before submitting changes. See [CHANGELOG.md](./CHANGELOG.md) for version history. Formal packages are published by the tag workflow through npm OIDC. The current version is [v0.9.0](https://github.com/Qinling-Melon-Farmers/dsh-memoir/releases/tag/v0.9.0), targeting DSH 0.2.0-rc.1. Pin 0.8.2 on DSH 0.1.7, or 0.7.1 on DSH 0.1.5.
273
313
 
274
314
  Apache-2.0
package/README.md CHANGED
@@ -11,13 +11,13 @@
11
11
  无需 embedding、向量数据库或云端记忆服务;npm 包零捆绑运行时依赖,DSH 与 Zod 4 peer 由宿主环境提供;Zod 用于验证宿主会话投影,不捆绑进插件。
12
12
 
13
13
  > [!IMPORTANT]
14
- > **0.8.2 要求 DSH `>=0.1.7-rc.1 <0.1.8-0`**,开发 SDK 为 `0.1.7-rc.2`。修复自动蒸馏遮住原任务答复的问题;新增可选原生右侧记忆面板和离线“关于与帮助”。保留无皮肤桌面适配、实际保存诊断和公开 Session projection。旧 DSH 0.1.5 请固定安装 `dsh-memoir@0.7.1`。
14
+ > **0.9.0 要求 DSH `>=0.2.0-rc.1 <0.3.0-0`**,开发与实测基线为已发布的 `0.2.0-rc.1`(不是无后缀正式 0.2.0)。新增首屏插件导引、原生插件配置、德语/俄语 Agent 文案和离线更新公告;保留独立蒸馏回合、溯源、冻结快照与零捆绑运行时依赖。**DSH 0.1.7 用户请固定 `dsh-memoir@0.8.2`,先升级宿主再安装 0.9.0。**
15
15
  >
16
16
  > `dsh-memoir@0.7.1` 修复重启和内存淘汰后旧会话快照丢失(#10),支持 DSH **0.1.5-rc.1 / rc.2**。要求 `>=0.1.5-rc.1 <0.1.6-0`;请先核对宿主版本。旧 DSH 0.1.2 用户固定使用 `0.6.2`,0.1.1-rc.2 用户固定使用 `0.5.6`;这些旧版未包含本次修复。
17
17
 
18
18
  ```bash
19
- npm install --global @deepseek-ai/dsh@0.1.7-rc.2
20
- dsh plugin --profile web add dsh-memoir@0.8.2
19
+ npm install --global @deepseek-ai/dsh@0.2.0-rc.1
20
+ dsh plugin --profile web add dsh-memoir@0.9.0
21
21
  ```
22
22
 
23
23
  重启 `dsh web` 即可。记忆保存在本机,不会随插件升级或卸载自动删除。
@@ -32,11 +32,15 @@ dsh plugin --profile web add dsh-memoir@0.8.2
32
32
  | BM25 排序召回 | 中文短语、英文关键词、代码标识符和路径都可检索;跨项目 Top-K 与查询 LRU 缓存共用同一引擎 |
33
33
  | 可治理的记忆 | 重要度、置顶、标签、归档、恢复和 supersede 生命周期;相似写入必须显式更新、替代或并存 |
34
34
  | 可追溯 | Agent 写入记录可信 session/turn 来源,Web 面板可复制并尽力跳回原会话 |
35
- | 完整 Web GUI | 中英双语项目/全局浏览、排序搜索、编辑、Hot Memory 预览、诊断和实时设置;可独立选择 Agent 侧中文或英文 |
35
+ | 完整 Web GUI | 中英双语项目/全局浏览、排序搜索、编辑、Hot Memory 预览、诊断和实时设置;可独立选择 Agent 侧中文、英文、德语或俄语 |
36
36
 
37
37
  适合需要“新 Agent 接手时继续理解项目”的个人或本地开发工作流。它不是原始聊天记录备份、多人云同步服务或向量语义知识库。
38
38
 
39
- ![dsh-memoir v0.6.1 按项目折叠的全局记忆](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.6.1/picture/v0.6.1-global-project-groups-zh.png)
39
+ ### 界面预览
40
+
41
+ **0.9.0 组件界面预览,使用演示数据。** 顶部常驻插件身份、GitHub、文档与记忆设置入口,无需滚过长列表。
42
+
43
+ ![0.9.0 界面预览:首屏插件导引与记忆浏览](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.9.0/picture/v0.9.0-preview-guide-zh.png)
40
44
 
41
45
  ## 工作原理
42
46
 
@@ -99,7 +103,9 @@ memoir_record / memoir_update
99
103
 
100
104
  `autoDistillEvery`、`autoDistillCooldownMin`、`autoDistillMinTools` 三个条件按 AND 判定并按 Agent 隔离。idle、aborted、subagent 和已成功保存记忆的回合不会触发;冷却只在提醒成功后更新。所有频率参数都可在 GUI 中即时修改。
101
105
 
102
- `language` 独立控制 Agent 可见的工具描述、参数说明、蒸馏提示、工具结果、Hot Memory / `PROJECT_MEMORY.md` 标题以及校验与治理错误。默认 `zh` 保持向后兼容,也可在 GUI 中切换为 `en`;切换后工具 schema 与后续提示即时更新,不要求重启 DSH。
106
+ `language` 独立控制 Agent 可见的工具描述、参数说明、蒸馏提示、工具结果、Hot Memory / `PROJECT_MEMORY.md` 标题以及校验与治理错误。已发布 0.8.2 支持 `zh` / `en`,默认 `zh`;切换后工具描述与后续提示即时更新,不要求重启 DSH。
107
+
108
+ **0.9.0新增 `de`(Deutsch)和 `ru`(Русский)**,可在记忆设置中明确选择;不是根据 Agent 或用户消息自动猜测语言。工具名、参数名与枚举不变,GUI 仍为中英双语,既有记忆正文不会自动翻译。切换语言本身不重写 JSON 或 Markdown;后续正常写入时投影标题使用当前语言。四种语言各有独立冻结快照空间,切回原语言可继续复用旧基线。降级到 0.8.2 前请先改回 `zh` 或 `en`。
103
109
 
104
110
  ## 本地召回与缓存
105
111
 
@@ -110,11 +116,13 @@ memoir_record / memoir_update
110
116
  - epoch 感知、1 小时时间桶的 LRU 查询缓存;`limit` 与输出详略不进入缓存键,因此不同输出形态共享排序结果;
111
117
  - GUI 和 `memoir_read` 使用同一个 RetrievalEngine,并暴露 hits、misses、evictions、命中率与最近查询耗时。
112
118
 
119
+ 0.9.0将词项分割扩展为 Unicode 字母/组合标记/数字并做 NFC 归一化,保留德语变音字符与俄语西里尔字母;不修改原始正文,保留中文和代码标识符规则。它仍是词项检索,不提供自动翻译、词形还原或跨语言语义搜索。
120
+
113
121
  固定质量集的 Top-5 命中率为 100%,仓库门禁要求不低于 90%。
114
122
 
115
123
  ## Web GUI
116
124
 
117
- 安装到 DSH alpha 的 `web` profile 后,Memoir 通过官方 slot 注册原生「记忆」会话视图和「记忆」Settings 分区;布局、导航与卸载生命周期均由 DSH shell 管理,不再通过 DOM 选择器接管旧侧边栏。
125
+ 安装到兼容 DSH 的 `web` profile 后,Memoir 通过官方 slot 注册原生「记忆」会话视图和「记忆」Settings 分区;布局、导航与卸载生命周期均由 DSH shell 管理,不再通过 DOM 选择器接管旧侧边栏。
118
126
 
119
127
  - 项目记忆与所有项目的全局记忆;全局视图按项目默认折叠并显示完整生命周期计数;
120
128
  - 状态、分类和关键词筛选,BM25 分数展示;
@@ -129,7 +137,22 @@ memoir_record / memoir_update
129
137
  - GUI 跟随 `<html lang>` 在中文和英文间即时切换;Agent 侧语言由独立的 `language` 设置控制。
130
138
 
131
139
  <details>
132
- <summary>查看更多 GUI 截图</summary>
140
+ <summary>0.9.0 界面预览:原生插件配置入口与多语言设置</summary>
141
+
142
+ 原生插件详情页直接复用记忆设置,不必先打开记忆列表。下图为 DSH 0.2.0-rc.1 的原生插件详情页。
143
+
144
+ ![0.9.0 原生插件详情配置](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.9.0/picture/v0.9.0-host-plugin-zh.png)
145
+
146
+ 英文 GUI 中也可独立选择德语 Agent 文案;设置与记忆浏览分别滚动。
147
+
148
+ ![0.9.0 界面预览:英文界面选择德语 Agent 文案](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.9.0/picture/v0.9.0-preview-settings-en.png)
149
+
150
+ </details>
151
+
152
+ <details>
153
+ <summary>已发布历史版本 GUI 截图</summary>
154
+
155
+ ![v0.6.1 按项目折叠的全局记忆](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.6.1/picture/v0.6.1-global-project-groups-zh.png)
133
156
 
134
157
  ![v0.7.1 在 DSH rc.2 中的快照持久化诊断](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.7.1/picture/v0.7.1-snapshot-persistence-zh.png)
135
158
 
@@ -155,25 +178,26 @@ memoir_record / memoir_update
155
178
 
156
179
  | 渠道 | DSH 基线 | 安装方式 | 状态 |
157
180
  | --- | --- | --- | --- |
158
- | npm `latest`(`0.8.2`) | `>=0.1.7-rc.1 <0.1.8-0` | `dsh plugin --profile web add dsh-memoir@0.8.2` | 0.1.7 兼容线 |
181
+ | npm `latest`(`0.9.0`) | `>=0.2.0-rc.1 <0.3.0-0` | `dsh plugin --profile web add dsh-memoir@0.9.0` | 实测 0.2.0-rc.1 |
182
+ | npm 固定版 `0.8.2` | `>=0.1.7-rc.1 <0.1.8-0` | `dsh plugin --profile web add dsh-memoir@0.8.2` | 旧 0.1.7 兼容线 |
159
183
  | npm 固定版 `0.7.1` | `>=0.1.5-rc.1 <0.1.6-0` | `dsh plugin --profile web add dsh-memoir@0.7.1` | 旧 0.1.5 维护线 |
160
184
  | npm 固定版 `0.6.2` | `>=0.1.2-alpha.2 <0.1.3` | `dsh plugin --profile web add dsh-memoir@0.6.2` | 旧 0.1.2 兼容线 |
161
185
  | npm 固定版 `0.5.6` | `0.1.1-rc.2` | `dsh plugin --profile web add dsh-memoir@0.5.6` | rc2 兼容线 |
162
- | 源码 `v0.8.2` | `>=0.1.7-rc.1 <0.1.8-0` | 本地构建 + `link:` | 开发调试,不兼容旧 0.1.5 / 0.1.6 |
186
+ | 源码 `v0.9.0` | `>=0.2.0-rc.1 <0.3.0-0` | 本地构建 + `link:` | 开发调试,不兼容旧 0.1.x |
163
187
 
164
188
  需要 Node.js `^22.19.0 || >=24.0.0`。0.7.1 继续使用原生 `conversation.view` / `settings.section` 与 `snapshotEvents()`。DSH 0.1.5 的会话日志升级至 V3;其迁移与 Memoir 的 store v4 / settings v3 是独立格式。升级 DSH 前备份 DSH_HOME,迁移后的 DSH 会话不能承诺被旧宿主读取。Memoir 本次不迁移或清空记忆,也不启用新动态提示词行为;既有会话快照语义保持不变。
165
189
 
166
190
  <details>
167
191
  <summary>从源码安装</summary>
168
192
 
169
- 已发布 0.7.1 源码(旧 DSH 0.1.5):
193
+ 0.9.0 源码(DSH 0.2.0-rc.1):
170
194
 
171
195
  ```bash
172
- git clone --branch v0.7.1 https://github.com/Qinling-Melon-Farmers/dsh-memoir.git
196
+ git clone --branch v0.9.0 https://github.com/Qinling-Melon-Farmers/dsh-memoir.git
173
197
  cd dsh-memoir
174
198
  pnpm install --frozen-lockfile
175
199
  pnpm run build
176
- npm install --global @deepseek-ai/dsh@0.1.5-rc.1
200
+ npm install --global @deepseek-ai/dsh@0.2.0-rc.1
177
201
  dsh plugin --profile web add "link:/absolute/path/dsh-memoir"
178
202
  ```
179
203
 
@@ -183,11 +207,27 @@ dsh plugin --profile web add "link:/absolute/path/dsh-memoir"
183
207
 
184
208
  ## 原生侧栏与帮助入口
185
209
 
210
+ **已发布 0.8.2:**
211
+
186
212
  - 会话“记忆”和设置页入口保持不变;右侧栏引导页新增“记忆”,可边对话边看项目记忆、Hot Memory 和诊断,不会自动打开或抢占其它面板。
187
213
  - 侧栏读取所属会话的工作区,复用同一数据层;每个实例独立保存当前功能区和滚动状态。缺少侧栏服务时,会话页和设置页仍可用。
188
214
  - 任一记忆面板的“记忆设置”底部提供默认折叠的“关于与帮助”:显示插件版本、宿主范围、SDK 基线、维护者,以及仓库、双语文档、Release、反馈链接。插件仓库与当前工作区明确区分。
189
215
  - 关于区不后台联网、不探测工作区 Git remote、不上传路径或记忆内容。更新通过宿主插件管理器操作,先核对目标包要求的 DSH 版本和预发布通道;本面板不自动升级。
190
216
 
217
+ **0.9.0:**
218
+
219
+ - 插件名、版本、GitHub 项目、文档和“打开记忆设置”前移到面板顶部,打开会话、设置或右侧记忆面板即可看到,无须先滚过记忆或设置列表。详细兼容信息保持折叠,不强制跳转或请求 Star。
220
+ - 原生“插件”页面中打开 `dsh-memoir` 详情,即可使用同一套记忆设置表单;不另建一份配置,不向官方插件分组冒充注册。宿主没有此页面时,原有记忆入口仍可用。
221
+ - 开发 SDK 与兼容性基线升级到官方 npm `0.2.0-rc.1`;安装前核对宿主版本。旧 DSH 0.1.7 请固定安装 Memoir 0.8.2。
222
+
223
+ ## 离线更新公告
224
+
225
+ 首次打开记忆会话页时展示 0.9.0 更新摘要,不阻塞对话;点击“知道了”后,同一浏览器 origin 的本版本不再自动展示。“关于与帮助 → 查看本版更新”可随时重看。设置页和右侧栏不会自动弹出公告。
226
+
227
+ 公告随包内置、中英双语,不联网、不上传信息、不改变记忆或对话。仅在 UI 本地存储记录已确认版本;存储不可用时退化为当前页面去重,Web/桌面端或不同 origin 的确认状态不承诺同步。
228
+
229
+ ![0.9.0 离线公告组件预览(演示数据)](https://raw.githubusercontent.com/Qinling-Melon-Farmers/dsh-memoir/v0.9.0/picture/v0.9.0-announcement-zh.png)
230
+
191
231
  ## 存储、隐私与安全边界
192
232
 
193
233
  ```text
@@ -212,7 +252,7 @@ dsh plugin --profile web add "link:/absolute/path/dsh-memoir"
212
252
  | 字段 | 默认值 | 作用 |
213
253
  | --- | ---: | --- |
214
254
  | `enabled` | `true` | 工具、路由和 prompt 注入总开关 |
215
- | `language` | `zh` | Agent 可见的 prompt、工具 schema/结果、投影标题与错误语言;可选 `zh` / `en` |
255
+ | `language` | `zh` | Agent 文案语言;0.8.2 为 `zh` / `en`,0.9.0 新增 `de` / `ru`;与 GUI 语言独立 |
216
256
  | `announceToAgent` | `true` | 向 Agent 公告记忆工具与规则 |
217
257
  | `autoDistill` | `true` | 启用顶层有效回合收尾提醒 |
218
258
  | `autoDistillEvery` | `1` | 每 N 个 worked turn 最多提醒一次 |
@@ -268,6 +308,6 @@ pnpm test
268
308
  npm run bench
269
309
  ```
270
310
 
271
- 提交前请阅读 [CONTRIBUTING.md](./CONTRIBUTING.md)。版本变化见 [CHANGELOG.md](./CHANGELOG.md),正式包由 tag 工作流通过 npm OIDC 发布。当前版本是 [v0.8.2](https://github.com/Qinling-Melon-Farmers/dsh-memoir/releases/tag/v0.8.2),面向 DSH 0.1.7;旧 0.1.5 保留 0.7.1。
311
+ 提交前请阅读 [CONTRIBUTING.md](./CONTRIBUTING.md)。版本变化见 [CHANGELOG.md](./CHANGELOG.md),正式包由 tag 工作流通过 npm OIDC 发布。当前版本是 [v0.9.0](https://github.com/Qinling-Melon-Farmers/dsh-memoir/releases/tag/v0.9.0),面向 DSH 0.2.0-rc.1;旧 0.1.7 固定 0.8.2,旧 0.1.5 固定 0.7.1。
272
312
 
273
313
  Apache-2.0
package/cordis.patch.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  # dsh-memoir bundle patch: inserts the host-half plugin row into the web
2
2
  # profile roster. Applied as a profile bundle layer (the `dsh.bundle.patch`
3
- # manifest field) over dsh-base. dsh-memoir v0.8.1 targets the DSH
4
- # line >=0.1.7-rc.1 <0.1.8-0. Keep Memoir 0.7.1 on older DSH 0.1.5.
3
+ # manifest field) over dsh-base. dsh-memoir v0.9.0 targets the DSH
4
+ # line >=0.2.0-rc.1 <0.3.0-0. Keep Memoir 0.8.2 on older DSH 0.1.7.
5
5
  #
6
6
  # The row is a bare plugin by package name: the node half (exports ".")
7
7
  # registers the memoir_record / memoir_read tools, the /api/dsh-memoir panel
@@ -12,9 +12,9 @@
12
12
  # Optional config (all default true):
13
13
  # config:
14
14
  # enabled: true # master switch (tools, routes, prompt section)
15
- # language: zh # agent-facing copy: zh (default) or en
15
+ # language: zh # agent-facing copy: zh (default), en, de, ru
16
16
  # announceToAgent: true # system-prompt announcement
17
- # autoDistill: true # steer a distill prompt after each worked turn
17
+ # autoDistill: true # queue a separate wrap-up after each worked turn
18
18
  # autoDistillEvery: 1 # remind at most once per N worked turns
19
19
  # autoDistillCooldownMin: 0 # minimum minutes between successful reminders
20
20
  # autoDistillMinTools: 1 # minimum tool calls on the triggering turn
@@ -14,9 +14,7 @@ import { createUserMessage } from '@deepseek-ai/dsh-llm';
14
14
  import { DEFAULT_MEMOIR_LANGUAGE, hostCopy } from './i18n.js';
15
15
  /** The follow-up instruction; the originating work turn is not rewritten. */
16
16
  export function distillPrompt(language = DEFAULT_MEMOIR_LANGUAGE, originTurn) {
17
- const origin = originTurn === undefined ? '' : language === 'en'
18
- ? `Source work turn: ${originTurn}. This is a separate memory-only follow-up, not a new user task.\n`
19
- : `来源工作回合:${originTurn}。这是独立的记忆收尾回合,不是新的用户任务。\n`;
17
+ const origin = originTurn === undefined ? '' : hostCopy(language).distillOrigin(originTurn);
20
18
  return origin + hostCopy(language).distillPrompt;
21
19
  }
22
20
  /** Backwards-compatible Chinese prompt constant. */