dsh-memoir 0.5.3 → 0.5.5
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 +41 -11
- package/README.md +41 -11
- package/cordis.patch.yml +9 -2
- package/lib/client.js +989 -243
- package/lib/client.js.map +4 -4
- package/lib/index.js +61 -36
- package/lib/retrieval.d.ts +6 -1
- package/lib/retrieval.js +12 -0
- package/lib/routes.d.ts +9 -8
- package/lib/routes.js +3 -3
- package/lib/settings.d.ts +41 -19
- package/lib/settings.js +120 -48
- package/lib/snapshot.d.ts +8 -1
- package/lib/snapshot.js +18 -6
- package/lib/tools.d.ts +3 -1
- package/lib/tools.js +10 -4
- package/package.json +5 -2
package/README.en.md
CHANGED
|
@@ -9,10 +9,11 @@
|
|
|
9
9
|
> Cache-aware local project memory for DeepSeek Harness.
|
|
10
10
|
|
|
11
11
|
- **Local-only** — all data stays on your machine (`~/.dsh/dsh-memoir.json` + per-project `PROJECT_MEMORY.md`)
|
|
12
|
+
- **Zero regular runtime dependencies** — the npm package has no `dependencies`; its core relies only on DSH platform contracts and the Node.js standard library
|
|
12
13
|
- **Zero external memory service** — no vector database, no embedding API, no cloud memory service
|
|
13
14
|
- **Bounded hot-memory injection** — token-budgeted Hot Memory is injected into the system prompt (default 900/1200)
|
|
14
15
|
- **Ranked local recall** — inverted index + BM25 local ranked retrieval; `memoir_read` fetches long-tail history on demand
|
|
15
|
-
- **Web GUI** — a sidebar
|
|
16
|
+
- **Web GUI** — a bilingual sidebar panel with complete lifecycle editing, project/global browsing, BM25 search, Hot Memory, diagnostics, and live settings
|
|
16
17
|
|
|
17
18
|
## Quick Start
|
|
18
19
|
|
|
@@ -81,11 +82,23 @@ need long-tail history? memoir_read (local relevance-ranked recall)
|
|
|
81
82
|
|
|
82
83
|
**Session Snapshot freezing semantics**: one session's injected text is built once and frozen (stable prompt prefix, maximizing prompt-prefix cache hits); the current session does not re-consume memory it just wrote, and a new session rebuilds and sees the latest memory. Since v0.4.2, when there is no unique session identity (session.id / agent.id), freezing is skipped — a cache miss beats wrongly reusing another session's snapshot.
|
|
83
84
|
|
|
84
|
-
## v0.5.
|
|
85
|
+
## v0.5.5 Sidebar visual-parity fix
|
|
86
|
+
|
|
87
|
+
- Fixed the stylesheet-marker collision: another style carrying the same generic `data-plugin` value no longer makes Memoir skip its own CSS. The owned stylesheet has a unique `data-dsh-memoir-style` marker and is removed on plugin unload.
|
|
88
|
+
- Matched dsh-web-ui-all 0.3.x task-board and skill-center sidebar geometry: 36px row height, 10px horizontal padding, a 24px icon box, an 18px SVG, and an 8px icon-label gap.
|
|
89
|
+
- The collapsed rail now uses the same 36px circular control and 12px row spacing, hiding copy while preserving localized `aria-label` and tooltip text; the open-book glyph remains distinct from Skill Center.
|
|
90
|
+
- Playwright runtime assertions compare expanded and collapsed row/icon/svg/label coordinates, box sizes, typography, and color instead of relying on screenshots alone.
|
|
91
|
+
|
|
92
|
+
## v0.5.4 Complete GUI, bilingual settings, and Web UI integration
|
|
85
93
|
|
|
86
94
|
- The development and peer-dependency baseline is `@deepseek-ai/dsh-* 0.1.1-rc.2`.
|
|
87
|
-
-
|
|
88
|
-
-
|
|
95
|
+
- Add/edit forms now cover `importance`, `pinned`, `tags`, and `supersedes`; cards expose importance, tags, and replacement relationships, with a new section filter.
|
|
96
|
+
- Memory Settings now appears both inside the Memory panel and under Settings → Web UI Plugins. It covers agent injection, auto-distill, Hot Memory, recall, session snapshots, and the BM25 query cache.
|
|
97
|
+
- Every saved setting applies live and persists in `~/.dsh/dsh-memoir.settings.json`; version-1 settings remain readable and upgrade to version 2 only on the next save.
|
|
98
|
+
- The GUI follows DSH's `<html lang>` and switches between Chinese and English without a reload, including the sidebar entry, panel, and Settings card.
|
|
99
|
+
- The panel and sidebar emit `data-dsh-plugin="memoir"` / `data-dsh-part` semantic attributes for the dsh-web-ui v0.3 skin contract. Sidebar mounting is idempotent and self-heals after a complete shell rebuild.
|
|
100
|
+
- Center-panel coordination now responds to any sibling through the generic `dsh-panel-activate` protocol instead of recognizing only SSH and Task Board.
|
|
101
|
+
- Auto-distill retains per-agent worked-turn intervals, time cooldowns, and tool-call thresholds; defaults `1 / 0 / 1` preserve prior behavior.
|
|
89
102
|
- Store format v3 migrates v2 entries without changing their `id`, content, or timestamp. The first mutation materializes `importance`, `pinned`, `status`, `supersedes`, and `tags`; startup reads do not rewrite old files.
|
|
90
103
|
- Retrieval defaults to `active`. Archived and superseded history is retained and can be inspected from the Web panel. Explicit `supersedes` marks its targets as superseded; history is never deleted automatically.
|
|
91
104
|
- Agents can use `memoir_update` to edit an entry's section, title, content, and lifecycle in place; the Web panel also supports editing, pinning, marking superseded, archiving, and restoring.
|
|
@@ -118,15 +131,32 @@ Curated-query Top-5 hit rate: 100% (quality gate ≥ 90%, see `test/recall-quali
|
|
|
118
131
|
|
|
119
132
|
## GUI
|
|
120
133
|
|
|
121
|
-
The
|
|
134
|
+
The Project / Global / Search / Add / Delete / Diagnostics architecture now forms a complete management surface:
|
|
122
135
|
|
|
123
136
|
- **Search unified on RetrievalEngine**: a non-empty query calls `GET /api/dsh-memoir/search` — the same BM25 ranking as the agent's `memoir_read` — results ordered by relevance with scores shown
|
|
124
137
|
- **Hot Memory Inspector**: expand to see the Hot Memory that will actually be injected for the current workspace (Actions / Lessons / Recent state) — i.e. "what exactly the next session inherits"
|
|
125
138
|
- **Retrieval Diagnostics**: Retrieval Index (docs/terms/epoch), Query Cache (hits/misses/evictions/hit rate/size/capacity), Last Query (latency/returned), Session Snapshot (hash/createdAt/storeRevision)
|
|
126
|
-
- **
|
|
139
|
+
- **Complete lifecycle forms (v0.5.4)**: add and edit section, title, content, importance, pinning, tags, and explicit replacement relationships; filter by status and section
|
|
140
|
+
- **Complete live settings (v0.5.4)**: adjust agent injection, auto-distill, Hot Memory target/hard limits, recall defaults/maxima, session snapshots, and query cache immediately
|
|
141
|
+
- **Settings integration (v0.5.4)**: the same bilingual card mounts in the Memory panel and Settings → Web UI Plugins, and redraws immediately when the page language changes
|
|
142
|
+
- **Visual parity with the dsh-web-ui family (v0.5.5)**: the panel, sidebar entry, forms, cards and tabs ride the `--dsw-alias-*` / `--dsw-specific-*` / `--dsw-font-family` design tokens (with standalone fallbacks), matching the task-board / ssh / skill-explorer panels shipped by dsh-web-ui-all; the center-column panel mutual-exclusion protocol is aligned too.
|
|
127
143
|
|
|
128
144
|
## Screenshots
|
|
129
145
|
|
|
146
|
+
**v0.5.5 sidebar parity**: Memory now matches Task Board, SSH, and Skill Center in row height, horizontal position, icon box, and SVG size.
|
|
147
|
+
|
|
148
|
+

|
|
149
|
+
|
|
150
|
+
**v0.5.4 memory management**: importance, tags, replacement relationships, status/section filters, and lifecycle actions in one panel.
|
|
151
|
+
|
|
152
|
+

|
|
153
|
+
|
|
154
|
+
**v0.5.4 complete live settings**: the English Settings → Web UI Plugins card, switched live from the same Chinese-capable GUI.
|
|
155
|
+
|
|
156
|
+

|
|
157
|
+
|
|
158
|
+
The following screenshots retain the feature history of earlier releases:
|
|
159
|
+
|
|
130
160
|
**1. Plugin active & overall UI**: the sidebar gains a "Memory" entry (alongside SSH / Task Board, mutually exclusive panels); clicking opens the memory panel in the center column.
|
|
131
161
|
|
|
132
162
|

|
|
@@ -151,7 +181,7 @@ The v0.4 Project / Global / Search / Add / Delete / Diagnostics architecture is
|
|
|
151
181
|
|
|
152
182
|
```text
|
|
153
183
|
~/.dsh/dsh-memoir.json ← structured JSON (single source of truth / SSOT)
|
|
154
|
-
~/.dsh/dsh-memoir.settings.json ←
|
|
184
|
+
~/.dsh/dsh-memoir.settings.json ← complete runtime overrides saved by either GUI settings surface
|
|
155
185
|
<workspace>/PROJECT_MEMORY.md ← human-readable projection regenerated from the JSON (git-friendly)
|
|
156
186
|
|
|
157
187
|
No cloud memory DB · No embedding API · No vector DB
|
|
@@ -184,7 +214,7 @@ Add a `config` block on the plugin row in `cordis.patch.yml` (all optional; defa
|
|
|
184
214
|
|
|
185
215
|
The three auto-distill frequency conditions are combined with AND and isolated per agent. Idle, aborted, subagent, and prior-`memoir_record` turns do not advance the interval. A worked turn below `autoDistillMinTools` advances the interval but cannot trigger by itself. Cooldown changes only after a successful steer.
|
|
186
216
|
|
|
187
|
-
|
|
217
|
+
Fields in `cordis.patch.yml` remain startup defaults. Since v0.5.4, the Memory panel or Settings → Web UI Plugins can edit every runtime field except the master `enabled` switch. Saving atomically writes `~/.dsh/dsh-memoir.settings.json`; subsequent requests and turns read the new values immediately, and shrinking snapshot/query-cache capacities evicts the oldest entries at once. Already frozen session snapshots are not rewritten when budgets change, preserving prompt-prefix cache stability. Restore Startup Config removes the Web override and returns to the profile values resolved when the plugin mounted.
|
|
188
218
|
|
|
189
219
|
## Design Trade-offs
|
|
190
220
|
|
|
@@ -194,7 +224,7 @@ The auto-distill fields in `cordis.patch.yml` are startup defaults. Since v0.5.3
|
|
|
194
224
|
- **Multi-process safety**: store record/remove runs inside a cross-process critical section on `~/.dsh/dsh-memoir.lock` (exclusive O_EXCL creation with timeout); the section force-reloads from disk before mutating, so two interleaved DSH processes lose no updates (v0.4.2).
|
|
195
225
|
- **Windows paths**: canonical keys are fully lowercased (`C:\A` / `c:\a\` / `C:/A` share one bucket) while display paths keep the original casing (v0.4.2).
|
|
196
226
|
- **GUI and Agent share one engine**: panel search and `memoir_read` use the same RetrievalEngine instead of separate filter logic (v0.4.2).
|
|
197
|
-
- **Auto-distill cadence**: the default still reminds after every worked turn; research-heavy sessions can combine interval, cooldown, and activity thresholds and tune them immediately from
|
|
227
|
+
- **Auto-distill cadence**: the default still reminds after every worked turn; research-heavy sessions can combine interval, cooldown, and activity thresholds and tune them immediately from either GUI settings surface (v0.5.4).
|
|
198
228
|
|
|
199
229
|
## Use Cases
|
|
200
230
|
|
|
@@ -225,7 +255,7 @@ Each plugin has its own focus — pick per need; no "which is stronger" narrativ
|
|
|
225
255
|
pnpm install # install devDeps (typescript, esbuild, @deepseek-ai/* type packages)
|
|
226
256
|
pnpm run build # tsc builds the host + esbuild builds the client bundle
|
|
227
257
|
pnpm run typecheck # full type check (src + test)
|
|
228
|
-
pnpm test #
|
|
258
|
+
pnpm test # 163 tests: store (incl. multi-process lock) / settings / snapshot / selector / retrieval / tools / routes / auto-distill / GUI mounting, stylesheet ownership, panel activation & bilingual behavior / integration / bundle protocol & purity / release notes
|
|
229
259
|
npm run bench # benchmark (100/1k/10k/100k entries); results written to bench/report.md
|
|
230
260
|
```
|
|
231
261
|
|
|
@@ -259,7 +289,7 @@ Bug reports must include screenshot / log evidence, a smoke test, code reference
|
|
|
259
289
|
|
|
260
290
|
## Release
|
|
261
291
|
|
|
262
|
-
Current stable release: **v0.5.
|
|
292
|
+
Current stable release: **v0.5.5** (2026-08-24) · [GitHub Release](https://github.com/Qinling-Melon-Farmers/dsh-memoir/releases/tag/v0.5.5) · [npm](https://www.npmjs.com/package/dsh-memoir/v/0.5.5). Full history is in [CHANGELOG.md](./CHANGELOG.md).
|
|
263
293
|
|
|
264
294
|
Every version keeps Chinese and English release notes in sync. GitHub Releases show Chinese by default and place the English notes in a collapsible `English` section.
|
|
265
295
|
|
package/README.md
CHANGED
|
@@ -9,10 +9,11 @@
|
|
|
9
9
|
> Cache-aware local project memory for DeepSeek Harness.
|
|
10
10
|
|
|
11
11
|
- **Local-only**:全部数据留在本机(`~/.dsh/dsh-memoir.json` + 项目内 `PROJECT_MEMORY.md`)
|
|
12
|
+
- **零普通运行时依赖**:npm 包没有 `dependencies`,核心逻辑只依赖 DSH 平台契约与 Node.js 标准库
|
|
12
13
|
- **Zero external memory service**:无向量数据库、无 embedding API、无云端记忆服务
|
|
13
14
|
- **Bounded hot-memory injection**:token 预算内的 Hot Memory 自动注入 system prompt(默认 900/1200)
|
|
14
15
|
- **Ranked local recall**:倒排索引 + BM25 本地排序召回,`memoir_read` 按需检索长尾历史
|
|
15
|
-
- **Web GUI
|
|
16
|
+
- **Web GUI**:中英双语侧边栏面板——完整生命周期编辑、项目/全局浏览、BM25 搜索、Hot Memory、诊断和实时设置
|
|
16
17
|
|
|
17
18
|
## Quick Start
|
|
18
19
|
|
|
@@ -81,11 +82,23 @@ memoir_record 沉淀工作 / 教训 / 下一步
|
|
|
81
82
|
|
|
82
83
|
**Session Snapshot 冻结语义**:同一 session 的注入文本只构建一次并冻结(prompt 前缀稳定,最大化 prompt-prefix cache 命中);当前 session 不重新消费自己刚写的记忆,新 session 重建并看到最新记忆。v0.4.2 起,没有唯一会话身份(session.id / agent.id)时**不做冻结**——宁可 cache miss,不可跨 session 错复用旧快照。
|
|
83
84
|
|
|
84
|
-
## v0.5.
|
|
85
|
+
## v0.5.5 侧栏视觉一致性修复
|
|
86
|
+
|
|
87
|
+
- 修复样式标记冲突:其他同名 `data-plugin` 样式不再导致 Memoir 跳过自身 CSS 注入,插件样式改由唯一 `data-dsh-memoir-style` 标识并随插件卸载清理。
|
|
88
|
+
- 与 dsh-web-ui-all 0.3.x 的任务看板和技能中心使用同一侧栏几何:36px 行高、10px 水平内边距、24px 图标盒、18px SVG、8px 图文间距。
|
|
89
|
+
- 收起态统一为 36px 圆形入口和 12px 行间距,隐藏文字但保留本地化 `aria-label` / tooltip;开放书图标继续与技能中心图标区分。
|
|
90
|
+
- Playwright 实机断言同时比较宽屏与收起态的 row/icon/svg/label 坐标、盒尺寸、字体和颜色,不再仅凭截图判断。
|
|
91
|
+
|
|
92
|
+
## v0.5.4 完整 GUI、双语设置与 Web UI 适配
|
|
85
93
|
|
|
86
94
|
- 当前开发基线为 `@deepseek-ai/dsh-* 0.1.1-rc.2`;peer dependency 与开发依赖已统一到 rc2。
|
|
87
|
-
-
|
|
88
|
-
-
|
|
95
|
+
- 新增/编辑表单现已完整覆盖 `importance`、`pinned`、`tags` 与 `supersedes`;列表显示重要度、标签和替代关系,并新增 section 筛选。
|
|
96
|
+
- 「记忆设置」同时出现在记忆面板和 Settings → Web UI 插件,覆盖 agent 注入、自动蒸馏、Hot Memory、召回、会话快照与 BM25 查询缓存。
|
|
97
|
+
- 保存后的所有设置实时生效并持久化到 `~/.dsh/dsh-memoir.settings.json`;v1 设置文件兼容读取,首次保存再升级到 v2。
|
|
98
|
+
- GUI 根据 DSH 的 `<html lang>` 在中文/英文之间即时切换,无需刷新;侧栏入口、面板和 Settings 卡保持同一语言。
|
|
99
|
+
- 面板与侧栏输出 `data-dsh-plugin="memoir"` / `data-dsh-part` 语义属性,支持 dsh-web-ui v0.3 皮肤契约;侧栏挂载具备幂等和整棵 shell 重建自愈。
|
|
100
|
+
- 中心面板通过通用 `dsh-panel-activate` 协议响应任意兄弟面板,不再只识别 SSH / Task Board。
|
|
101
|
+
- 自动蒸馏继续支持按 agent 配置 worked-turn 间隔、时间冷却和工具调用阈值;默认值 `1 / 0 / 1` 与旧版行为一致。
|
|
89
102
|
- 存储格式从 v2 迁移到 v3:旧条目保持原有 `id`、内容和时间,首次变更时补齐 `importance`、`pinned`、`status`、`supersedes` 与 `tags`;启动读取不会重写旧文件。
|
|
90
103
|
- 默认只召回 `active` 条目;归档和被替代条目保留在历史中,可在 Web 面板切换状态查看。显式 `supersedes` 会把目标条目标记为 `superseded`,不会自动删除历史。
|
|
91
104
|
- Agent 可用 `memoir_update` 原地编辑条目的分类、标题、正文和生命周期;Web 面板也支持编辑、置顶、标记过时、归档与恢复。
|
|
@@ -118,15 +131,32 @@ curated 查询 Top-5 命中率 100%(质量门禁 ≥90%,见 `test/recall-qua
|
|
|
118
131
|
|
|
119
132
|
## GUI
|
|
120
133
|
|
|
121
|
-
|
|
134
|
+
Project / Global / Search / Add / Delete / Diagnostics 架构已经扩展为完整管理面:
|
|
122
135
|
|
|
123
136
|
- **搜索统一走 RetrievalEngine**:query 非空时面板调用 `GET /api/dsh-memoir/search`,与 agent 的 `memoir_read` 共用同一套 BM25 排序,结果按相关性排列并显示分数
|
|
124
137
|
- **Hot Memory Inspector**:展开查看当前工作区实际会被注入的 Hot Memory(Actions / Lessons / Recent state),即「下一会话到底自动继承什么」
|
|
125
138
|
- **Retrieval Diagnostics**:Retrieval Index(docs/terms/epoch)、Query Cache(hits/misses/evictions/hit rate/size/capacity)、Last Query(latency/returned)、Session Snapshot(hash/createdAt/storeRevision)
|
|
126
|
-
-
|
|
139
|
+
- **完整生命周期表单(v0.5.4)**:新建与编辑均支持分类、标题、正文、重要度、置顶、标签和显式替代关系;支持状态与分类双重筛选
|
|
140
|
+
- **完整实时设置(v0.5.4)**:agent 注入、auto-distill、Hot Memory 目标/硬上限、读取默认/最大条数、会话快照和查询缓存均可即时调整
|
|
141
|
+
- **Settings 集成(v0.5.4)**:同一双语设置卡同时挂载到记忆面板和 Settings → Web UI 插件;页面切换语言时即时重绘
|
|
142
|
+
- **视觉与 dsh-web-ui 家族一致(v0.5.5)**:面板、侧栏入口与表单/卡片/标签页共用 `--dsw-alias-*` / `--dsw-specific-*` / `--dsw-font-family` 设计令牌(保留独立安装回退),与 dsh-web-ui-all 的 task-board / ssh / skill-explorer 同族;中心列面板互斥协议已对齐。
|
|
127
143
|
|
|
128
144
|
## 界面预览
|
|
129
145
|
|
|
146
|
+
**v0.5.5 侧栏一致性**:记忆入口与任务看板、SSH、技能中心在行高、水平位置、图标盒和 SVG 尺寸上保持一致。
|
|
147
|
+
|
|
148
|
+

|
|
149
|
+
|
|
150
|
+
**v0.5.4 记忆管理**:重要度、标签、替代关系、状态/分类筛选与完整生命周期操作集中在同一面板。
|
|
151
|
+
|
|
152
|
+

|
|
153
|
+
|
|
154
|
+
**v0.5.4 完整实时设置**:Settings → Web UI 插件中的中文设置卡;README English 展示同一卡片的英文实时切换效果。
|
|
155
|
+
|
|
156
|
+

|
|
157
|
+
|
|
158
|
+
以下图片保留早期版本的功能演进记录:
|
|
159
|
+
|
|
130
160
|
**1. 插件生效与整体 UI**:侧边栏出现「记忆」入口(与 SSH / 任务看板同列、互斥展开),点击后在中心列打开记忆面板。
|
|
131
161
|
|
|
132
162
|

|
|
@@ -151,7 +181,7 @@ curated 查询 Top-5 命中率 100%(质量门禁 ≥90%,见 `test/recall-qua
|
|
|
151
181
|
|
|
152
182
|
```text
|
|
153
183
|
~/.dsh/dsh-memoir.json ← 结构化 JSON(唯一事实源 / SSOT)
|
|
154
|
-
~/.dsh/dsh-memoir.settings.json ←
|
|
184
|
+
~/.dsh/dsh-memoir.settings.json ← 两个 GUI 设置面保存的完整运行时覆盖
|
|
155
185
|
<工作区>/PROJECT_MEMORY.md ← 由 JSON 重新生成的人类可读投影(git 友好)
|
|
156
186
|
|
|
157
187
|
No cloud memory DB · No embedding API · No vector DB
|
|
@@ -184,7 +214,7 @@ JSON 是 source of truth,Markdown 是 generated projection:面板、工具
|
|
|
184
214
|
|
|
185
215
|
三个 auto-distill 频率条件按 AND 关系判定并按 agent 隔离。idle、aborted、subagent、已调用 `memoir_record` 的 turn 不推进间隔计数;低于 `autoDistillMinTools` 的 worked turn 会推进间隔,但自身不能触发提醒。冷却只在 steer 成功后更新。
|
|
186
216
|
|
|
187
|
-
`cordis.patch.yml`
|
|
217
|
+
`cordis.patch.yml` 中的字段是启动默认值。v0.5.4 起,可从记忆面板或 Settings → Web UI 插件修改除总开关 `enabled` 外的全部运行时字段:保存会原子写入 `~/.dsh/dsh-memoir.settings.json`,后续请求或 turn 立即读取;缩小快照/查询缓存容量会立即淘汰最旧项。已冻结的 session snapshot 不会因预算变化而重写,以继续保证 prompt-prefix cache 稳定。「恢复启动配置」会删除 Web 覆盖并回到本次挂载时解析出的 profile 值。
|
|
188
218
|
|
|
189
219
|
## Design Trade-offs
|
|
190
220
|
|
|
@@ -194,7 +224,7 @@ JSON 是 source of truth,Markdown 是 generated projection:面板、工具
|
|
|
194
224
|
- **多进程安全**:store 的 record/remove 走 `~/.dsh/dsh-memoir.lock` 跨进程临界区(O_EXCL 独占创建 + 超时),临界区内强制从磁盘重读再改,两个 DSH 进程交错写入不丢更新(v0.4.2)。
|
|
195
225
|
- **Windows 路径**:canonical key 全小写(`C:\A` / `c:\a\` / `C:/A` 一个桶),display path 保留原始大小写(v0.4.2)。
|
|
196
226
|
- **GUI 与 Agent 同源**:面板搜索与 `memoir_read` 共用 RetrievalEngine,不再各写一套过滤逻辑(v0.4.2)。
|
|
197
|
-
- **自动收尾节奏**:默认仍逐 worked turn
|
|
227
|
+
- **自动收尾节奏**:默认仍逐 worked turn 提醒;研究型会话可组合轮次间隔、冷却与活动阈值降低打扰,并从两个 GUI 设置面即时调节(v0.5.4)。
|
|
198
228
|
|
|
199
229
|
## Use Cases
|
|
200
230
|
|
|
@@ -225,7 +255,7 @@ JSON 是 source of truth,Markdown 是 generated projection:面板、工具
|
|
|
225
255
|
pnpm install # 安装 devDeps(typescript、esbuild、@deepseek-ai/* 类型包)
|
|
226
256
|
pnpm run build # tsc 构建 host + esbuild 构建 client bundle
|
|
227
257
|
pnpm run typecheck # 全量类型检查(src + test)
|
|
228
|
-
pnpm test #
|
|
258
|
+
pnpm test # 163 项测试:store(含多进程锁) / settings / snapshot / selector / retrieval / tools / routes / 自动收尾 / GUI 挂载、样式所有权、面板激活与双语 / 集成 / bundle 协议与纯净性 / 发布说明
|
|
229
259
|
npm run bench # benchmark(100/1k/10k/100k 条目),结果写入 bench/report.md
|
|
230
260
|
```
|
|
231
261
|
|
|
@@ -260,7 +290,7 @@ PR 请先提 Issue 讨论。
|
|
|
260
290
|
|
|
261
291
|
## Release
|
|
262
292
|
|
|
263
|
-
当前稳定版:**v0.5.
|
|
293
|
+
当前稳定版:**v0.5.5**(2026-08-24) · [GitHub Release](https://github.com/Qinling-Melon-Farmers/dsh-memoir/releases/tag/v0.5.5) · [npm](https://www.npmjs.com/package/dsh-memoir/v/0.5.5)。完整历史见 [CHANGELOG.md](./CHANGELOG.md)。
|
|
264
294
|
|
|
265
295
|
每个版本的更新日志均同步维护中英文;GitHub Release 默认展开中文,英文说明收纳在可折叠的 `English` 区域。
|
|
266
296
|
|
package/cordis.patch.yml
CHANGED
|
@@ -19,8 +19,15 @@
|
|
|
19
19
|
# autoDistillEvery: 1 # remind at most once per N worked turns
|
|
20
20
|
# autoDistillCooldownMin: 0 # minimum minutes between successful reminders
|
|
21
21
|
# autoDistillMinTools: 1 # minimum tool calls on the triggering turn
|
|
22
|
-
#
|
|
23
|
-
#
|
|
22
|
+
# All fields except enabled are startup defaults. v0.5.4+ can persist complete
|
|
23
|
+
# live overrides from the Memory panel or Settings -> Web UI Plugins:
|
|
24
|
+
# hotMemoryTokens: 900
|
|
25
|
+
# hotMemoryMaxTokens: 1200
|
|
26
|
+
# readDefaultLimit: 8
|
|
27
|
+
# readMaxLimit: 30
|
|
28
|
+
# sessionSnapshotMax: 128
|
|
29
|
+
# queryCacheSize: 128
|
|
30
|
+
# Overrides live in ~/.dsh/dsh-memoir.settings.json and can be reset.
|
|
24
31
|
- insert:
|
|
25
32
|
- id: memoir
|
|
26
33
|
name: dsh-memoir
|