dsh-memento 0.5.4 → 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/ARCHITECTURE.md CHANGED
@@ -79,7 +79,7 @@ memory 工具(add)
79
79
  4. **memory/* 会话事件:词汇已声明,运行时自适应派发(rc.6 约束)**。
80
80
  - `types.d.ts` 声明合并了 `memory/added|updated|removed|recalled|snapshot` 的 SessionEventMap 词汇与载荷形状;
81
81
  - rc.6 无插件事件注册面:`KNOWN_SESSION_EVENT_TYPES` 不含 memory/*,且 `Session.append` 无法标记 `ignorable`——append 未注册类型会让该会话下次加载被持久化层整体拒绝(read 路径 enforce,见 session-persistence coordinator);
82
- - 因此运行时只在 `KNOWN_SESSION_EVENT_TYPES.has(type)` 时才 append(未来 harness 收录后自动开启);当前审计链 = approval/asked+decided(已知类型,reason 携带完整写载荷)+ 插件审计表 audit。这是与官方机制对齐后的必然选择,不是偷工减料。
82
+ - 因此运行时只在 `KNOWN_SESSION_EVENT_TYPES.has(type)` 时才 append(未来 harness 收录后自动开启);当前审计链 = approval/asked+decided(已知类型,reason 携带完整写载荷)+ 插件审计表 audit。这是与官方机制对齐后的必然选择,不是偷工减料。rc.1 / 0.1.3-alpha.1 复核(2026-09-04):append 第三参仍为 surface-only SurfaceIntent、仍无 ignorable 写入通道,本决策不变。
83
83
 
84
84
  5. **审计 = 审批对 + 审计表 + 快照三条链**。
85
85
  - 每次写:approval/asked(reason 全文载荷)→ approval/decided(结果)→ audit 行(outcome 含 policy 来源、entry id、会话 id);
package/CHANGELOG.md CHANGED
@@ -1,16 +1,22 @@
1
- # Changelog
1
+ # Changelog
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.5.5] - 2026-09-04
9
+
10
+ ### Changed
11
+
12
+ - Align the devDependency pins to the published dsh `0.1.2-rc.1` line, move the compat CI probes from `0.1.2-alpha.5` to `0.1.2-rc.1`, and refresh the version notes (the adaptive session-event gate keeps staying closed on rc.1); no behavior change.
13
+
8
14
  ## [0.5.4] - 2026-09-03
9
15
 
10
16
  ### Added
11
17
 
12
- - **Host settings panel integration** — when the DSH settings service is mounted, the plugin registers the `dsh-memento` settings namespace (every `Config` field except `enabled`, plus a new `panel.enabled`), and its browser half contributes a **top-level `dsh-memento` entry to the DSH settings sidebar** (via the public `settings.section` slot, like the built-in sections). Edits persist to the settings user layer (`settings.yaml`) with staged-draft save/discard/per-field reset semantics. Nearly everything applies live: write policies, language, budgets, limits, proposals, panel; `dbPath` / `auditRetentionDays` apply by reopening the store (old one closed safely); `retrieval.vector` swaps the retriever in place; only `snapshotOrder` needs a DSH reload (changes are recorded as a `settings-startup-fields` audit row). Without the settings service the plugin behaves exactly as composed.
13
- - **Hideable floating panel button** — new `panel.enabled` config (default `true`); `false` stops the web panel from rendering its 🧠 entry button (addresses upstream issue #7). The panel probes its own `/api/memento/entries` response at startup and falls back to showing the button when the probe fails.
18
+ - **Host settings panel integration** 鈥?when the DSH settings service is mounted, the plugin registers the `dsh-memento` settings namespace (every `Config` field except `enabled`, plus a new `panel.enabled`), and its browser half contributes a **top-level `dsh-memento` entry to the DSH settings sidebar** (via the public `settings.section` slot, like the built-in sections). Edits persist to the settings user layer (`settings.yaml`) with staged-draft save/discard/per-field reset semantics. Nearly everything applies live: write policies, language, budgets, limits, proposals, panel; `dbPath` / `auditRetentionDays` apply by reopening the store (old one closed safely); `retrieval.vector` swaps the retriever in place; only `snapshotOrder` needs a DSH reload (changes are recorded as a `settings-startup-fields` audit row). Without the settings service the plugin behaves exactly as composed.
19
+ - **Hideable floating panel button** 鈥?new `panel.enabled` config (default `true`); `false` stops the web panel from rendering its 馃 entry button (addresses upstream issue #7). The panel probes its own `/api/memento/entries` response at startup and falls back to showing the button when the probe fails.
14
20
 
15
21
  ### Changed
16
22
 
@@ -38,9 +44,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
38
44
 
39
45
  ### Added
40
46
 
41
- - **Embedding Provider seam (`ctx.memoryEmbedding`)** — new `lib/embedding.mjs` registry ships a deterministic fake-hash provider by default, so third-party plugins can register real embedding backends behind the same Service Definition.
42
- - **Retrieval Provider seam (`ctx.memoryRetrieval`)** — new `lib/retrieval.mjs` registry keeps the built-in substring retriever as the zero-dependency main path and adds an optional `VectorRetriever` for semantic recall, enabled when `config.retrieval.vector` is `true` and an embedding provider is detected (graceful fallback to substring otherwise).
43
- - **stdio MCP server export** — new `bin/mcp-server.mjs` and `lib/mcp.mjs` expose the memory seam as an MCP server through the `dsh-memento-mcp` bin.
47
+ - **Embedding Provider seam (`ctx.memoryEmbedding`)** 鈥?new `lib/embedding.mjs` registry ships a deterministic fake-hash provider by default, so third-party plugins can register real embedding backends behind the same Service Definition.
48
+ - **Retrieval Provider seam (`ctx.memoryRetrieval`)** 鈥?new `lib/retrieval.mjs` registry keeps the built-in substring retriever as the zero-dependency main path and adds an optional `VectorRetriever` for semantic recall, enabled when `config.retrieval.vector` is `true` and an embedding provider is detected (graceful fallback to substring otherwise).
49
+ - **stdio MCP server export** 鈥?new `bin/mcp-server.mjs` and `lib/mcp.mjs` expose the memory seam as an MCP server through the `dsh-memento-mcp` bin.
44
50
 
45
51
  ## [0.4.5] - 2026-08-23
46
52
 
@@ -66,7 +72,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66
72
 
67
73
  ### Changed
68
74
 
69
- - `package.json#dshWorkshop.lifecycle.activation` upgraded from `restart-profile` to `hot-reload`: with the panel routes riding the plugin fiber since 0.4.1, dispose-and-reactivate is fully clean. Proven by a Loader-level hot-reload composition test that drives `Include.refresh()` — the same transaction the HMR watcher triggers — through a `language` en → zh → en cycle against a duplicate-strict mock `webServer`, asserting the memory seam, the re-applied config, and the routes re-registering without a duplicate route.
75
+ - `package.json#dshWorkshop.lifecycle.activation` upgraded from `restart-profile` to `hot-reload`: with the panel routes riding the plugin fiber since 0.4.1, dispose-and-reactivate is fully clean. Proven by a Loader-level hot-reload composition test that drives `Include.refresh()` 鈥?the same transaction the HMR watcher triggers 鈥?through a `language` en 鈫?zh 鈫?en cycle against a duplicate-strict mock `webServer`, asserting the memory seam, the re-applied config, and the routes re-registering without a duplicate route.
70
76
 
71
77
  ## [0.4.1] - 2026-08-19
72
78
 
@@ -78,33 +84,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
78
84
 
79
85
  ### Added
80
86
 
81
- - **dsh-memory-protocol v1** — the community rehearsal of the DSH memory protocol: normative spec in `docs/protocol-v1.md` (+ 中文), machine-readable JSON Schema in `docs/schemas/dsh-memory-protocol-v1.schema.json`, entry spec extended with `tags` (≤16 × ≤32 chars) and a per-entry `version` that increments on every `replace` (store schema v4, forward-migrated).
82
- - **Protocol/implementation separation** — write semantics moved into `lib/protocol.mjs` (`MemoryProtocolCore`, zero DSH dependencies); `MemoryService` is now a thin subclass that only injects the approval transport and the session-event emission gate. Behavior is unchanged.
83
- - **Adapter registry `ctx.memoryAdapters`** — reversible `register()`/`list()`/`adapt()`/`export()` plus three built-in reference adapters: `mem0`, `hermes-memory-md`, `claude-code-memory-md` (pure data converters — never model extraction). New command verbs: `/memory adapters`, `export --adapter=<id>` (read-only), `import --adapter=<id> <path|inline>` (rides the approval-gated `seed`, per-entry audit). Onboarding guide in `docs/adapters-guide.md` (+ 中文).
84
- - **Protocol conformance suite** — `test/protocol-conformance/`: 22 distributable cases (entry model, write semantics, budget model, audit reconstruction, export envelope) with a `--provider` CLI for third parties; CI runs them against dsh-memento's own provider as the golden reference (`npm run test:conformance`).
85
- - **Upstream proposal material** — `docs/upstream-proposal.md` (+ 中文): why the official `ctx.memory` seam should adopt the protocol, differences from the current seam, and the migration path.
87
+ - **dsh-memory-protocol v1** 鈥?the community rehearsal of the DSH memory protocol: normative spec in `docs/protocol-v1.md` (+ 涓枃), machine-readable JSON Schema in `docs/schemas/dsh-memory-protocol-v1.schema.json`, entry spec extended with `tags` (鈮?6 脳 鈮?2 chars) and a per-entry `version` that increments on every `replace` (store schema v4, forward-migrated).
88
+ - **Protocol/implementation separation** 鈥?write semantics moved into `lib/protocol.mjs` (`MemoryProtocolCore`, zero DSH dependencies); `MemoryService` is now a thin subclass that only injects the approval transport and the session-event emission gate. Behavior is unchanged.
89
+ - **Adapter registry `ctx.memoryAdapters`** 鈥?reversible `register()`/`list()`/`adapt()`/`export()` plus three built-in reference adapters: `mem0`, `hermes-memory-md`, `claude-code-memory-md` (pure data converters 鈥?never model extraction). New command verbs: `/memory adapters`, `export --adapter=<id>` (read-only), `import --adapter=<id> <path|inline>` (rides the approval-gated `seed`, per-entry audit). Onboarding guide in `docs/adapters-guide.md` (+ 涓枃).
90
+ - **Protocol conformance suite** 鈥?`test/protocol-conformance/`: 22 distributable cases (entry model, write semantics, budget model, audit reconstruction, export envelope) with a `--provider` CLI for third parties; CI runs them against dsh-memento's own provider as the golden reference (`npm run test:conformance`).
91
+ - **Upstream proposal material** 鈥?`docs/upstream-proposal.md` (+ 涓枃): why the official `ctx.memory` seam should adopt the protocol, differences from the current seam, and the migration path.
86
92
  - `memory` tool accepts optional `tags` on add/replace/consolidate; tool results and `/memory export` documents carry `tags`/`version`.
87
93
 
88
94
  ### Changed
89
95
 
90
96
  - Five-language READMEs: protocol section, adapter matrix, conformance suite, new command verbs, and the development gate list (now 133 tests).
91
- - ARCHITECTURE: decisions 13–15 (protocol separation, schema v4, adapter registry + conformance suite).
97
+ - ARCHITECTURE: decisions 13鈥?5 (protocol separation, schema v4, adapter registry + conformance suite).
92
98
  - npm package now ships the protocol docs and the conformance suite (`files` whitelist).
93
99
 
94
100
  ## [0.3.1] - 2026-08-15
95
101
 
96
102
  ### Fixed
97
103
 
98
- - Boot crash on default Windows setups (reported in [issue #1](https://github.com/PerryLink/dsh-memento/issues/1)): `dsh web` does not write the harness's resolved home back to `process.env.DSH_HOME`, so `resolveDbPath` threw `MISSING_DSH_HOME` and failed the whole profile load. It now falls back to `~/.dsh` — the same documented fallback as the official harness (`resolveDshHome()`), replicated with `os.homedir()` to keep `lib/` zero-DSH-dependency. Relative `dbPath` values resolve against the same fallback home.
104
+ - Boot crash on default Windows setups (reported in [issue #1](https://github.com/PerryLink/dsh-memento/issues/1)): `dsh web` does not write the harness's resolved home back to `process.env.DSH_HOME`, so `resolveDbPath` threw `MISSING_DSH_HOME` and failed the whole profile load. It now falls back to `~/.dsh` 鈥?the same documented fallback as the official harness (`resolveDshHome()`), replicated with `os.homedir()` to keep `lib/` zero-DSH-dependency. Relative `dbPath` values resolve against the same fallback home.
99
105
  - Removed the now-unreachable `MISSING_DSH_HOME` error code.
100
106
 
101
107
  ## [0.3.0] - 2026-08-15
102
108
 
103
109
  ### Added
104
110
 
105
- - `/memory import` subcommand: restores entries from a `/memory export` document (file path or inline JSON starting with `{`). Validates the `dsh-memento` / `memory-export-v1` markers and entry shapes (unknown schema versions fail loudly), caps one import at 1000 entries, then rides `seed` — single approval, full budget pre-check, one atomic transaction. `source`/`workspaceKey`/`agentKey` survive the round-trip; entries get fresh ids/timestamps and reset recall counts. This completes the backup/migration story.
106
- - Approve-what-you-see approval payloads: `replace` carries `from:` (full previous entry) + `to:` (new text), `remove` carries the full text of the entry being deleted (no more bare substrings), and `consolidate` carries each target's resolved text (300-char excerpt cap per target) — the approval reason now holds the complete change being authorized.
107
- - `*-denied` audit rows: every rejected/cancelled/unavailable write (including the turn-outside `/memory` gate path, which has no approval audit pair) lands a denied row with the real decision source — denials now have their own evidence chain.
111
+ - `/memory import` subcommand: restores entries from a `/memory export` document (file path or inline JSON starting with `{`). Validates the `dsh-memento` / `memory-export-v1` markers and entry shapes (unknown schema versions fail loudly), caps one import at 1000 entries, then rides `seed` 鈥?single approval, full budget pre-check, one atomic transaction. `source`/`workspaceKey`/`agentKey` survive the round-trip; entries get fresh ids/timestamps and reset recall counts. This completes the backup/migration story.
112
+ - Approve-what-you-see approval payloads: `replace` carries `from:` (full previous entry) + `to:` (new text), `remove` carries the full text of the entry being deleted (no more bare substrings), and `consolidate` carries each target's resolved text (300-char excerpt cap per target) 鈥?the approval reason now holds the complete change being authorized.
113
+ - `*-denied` audit rows: every rejected/cancelled/unavailable write (including the turn-outside `/memory` gate path, which has no approval audit pair) lands a denied row with the real decision source 鈥?denials now have their own evidence chain.
108
114
  - Session-visibility isolation for reads and write targeting: `memory` / `memory_recall` queries filter by the session's `agentPreset` (shared + own agent), and `replace`/`remove`/`consolidate` can only target entries visible to the session (shared + own agent, workspace entries only for the session cwd). Management surfaces (`/memory`, the panel) keep the full cross-agent view and now render non-shared entries' agent keys.
109
115
  - `query` accepts an explicit `agentKey` option (`service.query(filter, { agentKey })`); without it, behavior is unchanged (full view, backward compatible).
110
116
 
@@ -113,7 +119,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
113
119
  - `proposalDecide` now resolves and updates inside one transaction: concurrent approve/dismiss races settle first-writer-wins instead of double-deciding.
114
120
  - `/memory proposals approve` no longer masks a successful write when the proposal was concurrently decided elsewhere.
115
121
  - Release workflow is now idempotent: it skips `npm publish` when the tag's version is already on npm, so re-pushing an old tag cannot fail a run.
116
- - Cross-platform test fix: the `resolveDbPath` absolute-path sample now matches the platform's `path.isAbsolute` semantics (a Windows drive path is relative on POSIX) — CI is green on all three platforms instead of red on Linux/macOS.
122
+ - Cross-platform test fix: the `resolveDbPath` absolute-path sample now matches the platform's `path.isAbsolute` semantics (a Windows drive path is relative on POSIX) 鈥?CI is green on all three platforms instead of red on Linux/macOS.
117
123
 
118
124
  ### Changed
119
125
 
@@ -130,7 +136,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
130
136
  - Bilingual `memory_recall` tool description, parameter descriptions, and result renderer.
131
137
  - New README section "What we learned from the terminal memories" (Claude Code / Codex / Hermes), mirrored across all five languages.
132
138
  - `commandListLimit` (default 50) and `commandAuditLimit` (default 10) config fields for the `/memory` command surface.
133
- - Coverage gate (`npm run check:coverage`: lib ≥90%, index.mjs ≥85%, all files ≥90%) and a weekly `next`-rc compatibility probe workflow.
139
+ - Coverage gate (`npm run check:coverage`: lib 鈮?0%, index.mjs 鈮?5%, all files 鈮?0%) and a weekly `next`-rc compatibility probe workflow.
134
140
  - Peer dependency ranges widened to `>=0.1.0-rc.6` so later harness rc releases resolve without a coordinated release.
135
141
  - Package metadata (`repository`/`homepage`/`bugs`), `types` conditions on the `exports` map, and this changelog.
136
142
 
@@ -140,7 +146,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
140
146
  - `/memory list` / `query` render at most `commandListLimit` entries and label truncation instead of silently dropping rows.
141
147
  - `seed` inserts run in one SQLite transaction: any mid-batch failure rolls back the whole batch (the documented all-or-nothing promise now holds).
142
148
  - `replace` re-resolves the target and recomputes the net budget delta after approval, closing the stale-previous race during the approval wait.
143
- - Audit rows record the real decision source (`via approval, writePolicy …` vs `via write gate`) instead of always labeling the configured policy.
149
+ - Audit rows record the real decision source (`via approval, writePolicy 鈥 vs `via write gate`) instead of always labeling the configured policy.
144
150
  - `memory_recall` description now states the true case semantics (case-sensitive for memory entries, case-insensitive for session history).
145
151
  - `maxEntriesPerQuery` is documented and enforced as the default result cap; explicit `limit` values are hard-capped at 1000 by the provider.
146
152
 
@@ -157,5 +163,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
157
163
  - `/memory` command (`list` / `query` / `add` / `remove` / `budgets` / `audit`) with an out-of-turn write gate sharing the same waterfall and policy.
158
164
  - Read-only web panel (`dsh.client` drawer): browse entries, search, budget bars, audit tail.
159
165
  - Session-event vocabulary (`memory/added|updated|removed|recalled|snapshot`) merge-declared in `types.d.ts` with rc.6-adaptive dispatch.
160
- - Hard per-track/per-layer character budgets with structured `BUDGET_EXCEEDED` errors — never truncate, never auto-compact.
161
- - CI matrix (three platforms × Node 22.19/24), typecheck gate, and five-language README consistency gate.
166
+ - Hard per-track/per-layer character budgets with structured `BUDGET_EXCEEDED` errors 鈥?never truncate, never auto-compact.
167
+ - CI matrix (three platforms 脳 Node 22.19/24), typecheck gate, and five-language README consistency gate.
package/README.es.md CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  | Surface | Status |
27
27
  |---|---|
28
- | Harness | DeepSeek Harness `0.1.2-alpha.5` (adaptado el 2026-09-02): el sobre de sesión conserva su campo ignorable solo para compatibilidad de lectura de logs almacenados - Session.append aún no puede estamparlo, por lo que el comportamiento de la puerta no cambia. |
28
+ | Harness | DeepSeek Harness `0.1.2-rc.1` (adaptado el 2026-09-02): el sobre de sesión conserva su campo ignorable solo para compatibilidad de lectura de logs almacenados - Session.append aún no puede estamparlo, por lo que el comportamiento de la puerta no cambia. |
29
29
  | Node | `^22.19.0 || >=24.0.0` |
30
30
  | Platforms | Windows / macOS / Linux (solo host; sin código nativo, sin red) |
31
31
  | Model | Cualquiera |
@@ -279,3 +279,7 @@ Este proyecto es uno de los [33 complementos de DeepSeek Harness](https://github
279
279
  ## License
280
280
 
281
281
  [Apache License 2.0](LICENSE) © 2026 dsh-memento contributors
282
+
283
+ ### Instalar desde el mercado de DSH Desktop
284
+
285
+ Todos los plugins de PerryLink pueden explorarse en el mercado integrado de DSH Desktop: **Market → Sources → add source → pegar** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ seleccionarlo**. La instalación sigue pasando por la verificación de identidad npm del mercado y tu confirmación.
package/README.hi.md CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  | Surface | Status |
27
27
  |---|---|
28
- | Harness | DeepSeek Harness `0.1.2-alpha.5` (2026-09-02 को अनुकूलित): सत्र लिफ़ाफ़ा अपना ignorable फ़ील्ड केवल संग्रहीत-लॉग पठन संगतता के लिए रखता है - Session.append अभी भी इसे स्टैम्प नहीं कर सकता, इसलिए गेट व्यवहार अपरिवर्तित है। |
28
+ | Harness | DeepSeek Harness `0.1.2-rc.1` (2026-09-02 को अनुकूलित): सत्र लिफ़ाफ़ा अपना ignorable फ़ील्ड केवल संग्रहीत-लॉग पठन संगतता के लिए रखता है - Session.append अभी भी इसे स्टैम्प नहीं कर सकता, इसलिए गेट व्यवहार अपरिवर्तित है। |
29
29
  | Node | `^22.19.0 || >=24.0.0` |
30
30
  | Platforms | Windows / macOS / Linux (केवल host; कोई नेटिव कोड नहीं, कोई नेटवर्क नहीं) |
31
31
  | Model | कोई भी |
@@ -279,3 +279,7 @@ npm run verify:artifacts # artifact presence + syntax + import
279
279
  ## License
280
280
 
281
281
  [Apache License 2.0](LICENSE) © 2026 dsh-memento contributors
282
+
283
+ ### DSH Desktop मार्केट से इंस्टॉल करें
284
+
285
+ सभी PerryLink प्लगइन DSH Desktop के बिल्ट-इन मार्केट में देखे जा सकते हैं: **Market → Sources → add source → पेस्ट करें** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ चुनें**। इंस्टॉलेशन मार्केट के npm-identity सत्यापन और आपकी पुष्टि से ही होता है।
package/README.md CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  | Surface | Status |
28
28
  |---|---|
29
- | Harness | DeepSeek Harness `0.1.2-alpha.5` (adapted 2026-09-02): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. |
29
+ | Harness | DeepSeek Harness `0.1.2-rc.1` (adapted 2026-09-02): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. |
30
30
  | Node | `^22.19.0 || >=24.0.0` |
31
31
  | Platforms | Windows / macOS / Linux (pure host; no native code, no network) |
32
32
  | Model | Any |
@@ -277,6 +277,10 @@ This project is one of the [33 DeepSeek Harness plugins](https://github.com/Perr
277
277
  | **[dsh-dsh-test-drive](https://github.com/PerryLink/dsh-dsh-test-drive)** | Isolated install-and-smoke test drives for DeepSeek Harness plugins. | |
278
278
  | **[dsh-dsh-translate](https://github.com/PerryLink/dsh-dsh-translate)** | Vendor parameter translation and deterministic JSON repair for DeepSeek Harness. | |
279
279
 
280
+ ### Install from the DSH Desktop Market
281
+
282
+ All PerryLink plugins are browsable in the built-in DSH Desktop Market: **Market → Sources → add source → paste** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ select it**. Installation still goes through the Market's npm-identity verification and your confirmation.
283
+
280
284
  ## License
281
285
 
282
286
  [Apache License 2.0](LICENSE) © 2026 dsh-memento contributors
package/README.pt.md CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  | Surface | Status |
27
27
  |---|---|
28
- | Harness | DeepSeek Harness `0.1.2-alpha.5` (adaptado em 2026-09-02): o envelope de sessão mantém seu campo ignorable apenas para compatibilidade de leitura de logs armazenados - o Session.append ainda não consegue estampá-lo, então o comportamento da porta não muda. |
28
+ | Harness | DeepSeek Harness `0.1.2-rc.1` (adaptado em 2026-09-02): o envelope de sessão mantém seu campo ignorable apenas para compatibilidade de leitura de logs armazenados - o Session.append ainda não consegue estampá-lo, então o comportamento da porta não muda. |
29
29
  | Node | `^22.19.0 || >=24.0.0` |
30
30
  | Platforms | Windows / macOS / Linux (somente host; sem código nativo, sem rede) |
31
31
  | Model | Qualquer |
@@ -279,3 +279,7 @@ Este projeto é um dos [33 plugins de DeepSeek Harness](https://github.com/Perry
279
279
  ## License
280
280
 
281
281
  [Apache License 2.0](LICENSE) © 2026 dsh-memento contributors
282
+
283
+ ### Instalar a partir do mercado do DSH Desktop
284
+
285
+ Todos os plugins PerryLink podem ser explorados no mercado integrado do DSH Desktop: **Market → Sources → add source → colar** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ selecionar**. A instalação continua passando pela verificação de identidade npm do mercado e pela sua confirmação.
package/README.zh.md CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  | Surface | Status |
27
27
  |---|---|
28
- | Harness | DeepSeek Harness `0.1.2-alpha.5`(2026-09-02 已适配):会话信封保留 ignorable 字段但仅用于存量日志读取兼容——Session.append 仍无法盖章,门控行为不变。 |
28
+ | Harness | DeepSeek Harness `0.1.2-rc.1`(2026-09-02 已适配):会话信封保留 ignorable 字段但仅用于存量日志读取兼容——Session.append 仍无法盖章,门控行为不变。 |
29
29
  | Node | `^22.19.0 || >=24.0.0` |
30
30
  | Platforms | Windows / macOS / Linux(纯 host;无原生代码、无网络) |
31
31
  | Model | 任意 |
@@ -279,3 +279,7 @@ npm run verify:artifacts # artifact presence + syntax + import
279
279
  ## License
280
280
 
281
281
  [Apache License 2.0](LICENSE) © 2026 dsh-memento contributors
282
+
283
+ ### 从 DSH Desktop 市场安装
284
+
285
+ 所有 PerryLink 插件均可在 DSH Desktop 内置市场中浏览:**市场 → 来源 → 添加来源 → 粘贴** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ 选中**。安装仍需通过市场的 npm 身份校验与你的确认。
package/index.mjs CHANGED
@@ -252,6 +252,9 @@ async function askApproval(approval, payload, write) {
252
252
  * Session.append 写入面仍只接受 surface intent 可选参(非 surface 类型
253
253
  * 保持两参调用形态)、仍无 writer 侧 ignorable 标记;读取端已有 ignorable
254
254
  * 信封容忍未知类型。故本门在 alpha.5 下保持关闭,行为不变。
255
+ * rc.1 / 0.1.3-alpha.1 复核(2026-09-04):append 第三参仍为 surface-only
256
+ * SurfaceIntent、仍无 ignorable 写入通道,KNOWN 清单仍不含 memory/*——
257
+ * 结论不变,本门在这两条线上同样保持关闭。
255
258
  * @param {{append?: (type: string, data: object) => unknown} | null | undefined} session - Session。
256
259
  * @param {string} type - 事件类型。
257
260
  * @param {object} data - 载荷。
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dsh-memento",
3
3
  "description": "Bounded, layered, approval-gated, auditable cross-session memory for DeepSeek Harness — a capability seam (ctx.memory service + local SQLite provider + memory tool + frozen snapshot injection), not another memory warehouse",
4
- "version": "0.5.4",
4
+ "version": "0.5.5",
5
5
  "type": "module",
6
6
  "main": "./index.mjs",
7
7
  "types": "./types.d.ts",
@@ -91,7 +91,7 @@
91
91
  ],
92
92
  "compatibility": {
93
93
  "dshVersions": [
94
- "0.1.2-alpha.5"
94
+ "0.1.2-rc.1"
95
95
  ]
96
96
  },
97
97
  "capability": {
@@ -114,13 +114,14 @@
114
114
  "@deepseek-ai/dsh-tools": ">=0.1.0-rc.8 <0.2.0",
115
115
  "@deepseek-ai/schemastery": ">=3.0.0"
116
116
  },
117
- "devDependencies": {"@deepseek-ai/dsh-attachment": "0.1.2-alpha.5",
117
+ "devDependencies": {
118
+ "@deepseek-ai/dsh-attachment": "0.1.2-rc.1",
118
119
  "@deepseek-ai/cordis": "^4.0.2",
119
120
  "@deepseek-ai/cordis-plugin-include": "^1.0.7",
120
121
  "@deepseek-ai/cordis-plugin-loader": "^1.0.3",
121
- "@deepseek-ai/dsh-session": "0.1.2-alpha.5",
122
- "@deepseek-ai/dsh-settings": "0.1.2-alpha.5",
123
- "@deepseek-ai/dsh-tools": "0.1.2-alpha.5",
122
+ "@deepseek-ai/dsh-session": "0.1.2-rc.1",
123
+ "@deepseek-ai/dsh-settings": "0.1.2-rc.1",
124
+ "@deepseek-ai/dsh-tools": "0.1.2-rc.1",
124
125
  "@deepseek-ai/schemastery": "^3.18.2",
125
126
  "@types/node": "^26.2.0",
126
127
  "oxlint": "^0.18.1",
package/types.d.ts CHANGED
@@ -8,7 +8,8 @@
8
8
  // (KNOWN_SESSION_EVENT_TYPES 不含 memory/*,Session.append 写入面也仍不接受
9
9
  // ignorable 标记),运行时按已知集合自适应派发——未被 harness 收录时跳过
10
10
  // append,审计由审批审计对 + 插件审计表承担;词汇与载荷形状在本文件定死,
11
- // harness 收录后即自动启用。
11
+ // harness 收录后即自动启用。rc.1 / 0.1.3-alpha.1 复核(2026-09-04):结论不变
12
+ // (append 第三参仍为 surface-only SurfaceIntent、无 ignorable 写入通道)。
12
13
 
13
14
  export type MemoryTrack = 'user' | 'agent'
14
15