dsh-mnemon 0.1.1 → 0.1.3

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.
Files changed (176) hide show
  1. package/README.en.md +88 -120
  2. package/README.md +89 -121
  3. package/cordis.patch.yml +1 -0
  4. package/docs/assets/diagrams/en/memory-system-flow.png +0 -0
  5. package/docs/assets/diagrams/zh-CN/memory-system-flow.png +0 -0
  6. package/docs/assets/media/dsh-mnemon-memory-system-demo-poster.jpg +0 -0
  7. package/docs/assets/media/dsh-mnemon-memory-system-demo.gif +0 -0
  8. package/docs/assets/media/dsh-mnemon-memory-system-demo.mp4 +0 -0
  9. package/docs/assets/screenshots/conversation-memory-jump.png +0 -0
  10. package/docs/assets/screenshots/conversation-save-dialog.png +0 -0
  11. package/docs/assets/screenshots/conversation-turn-memory.png +0 -0
  12. package/docs/assets/screenshots/document-create-dialog.png +0 -0
  13. package/docs/assets/screenshots/documents-markdown.png +0 -0
  14. package/docs/assets/screenshots/entities-context.png +0 -0
  15. package/docs/assets/screenshots/memory-content.png +0 -0
  16. package/docs/assets/screenshots/overview-memory-graph.png +0 -0
  17. package/docs/assets/screenshots/recall-agent-answer.png +0 -0
  18. package/docs/assets/screenshots/remember-dialog.png +0 -0
  19. package/docs/assets/screenshots/runtime-memory-add.png +0 -0
  20. package/docs/assets/screenshots/runtime-memory.png +0 -0
  21. package/docs/assets/screenshots/settings-memory-system.png +0 -0
  22. package/docs/assets/screenshots/status-overview.png +0 -0
  23. package/docs/assets/screenshots/version-check.png +0 -0
  24. package/docs/en/README.md +38 -32
  25. package/docs/en/architecture.md +3 -1
  26. package/docs/en/configuration.md +13 -9
  27. package/docs/en/development.md +24 -4
  28. package/docs/en/getting-started.md +78 -86
  29. package/docs/en/interfaces.md +99 -89
  30. package/docs/en/operations.md +103 -92
  31. package/docs/en/project-overview.md +82 -196
  32. package/docs/en/roadmap.md +1 -1
  33. package/docs/en/storage-model.md +1 -1
  34. package/docs/en/ui-guide.md +156 -0
  35. package/docs/zh-CN/README.md +35 -29
  36. package/docs/zh-CN/architecture.md +3 -1
  37. package/docs/zh-CN/configuration.md +13 -9
  38. package/docs/zh-CN/development.md +24 -4
  39. package/docs/zh-CN/getting-started.md +71 -79
  40. package/docs/zh-CN/interfaces.md +84 -74
  41. package/docs/zh-CN/operations.md +96 -85
  42. package/docs/zh-CN/project-overview.md +78 -192
  43. package/docs/zh-CN/roadmap.md +1 -1
  44. package/docs/zh-CN/storage-model.md +1 -1
  45. package/docs/zh-CN/ui-guide.md +160 -0
  46. package/lib/client.js +2836 -2041
  47. package/lib/client.js.map +1 -1
  48. package/lib/index.js +715 -124
  49. package/lib/types/channels.d.ts +4 -0
  50. package/lib/types/channels.d.ts.map +1 -0
  51. package/lib/types/channels.js +4 -0
  52. package/lib/types/channels.js.map +1 -0
  53. package/lib/types/client/MnemonSaveAction.d.ts.map +1 -1
  54. package/lib/types/client/MnemonSaveAction.js +4 -55
  55. package/lib/types/client/MnemonSaveAction.js.map +1 -1
  56. package/lib/types/client/MnemonSettingsCard.d.ts +1 -3
  57. package/lib/types/client/MnemonSettingsCard.d.ts.map +1 -1
  58. package/lib/types/client/MnemonSettingsCard.js +13 -31
  59. package/lib/types/client/MnemonSettingsCard.js.map +1 -1
  60. package/lib/types/client/MnemonTurnTail.d.ts +3 -0
  61. package/lib/types/client/MnemonTurnTail.d.ts.map +1 -1
  62. package/lib/types/client/MnemonTurnTail.js +15 -3
  63. package/lib/types/client/MnemonTurnTail.js.map +1 -1
  64. package/lib/types/client/MnemonView.d.ts +17 -0
  65. package/lib/types/client/MnemonView.d.ts.map +1 -1
  66. package/lib/types/client/MnemonView.js +431 -96
  67. package/lib/types/client/MnemonView.js.map +1 -1
  68. package/lib/types/client/MnemonViewAppearance.d.ts +21 -0
  69. package/lib/types/client/MnemonViewAppearance.d.ts.map +1 -0
  70. package/lib/types/client/MnemonViewAppearance.js +67 -0
  71. package/lib/types/client/MnemonViewAppearance.js.map +1 -0
  72. package/lib/types/client/anchor.d.ts +1 -1
  73. package/lib/types/client/anchor.js +1 -1
  74. package/lib/types/client/api.d.ts +7 -1
  75. package/lib/types/client/api.d.ts.map +1 -1
  76. package/lib/types/client/api.js +41 -24
  77. package/lib/types/client/api.js.map +1 -1
  78. package/lib/types/client/index.d.ts +1 -1
  79. package/lib/types/client/index.d.ts.map +1 -1
  80. package/lib/types/client/index.js +63 -53
  81. package/lib/types/client/index.js.map +1 -1
  82. package/lib/types/client/locales.d.ts +158 -306
  83. package/lib/types/client/locales.d.ts.map +1 -1
  84. package/lib/types/client/locales.js +180 -328
  85. package/lib/types/client/locales.js.map +1 -1
  86. package/lib/types/client/settings.d.ts +1 -1
  87. package/lib/types/client/settings.d.ts.map +1 -1
  88. package/lib/types/client/settings.js +1 -1
  89. package/lib/types/client/settings.js.map +1 -1
  90. package/lib/types/client/sidebar-entry.d.ts +6 -0
  91. package/lib/types/client/sidebar-entry.d.ts.map +1 -0
  92. package/lib/types/client/sidebar-entry.js +134 -0
  93. package/lib/types/client/sidebar-entry.js.map +1 -0
  94. package/lib/types/client/workspace-controller.d.ts +15 -0
  95. package/lib/types/client/workspace-controller.d.ts.map +1 -0
  96. package/lib/types/client/workspace-controller.js +21 -0
  97. package/lib/types/client/workspace-controller.js.map +1 -0
  98. package/lib/types/client/workspace-mount.d.ts +8 -0
  99. package/lib/types/client/workspace-mount.d.ts.map +1 -0
  100. package/lib/types/client/workspace-mount.js +138 -0
  101. package/lib/types/client/workspace-mount.js.map +1 -0
  102. package/lib/types/commands.d.ts +10 -2
  103. package/lib/types/commands.d.ts.map +1 -1
  104. package/lib/types/commands.js +5 -1
  105. package/lib/types/commands.js.map +1 -1
  106. package/lib/types/config.d.ts +6 -5
  107. package/lib/types/config.d.ts.map +1 -1
  108. package/lib/types/config.js +12 -12
  109. package/lib/types/config.js.map +1 -1
  110. package/lib/types/contracts.d.ts +11 -0
  111. package/lib/types/contracts.d.ts.map +1 -1
  112. package/lib/types/documents.d.ts.map +1 -1
  113. package/lib/types/documents.js +6 -14
  114. package/lib/types/documents.js.map +1 -1
  115. package/lib/types/guidance.d.ts +3 -1
  116. package/lib/types/guidance.d.ts.map +1 -1
  117. package/lib/types/guidance.js +12 -0
  118. package/lib/types/guidance.js.map +1 -1
  119. package/lib/types/index.d.ts +2 -1
  120. package/lib/types/index.d.ts.map +1 -1
  121. package/lib/types/index.js +9 -8
  122. package/lib/types/index.js.map +1 -1
  123. package/lib/types/lifecycle.d.ts +9 -2
  124. package/lib/types/lifecycle.d.ts.map +1 -1
  125. package/lib/types/lifecycle.js +11 -4
  126. package/lib/types/lifecycle.js.map +1 -1
  127. package/lib/types/live-runtime.d.ts +26 -2
  128. package/lib/types/live-runtime.d.ts.map +1 -1
  129. package/lib/types/live-runtime.js +73 -3
  130. package/lib/types/live-runtime.js.map +1 -1
  131. package/lib/types/memory-bodies.d.ts +1 -0
  132. package/lib/types/memory-bodies.d.ts.map +1 -1
  133. package/lib/types/memory-bodies.js +7 -0
  134. package/lib/types/memory-bodies.js.map +1 -1
  135. package/lib/types/rpc.d.ts +7 -6
  136. package/lib/types/rpc.d.ts.map +1 -1
  137. package/lib/types/rpc.js +139 -22
  138. package/lib/types/rpc.js.map +1 -1
  139. package/lib/types/runner.d.ts +1 -1
  140. package/lib/types/runner.d.ts.map +1 -1
  141. package/lib/types/runner.js +2 -2
  142. package/lib/types/runner.js.map +1 -1
  143. package/lib/types/service.d.ts +18 -0
  144. package/lib/types/service.d.ts.map +1 -1
  145. package/lib/types/service.js +4 -0
  146. package/lib/types/service.js.map +1 -1
  147. package/lib/types/settings.d.ts.map +1 -1
  148. package/lib/types/settings.js +2 -3
  149. package/lib/types/settings.js.map +1 -1
  150. package/lib/types/subagent.d.ts +11 -2
  151. package/lib/types/subagent.d.ts.map +1 -1
  152. package/lib/types/subagent.js +34 -29
  153. package/lib/types/subagent.js.map +1 -1
  154. package/lib/types/tools.d.ts +11 -1
  155. package/lib/types/tools.d.ts.map +1 -1
  156. package/lib/types/tools.js +27 -16
  157. package/lib/types/tools.js.map +1 -1
  158. package/lib/types/version-updates.d.ts +61 -0
  159. package/lib/types/version-updates.d.ts.map +1 -0
  160. package/lib/types/version-updates.js +377 -0
  161. package/lib/types/version-updates.js.map +1 -0
  162. package/package.json +4 -1
  163. package/docs/zh-CN/assets/screenshots/conversation-recall.png +0 -0
  164. package/docs/zh-CN/assets/screenshots/conversation-writeback.png +0 -0
  165. package/docs/zh-CN/assets/screenshots/documents-markdown.png +0 -0
  166. package/docs/zh-CN/assets/screenshots/entities-context.png +0 -0
  167. package/docs/zh-CN/assets/screenshots/memory-content.png +0 -0
  168. package/docs/zh-CN/assets/screenshots/overview-memory-graph.png +0 -0
  169. package/docs/zh-CN/assets/screenshots/recall-agent-answer.png +0 -0
  170. package/docs/zh-CN/assets/screenshots/runtime-memory.png +0 -0
  171. package/lib/types/client/MnemonToolviews.d.ts +0 -19
  172. package/lib/types/client/MnemonToolviews.d.ts.map +0 -1
  173. package/lib/types/client/MnemonToolviews.js +0 -172
  174. package/lib/types/client/MnemonToolviews.js.map +0 -1
  175. /package/docs/{en/assets → assets/diagrams/en}/project-architecture.svg +0 -0
  176. /package/docs/{zh-CN/assets → assets/diagrams/zh-CN}/project-architecture.svg +0 -0
package/docs/en/README.md CHANGED
@@ -1,40 +1,46 @@
1
1
  # dsh-mnemon Documentation
2
2
 
3
- [简体中文](../zh-CN/README.md) | **English** | [Back to project home](../../README.en.md)
3
+ [简体中文](../zh-CN/README.md) | **English** | [Project home](../../README.en.md)
4
4
 
5
- These documents use the current implementation as the source of truth. The root README provides a quick overview; this section expands on design rationale, boundaries, transactional workflows, configuration, and operations.
5
+ This hub is organized by what you need to accomplish. New users should follow Getting Started, then use the visual guide for the interface. Reference documents are for deployment, integration, and development work.
6
6
 
7
- ## Recommended Reading Path
7
+ ## New-user path
8
8
 
9
- 1. [Project Overview](./project-overview.md): project positioning, the Mnemon-to-DSH integration boundary, the three-tier model, system architecture, and good fits.
10
- 2. [Getting Started](./getting-started.md): installation, initial configuration, and basic verification.
11
- 3. [Architecture](./architecture.md): boundaries between the DSH Host, Web Client, control layer, subagents, and the Mnemon CLI.
12
- 4. [Storage and the Three-Layer Memory Model](./storage-model.md): semantics and directory layout of Runtime Memory, Documents, and Memory Spaces.
13
- 5. [Lifecycle and Core Workflows](./workflows.md): recall, writes, background review, capacity maintenance, and archiving.
14
- 6. [Configuration Reference](./configuration.md): all settings, defaults, precedence, and provider requirements.
15
- 7. [WebUI, Tools, Commands, and RPC](./interfaces.md): all user-facing and model-facing entry points.
16
- 8. [Operations, Security, and Troubleshooting](./operations.md): locks, permissions, backup, recovery, and known limitations.
17
- 9. [Development and Verification](./development.md): module structure, tests, builds, and release checks.
18
- 10. [Roadmap](./roadmap.md): unfinished reliability, operations, and internationalization work.
19
- 11. [Security Policy](../../SECURITY.md): supported versions, private vulnerability-reporting channels, and scope.
9
+ 1. [Getting Started](./getting-started.md): install Mnemon and the plugin, choose storage, and complete first-run verification.
10
+ 2. [Sidebar and conversation UI guide](./ui-guide.md): learn Status, Runtime, Memory Spaces, Documents, and in-conversation entry points.
11
+ 3. [Project overview](./project-overview.md): understand the three-tier model, read/write boundaries, and complete flow.
20
12
 
21
- ## Terminology
13
+ ## Find a task
22
14
 
23
- | 中文 | English | Meaning |
15
+ | I want to… | Document |
16
+ |---|---|
17
+ | Decide which tier should retain something | [Storage and the three-tier model](./storage-model.md) |
18
+ | Learn when injection, recall, remembering, and archiving happen | [Lifecycle and workflows](./workflows.md) |
19
+ | Switch Sidebar / Buildin or global / workspace / custom storage | [Configuration reference](./configuration.md) |
20
+ | Understand workspace inspection versus the Agent's effective directory | [UI guide: Workspace mode](./ui-guide.md#workspace-mode-separating-inspection-from-execution) |
21
+ | Check or update Mnemon and dsh-mnemon | [Operations: Version checks and updates](./operations.md#version-checks-and-updates) |
22
+ | Back up, restore, or migrate the complete memory root | [Operations: Backup and recovery](./operations.md#backup-and-recovery) |
23
+ | Troubleshoot empty recall, misalignment, CLI, or provider errors | [Operations and troubleshooting](./operations.md#troubleshooting) |
24
+ | Use model tools, `/mnemon` commands, or internal RPC | [Interface reference](./interfaces.md) |
25
+ | Understand Host, workers, control plane, and data plane | [Architecture](./architecture.md) |
26
+ | Modify code, screenshots, tests, or releases | [Development and verification](./development.md) |
27
+ | See planned work | [Roadmap](./roadmap.md) |
28
+
29
+ ## Core terms
30
+
31
+ | Term | Code / alternate name | Meaning |
24
32
  |---|---|---|
25
- | 记忆体 | Memory Space | A native named Mnemon Store with its own `mnemon.db` |
26
- | 运行时热记忆 | Runtime Memory / hot memory | Compact user profile and working memory injected directly into every turn |
27
- | 项目档案 | Project Documents | Complete Markdown project knowledge managed by the plugin |
28
- | 活跃档案 | Active Document | A Document included in default near-field search |
29
- | 归档 | Archive | Original text that has a long-term index and does not count toward active capacity |
30
- | 沉淀 | Distill / supervised writeback | Persistent writes after LLM judgment, deduplication, and routing |
31
- | 召回 | Recall | Reading historical evidence from active Memory Spaces |
32
-
33
- Brand names, commands, tool names, configuration keys, RPC endpoints, and code symbols remain untranslated.
34
-
35
- ## Documentation Boundaries
36
-
37
- - Current user instructions and repository facts take precedence over historical memory.
38
- - `state/` is currently reserved; background review watermarks still exist only in Host process memory.
39
- - The main Web workspace is available in Chinese and English; command output, tool cards, and some backend diagnostics are not yet fully internationalized.
40
- - `docs/sedimentation-research.md` is a historical research record, not a specification or user guide.
33
+ | Memory System | 记忆系统 | The complete dsh-mnemon entry in DSH |
34
+ | Runtime Memory | USER / MEMORY | Hot memory projected into every turn |
35
+ | Project Documents | Documents / 档案 | Managed, searchable project knowledge that keeps full Markdown structure |
36
+ | Memory Space | 记忆体 | An independent, activatable, on-demand Mnemon Store |
37
+ | Remember | Distill / 沉淀 | Submit a candidate to a supervised subagent for qualification, dedupe, and writing |
38
+ | Recall | 召回 | Retrieve bounded evidence from active Memory Spaces |
39
+ | Archive | 归档 | Create a cold reference before moving an infrequently used Document out of active storage |
40
+
41
+ ## Documentation boundaries
42
+
43
+ - User documentation targets the v0.1.3 Sidebar-default experience while covering the compatible Buildin presentation.
44
+ - Architecture diagrams describe stable execution boundaries, not live monitoring. Use Status for current counts and versions.
45
+ - RPC is an internal Host-to-client protocol, not a promised stable external API.
46
+ - There is no formal fixed DSH / Mnemon version matrix yet. Back up and validate in an isolated root before upgrading.
@@ -12,7 +12,7 @@
12
12
 
13
13
  ## Component Diagram
14
14
 
15
- [![dsh-mnemon runtime architecture](./assets/project-architecture.svg)](./assets/project-architecture.svg)
15
+ [![dsh-mnemon runtime architecture](../assets/diagrams/en/project-architecture.svg)](../assets/diagrams/en/project-architecture.svg)
16
16
 
17
17
  Solid lines show deterministic data or control paths; purple dashed lines show LLM-supervised paths. Runtime Memory and Documents use managed files directly. Only Memory Spaces call the local Mnemon CLI through `MnemonRunner`. Click the image to open the original SVG.
18
18
 
@@ -51,6 +51,8 @@ root Agent calls mnemon_recall
51
51
 
52
52
  Long-term semantic writes, relationships, soft deletion, and Memory Space creation, updates, and merges use the same pattern. Ordinary Runtime Memory and Document mutations first pass through the coordinator but are usually committed directly by the deterministic control layer; only capacity maintenance or archiving requires an additional worker.
53
53
 
54
+ Physical Memory Space deletion is a separate deterministic destructive action. The WebUI must show a second confirmation, then invoke native Mnemon `store remove` through the loopback write RPC; the directory registration is removed only after the CLI deletion succeeds.
55
+
54
56
  ## Two Types of Subagent
55
57
 
56
58
  ### `spawn`
@@ -12,12 +12,13 @@ $DSH_HOME/settings.yaml
12
12
 
13
13
  The default is commonly `~/.dsh/settings.yaml`. All current settings are marked `live`; after Save, the Host initializes a candidate runtime graph and then switches to it atomically.
14
14
 
15
- The Web settings card edits only `storageScope` and `dataDir`. Other advanced settings must be changed directly in YAML.
15
+ The Web settings page edits `displayMode`, `storageScope`, and `dataDir`, plus the Turn memory and Save-to-memory switches under `mnemon-ui`. The same page also imports or exports a ZIP for the effective root. Other advanced settings must be changed directly in YAML.
16
16
 
17
17
  ## Complete Example
18
18
 
19
19
  ```yaml
20
20
  mnemon:
21
+ displayMode: sidebar # sidebar | buildin
21
22
  storageScope: global # global | workspace | custom
22
23
  # dataDir: ~/mnemon-data # required for custom
23
24
  # cliPath: /opt/homebrew/bin/mnemon
@@ -37,6 +38,7 @@ mnemon:
37
38
 
38
39
  | Setting | Default | Range | Implementation Semantics |
39
40
  |---|---:|---|---|
41
+ | `displayMode` | `sidebar` | `sidebar` / `buildin` | `sidebar` mounts the dedicated sidebar workbench; `buildin` restores the native DSH conversation-area tab; saving switches live and never mounts both entries together |
40
42
  | `storageScope` | `global` | `global` / `workspace` / `custom` | Controls the root for Runtime, Documents, Memory Spaces, and reserved state as one unit |
41
43
  | `dataDir` | unset | absolute path, `~`, or `~/...` | Required for `custom`; legacy configurations that set only this option automatically resolve to `custom` |
42
44
  | `cliPath` | auto-discovered | executable path | Explicitly selects the Mnemon CLI |
@@ -48,11 +50,10 @@ mnemon:
48
50
  | `recallMode` | `guided` | `guided` / `off` | Whether to inject an on-demand recall cue; does not remove explicit recall |
49
51
  | `writebackMode` | `guided` | `guided` / `off` | Whether to inject the hot-memory cue and enable score-based background review; does not remove explicit writes |
50
52
  | `idleReviewMs` | `30000` | 5000–600000 ms | Required continuous idle time after the threshold is reached |
51
- | `tabEnabled` | `true` | boolean | Currently gates only Host Mnemon data RPC; the client Tab is still registered—see the limitation below |
53
+ | `tabEnabled` | `true` | boolean | Whether to mount the Web entry selected by `displayMode`; Host RPC, commands, and Agent tools remain registered when off |
52
54
  | `writeEnabled` | `true` | boolean | Whether to expose semantic write tools, write RPC, and write commands |
53
- | `mnemon-ui.toolviews` | `false` | boolean | In-conversation memory tool cards for `mnemon_*` calls; off by default (opt-in), **applies live after saving** |
54
- | `mnemon-ui.turnBar` | `false` | boolean | Turn-tail memory activity bar; off by default (opt-in), **applies live after saving** |
55
- | `mnemon-ui.saveAction` | `false` | boolean | “Save to memory” action on finalized assistant replies; off by default (opt-in), **applies live after saving** |
55
+ | `mnemon-ui.turnBar` | `true` | boolean | Turn-tail memory activity bar; on by default, **applies live after saving** |
56
+ | `mnemon-ui.saveAction` | `true` | boolean | “Save to memory” icon and confirmation on finalized assistant replies; on by default, **applies live after saving** |
56
57
 
57
58
  Both the `mnemon` Host/storage namespace and the `mnemon-ui` browser-presentation namespace apply live. The storage root switches atomically only after the new runtime graph initializes successfully. Legacy `mnemon.conversationInteraction` values remain a migration default, but new saves write only to `mnemon-ui`.
58
59
 
@@ -70,10 +71,11 @@ Suitable for users who want Runtime, Documents, and Memory Spaces shared across
70
71
  ### `workspace`
71
72
 
72
73
  ```text
73
- resolve(process.cwd(), ".mnemon")
74
+ Agent / tool / lifecycle: resolve(currentSession.header.cwd, ".mnemon")
75
+ Web workbench inspection: resolve(workspaceRegistry.get(selectedWorkspaceId).path, ".mnemon")
74
76
  ```
75
77
 
76
- Here, cwd is the DSH Host process launch directory. It is not the current browser-page directory and does not necessarily match the cwd recorded for every session. Start DSH from the target project directory.
78
+ Each DSH workspace owns an independent three-tier memory root. Agents, model tools, commands, and lifecycle hooks route by the current session cwd and are unaffected by the Web workbench's inspection target. The workbench can select only Host-registered workspaces, never an arbitrary path. When inspection and execution differ, the header shows both paths and offers one-click alignment with the current session. Agent-backed actions are rejected while misaligned to prevent writes to the wrong project.
77
79
 
78
80
  ### `custom`
79
81
 
@@ -168,9 +170,11 @@ routingGuidance=false
168
170
  -> runtime-memory prompt section remains
169
171
  ```
170
172
 
171
- ## Current `tabEnabled` Limitation
173
+ ## Display Mode and the `tabEnabled` UI Switch
172
174
 
173
- When `tabEnabled=false`, the Host does not register Mnemon read/write RPC, but the Web client still registers its conversation view slot unconditionally. The current result is therefore “the Tab entry may still appear while its data interface is unavailable,” not complete Tab removal. This is an implementation gap; do not rely on the setting to uninstall the UI.
175
+ `displayMode=sidebar` (the default) mounts the “Memory System” sidebar entry and its dedicated center-column workbench with a minimal, logo-free skin aligned with official DSH panels. `displayMode=buildin` instead registers the original DSH `conversation.view` tab and preserves its existing visuals. The modes share the functional workbench while keeping appearance definitions isolated. Saving first disposes the active entry and then mounts the target, so the two modes never appear simultaneously.
176
+
177
+ `tabEnabled=false` removes the currently selected Web entry live. Host RPC, commands, and tools remain registered across display-mode and enablement changes so an Agent or command already in progress stays valid.
174
178
 
175
179
  ## Profile Patch Overrides
176
180
 
@@ -106,10 +106,29 @@ Recommended scenarios:
106
106
  7. Documents: create, retrieve, update, manually archive, and leave original project files unchanged.
107
107
  8. Score-based review: light tasks do not trigger it; after reaching the threshold it waits for idle; a new turn can cancel it while preserving the watermark.
108
108
  9. Read-only: write tools, write commands, and write RPC are rejected while reads remain available.
109
- 10. Status and browser console: no unhandled errors or warnings.
109
+ 10. Sidebar: all four primary tabs, four Memory Space secondary tabs, stable headings, filters, and progressive loading work.
110
+ 11. Conversation UI: Turn memory appears only for completed turns with activity; links land correctly; canceling Save to memory performs no write.
111
+ 12. Settings: Sidebar / Buildin, storage scopes, and both conversation switches apply live without refresh.
112
+ 13. ZIP: export can be previewed and merged into an isolated custom root; damaged checksums are rejected.
113
+ 14. Versions: checking never installs; link/manual sources offer no unsafe update; successful updates trigger a fresh status check.
114
+ 15. Status and browser console: no unhandled errors or warnings.
110
115
 
111
116
  Capacity limits, CLI timeouts, revision conflicts, and Host restarts should be verified in a dedicated fault-injection environment.
112
117
 
118
+ ## Maintaining Documentation Visuals
119
+
120
+ Public UI screenshots live under `docs/assets/screenshots/`, shared by both language editions. Language-specific architecture diagrams live under `docs/assets/diagrams/zh-CN/` and `docs/assets/diagrams/en/`. When layout, primary copy, or defaults change:
121
+
122
+ 1. Use a real DSH Web profile, but first check that the frame contains no token, credential, or private personal data.
123
+ 2. Limit capture to inspection, filtering, expansion, and opening dialogs. When showing a write flow, stop before final confirmation.
124
+ 3. Replace screenshots with the same responsibility instead of accumulating versioned filenames. Add an asset only for a new user task.
125
+ 4. Refresh the README poster, GIF / MP4 demo, and both `ui-guide.md` files.
126
+ 5. Confirm PNG / JPEG extensions match actual encoding and that text is readable at original resolution.
127
+ 6. Remove unreferenced assets, stale Buildin layouts, and obsolete terminology.
128
+ 7. Run link/image checks, then open both READMEs and UI guides manually.
129
+
130
+ README demo assets are `docs/assets/media/dsh-mnemon-memory-system-demo.*`. The demo should cover Status, Runtime, Memory Spaces, Documents, and in-conversation confirmation without actually submitting memory, updating components, or changing settings through automation.
131
+
113
132
  ## Modifying Subagent Schemas
114
133
 
115
134
  DSH structured output supports only a compact JSON Schema subset:
@@ -142,7 +161,8 @@ There is currently no formal schema-migration framework, so persistent formats m
142
161
  - keep commands, configuration keys, paths, and code symbols exactly the same;
143
162
  - cross-link corresponding language pages with relative paths;
144
163
  - prefer accessible SVGs with no scripts or external resources for architecture overviews; keep directory trees, commands, formulas, and short protocols as copyable `text` / ASCII;
145
- - keep only summaries in the root READMEs and place details on one authoritative docs page.
164
+ - keep only summaries in the root READMEs and place details on one authoritative docs page;
165
+ - for every user-visible interface change, also inspect `ui-guide.md`, `getting-started.md`, `configuration.md`, and `operations.md`.
146
166
 
147
167
  When the Web locale changes, the Chinese key set remains the type source of truth. The English dictionary must satisfy `Record<MnemonKey, string>` and preserve the same placeholders.
148
168
 
@@ -151,7 +171,7 @@ When the Web locale changes, the Chinese key set remains the type source of trut
151
171
  ```text
152
172
  [ ] pnpm run verify
153
173
  [ ] review source and generated lib diffs
154
- [ ] validate package file list includes README.en.md and docs
174
+ [ ] validate package file list includes README.en.md, docs/assets, and bilingual docs
155
175
  [ ] install the built/local bundle into an isolated Web profile
156
176
  [ ] run real Mnemon CLI and WebUI smoke tests
157
177
  [ ] verify Chinese and English workspaces
@@ -160,7 +180,7 @@ When the Web locale changes, the Chinese key set remains the type source of trut
160
180
  [ ] back up any data root used for upgrade testing
161
181
  ```
162
182
 
163
- `package.json.files` currently publishes `lib`, the patch, both root READMEs, the public bilingual docs, and the License; the historical research ledger is excluded from the installed package.
183
+ `package.json.files` currently publishes `lib`, the patch, both root READMEs, centrally managed documentation visuals, the public bilingual docs, and the License.
164
184
 
165
185
  ## Publishing to npm
166
186
 
@@ -1,44 +1,30 @@
1
1
  # Getting Started
2
2
 
3
- [简体中文](../zh-CN/getting-started.md) | **English** | [Documentation Center](./README.md)
3
+ [简体中文](../zh-CN/getting-started.md) | **English** | [Documentation hub](./README.md)
4
+
5
+ This guide goes from a blank environment to the first verified recall. It uses Sidebar and global storage by default. If installation is complete, jump to [First verification](#6-complete-first-verification).
4
6
 
5
7
  ## 1. Prerequisites
6
8
 
7
9
  You need:
8
10
 
9
- - a DSH Web profile that can start successfully;
11
+ - a DSH Web profile that starts successfully;
10
12
  - a locally executable `mnemon` CLI;
11
- - a DSH subagent provider available for bounded subtasks.
12
-
13
- The exact provider requirements are:
13
+ - a DSH subagent provider for isolated memory tasks.
14
14
 
15
- ```text
16
- regular semantic operations
17
- -> prefer provider named "spawn"
18
- -> may fall back to another compatible provider
19
-
20
- scored background review
21
- -> requires provider named "fork"
22
- -> inheritsParentContext = true
23
-
24
- both paths require
25
- -> outputSchema
26
- -> toolFilter
27
- -> persona
28
- -> depthLimit
29
- ```
15
+ Regular semantic work prefers a provider named `spawn` with `outputSchema`, `toolFilter`, `persona`, and `depthLimit`. Optional score-based background review additionally requires a provider named `fork` with `inheritsParentContext=true`. Missing `fork` does not block deterministic pages or regular manual actions.
30
16
 
31
- The plugin does not declare a fixed minimum-version matrix for DSH and Mnemon in its code. **Verified baseline**: `dsh-mnemon` 0.1.0 has been verified end-to-end on a live web profile running `@deepseek-ai/dsh` 0.1.0-rc.6 (2026-08-13 snapshot); last verified 2026-08-14. Before upgrading, run the verification steps on this page against an isolated data directory.
17
+ The project does not declare a fixed minimum DSH / Mnemon matrix. This guide and its screenshots target dsh-mnemon v0.1.3. Back up and repeat this verification against an isolated root before upgrading.
32
18
 
33
19
  ## 2. Install Mnemon
34
20
 
35
- On macOS, the recommended installation method is Homebrew Cask:
21
+ Homebrew Cask is recommended on macOS:
36
22
 
37
23
  ```sh
38
24
  brew install --cask mnemon-dev/tap/mnemon
39
25
  ```
40
26
 
41
- On macOS or Linux, you can also install it with Go:
27
+ On macOS or Linux, Go is another option:
42
28
 
43
29
  ```sh
44
30
  go install github.com/mnemon-dev/mnemon@latest
@@ -50,114 +36,120 @@ Verify the binary:
50
36
  mnemon --version
51
37
  ```
52
38
 
53
- To inspect an upstream Store directly, you can also run `mnemon status`. This command opens the effective Store and may initialize default data or run migrations; do not treat it as a completely side-effect-free installation probe.
39
+ If DSH cannot find it on `PATH`, set `MNEMON_CLI_PATH` or configure an absolute `mnemon.cliPath`. `mnemon status` opens the effective Store and may initialize data or run upstream migrations, so it is not a side-effect-free installation probe.
54
40
 
55
- If DSH cannot find it on `PATH`, set `MNEMON_CLI_PATH` or configure an absolute path in `mnemon.cliPath`.
41
+ ## 3. Install dsh-mnemon
56
42
 
57
- ## 3. Install the Plugin
58
-
59
- Install it into the Web profile:
43
+ Install into the Web profile:
60
44
 
61
45
  ```sh
62
46
  dsh plugin --profile web add dsh-mnemon
63
47
  ```
64
48
 
65
- Pre-release builds not yet published to npm can be installed from git:
49
+ Use an absolute path for a development checkout:
66
50
 
67
51
  ```sh
68
- dsh plugin --profile web add "github:omdsh-dev/dsh-mnemon"
52
+ dsh plugin --profile web add "link:/absolute/path/to/dsh-mnemon"
69
53
  ```
70
54
 
71
- For a local development checkout:
55
+ Then start or restart the profile:
72
56
 
73
57
  ```sh
74
- dsh plugin --profile web add "link:/absolute/path/to/dsh-mnemon"
58
+ dsh --profile web
75
59
  ```
76
60
 
77
- The plugin package's `cordis.patch.yml` mounts the Host plugin; the Web client bundle registers the session workspace and plugin settings card.
78
-
79
- ### Upgrade and uninstall
80
-
81
- `dsh plugin` is a pnpm forwarder that runs inside the profile directory:
61
+ Upgrade and uninstall:
82
62
 
83
63
  ```sh
84
- # Upgrade
85
64
  dsh plugin --profile web update dsh-mnemon
86
-
87
- # Uninstall (also removes its bundle registration from the profile)
88
65
  dsh plugin --profile web remove dsh-mnemon
89
66
  ```
90
67
 
91
- Uninstalling never deletes memory data: `global` data stays in `~/.mnemon`, and `workspace` / `custom` data stays in their directories, so reinstalling picks up where you left off.
68
+ Uninstall removes the plugin registration, not memory data in global, workspace, or custom roots.
92
69
 
93
- To pause automatic reads/writes without uninstalling, turn off `writebackMode` / `recallMode` / `lifecycleEnabled` in the plugin configuration (see the [configuration reference](./configuration.md), “Toggle interactions”). Note that `tabEnabled=false` currently disables the RPC but does not hide the tab entry — do not rely on it for UI removal.
70
+ ## 4. Choose entry point and storage
94
71
 
95
- ## 4. Choose a Storage Scope
72
+ Open **Settings → Memory System**:
96
73
 
97
- Start the DSH Web profile:
74
+ [![Memory System settings for display, storage, conversation UI, and backup](../assets/screenshots/settings-memory-system.png)](../assets/screenshots/settings-memory-system.png)
98
75
 
99
- ```sh
100
- dsh --profile web
101
- ```
76
+ ### Display mode
102
77
 
103
- On the dedicated “Settings -> Memory System” page, choose:
78
+ - **Sidebar** (default): a dedicated workbench opened from the DSH sidebar; recommended for most users.
79
+ - **Buildin**: the original conversation-area tab with its established visuals.
104
80
 
105
- | Scope | Root directory | Best suited for |
81
+ ### Storage location
82
+
83
+ | Scope | Root | Best suited for |
106
84
  |---|---|---|
107
- | `global` | `MNEMON_DATA_DIR` or `~/.mnemon` | Sharing one memory set across multiple workspaces |
108
- | `workspace` | `.mnemon` under the DSH Host startup directory | Project isolation |
109
- | `custom` | `dataDir` | An explicit disk, mounted volume, or dedicated data directory |
85
+ | **Global** (default) | `MNEMON_DATA_DIR` or `~/.mnemon` | Sharing one memory set across workspaces |
86
+ | **Workspace** | `<workspace>/.mnemon` | Project isolation with cross-workspace inspection in the workbench |
87
+ | **Custom** | `dataDir` | A dedicated disk, mounted volume, or explicit directory |
110
88
 
111
- Settings are written to `$DSH_HOME/settings.yaml` and apply live after Save. Switching scopes does not move existing data; to preserve it, stop writes first and migrate with a complete ZIP backup.
89
+ Save initializes a candidate runtime graph before atomically switching the Host. The page clears stale state and reloads automatically—no browser refresh is needed. Changing scope never migrates, merges, or deletes old data.
112
90
 
113
- ## 5. Create Your First Memory Space
91
+ In Workspace mode, the workbench selector changes only what data is being inspected. Agents, tools, and lifecycle hooks always use the current conversation's effective root. The header reports a mismatch and offers one-click alignment.
114
92
 
115
- Open the “Memory System” tab in any session:
93
+ ## 5. Open the Sidebar workbench
116
94
 
117
- 1. Open the “Memory Spaces” page.
118
- 2. Create a narrowly scoped Memory Space, such as “Project Decisions.”
119
- 3. Its description should explain what belongs there and which tasks should recall it.
120
- 4. Enable its read toggle, or let the plugin activate it automatically after the first write.
95
+ Click **Memory System** in the sidebar, then start on **Status**:
121
96
 
122
- An empty Memory Space may remain inactive by default. Activation controls only the read scope; writes may target any registered Memory Space, and a successful write automatically activates the target.
97
+ [![Status with CLI, versions, Runtime, Memory Spaces, Documents, and storage root](../assets/screenshots/status-overview.png)](../assets/screenshots/status-overview.png)
123
98
 
124
- ## 6. Verify the Complete Path
99
+ Confirm that:
125
100
 
126
- First inspect deterministic status:
101
+ - the top right says Connected;
102
+ - Mnemon and dsh-mnemon show installed versions;
103
+ - the storage root matches your chosen scope;
104
+ - Runtime, Memory Spaces, and Documents report no errors.
127
105
 
128
- ```text
129
- /mnemon status
130
- ```
106
+ If Mnemon is unavailable, run `command -v mnemon` and `mnemon --version`. See [Troubleshooting](./operations.md#troubleshooting) for other symptoms.
131
107
 
132
- Then submit a stable, self-contained item that will remain useful in the future on the “Distill” page. The worker selects a Memory Space, checks for duplicates, and returns a structured receipt. Then verify recall:
108
+ ## 6. Complete first verification
133
109
 
134
- ```text
135
- /mnemon recall <a focused query that should match the new item>
136
- ```
110
+ ### Create a Memory Space
111
+
112
+ 1. Open **Memory Spaces → Overview**.
113
+ 2. Select **Create Memory Space**.
114
+ 3. Use a narrow name such as “Project Decisions.”
115
+ 4. Describe what belongs there and which tasks should recall it.
116
+ 5. Enable read activation.
137
117
 
138
- Finally, check that:
118
+ ### Remember one test item
139
119
 
140
- - the “Memory Spaces” page shows the active Memory Space and graph;
141
- - “Content” shows the new item and its Memory Space;
142
- - CLI, runtime memory, Memory Space catalog, and subagent status are all healthy under “Status”;
143
- - the recall result includes a complete `memoryBodyId` and memory ID.
120
+ Open **Remember** and enter something stable, self-contained, future-useful, and secret-free. Leave advanced options collapsed so the memory subagent can select a target, deduplicate, and distill.
144
121
 
145
- ## 7. Recommended First Real Conversation
122
+ Writing starts only after confirmation. Canceling the dialog changes no state.
146
123
 
147
- Choose a question that genuinely depends on a historical decision instead of instructing the model to invoke memory tools unconditionally. The expected flow is:
124
+ ### Verify recall
125
+
126
+ 1. Open **Memory Spaces → Recall**.
127
+ 2. Ask a concrete question that should match the item.
128
+ 3. Use **Direct recall** first to inspect raw evidence.
129
+ 4. Confirm the result retains its Memory Space, category, importance, score, and ID.
130
+
131
+ You can also use conversation commands:
148
132
 
149
133
  ```text
150
- user asks a history-dependent question
151
- -> pre-step adds a short optional cue
152
- -> main Agent decides whether history matters
153
- -> recall worker selects active Memory Spaces
154
- -> only useful evidence returns to the main Agent
134
+ /mnemon status
135
+ /mnemon recall <focused query>
155
136
  ```
156
137
 
157
- Ordinary conversation should not force recall. The current request, existing source files, and live tool results should take precedence over historical content.
138
+ ## 7. Verify memory inside a conversation
139
+
140
+ Ask a question that genuinely depends on history and allow the Agent to decide whether recall helps. After completion:
141
+
142
+ - Turn memory appears below the reply if the turn used memory tools.
143
+ - Expanding shows exact tools and links to their pages.
144
+ - Save to memory opens an editable confirmation; canceling performs no write.
145
+
146
+ [![Turn memory and exact tool navigation](../assets/screenshots/conversation-turn-memory.png)](../assets/screenshots/conversation-turn-memory.png)
147
+
148
+ Ordinary conversation should not force recall. Current requests, repository files, and live tool results outrank historical content.
158
149
 
159
- ## 8. Next Steps
150
+ ## 8. Next steps
160
151
 
161
- - Read the [storage model](./storage-model.md) before choosing `storageScope`.
162
- - Read the [configuration reference](./configuration.md) to configure read-only mode or disable lifecycle cues.
163
- - Read the [operations guide](./operations.md) to establish backup and pre-upgrade verification procedures.
152
+ - Use the [Sidebar and conversation UI guide](./ui-guide.md) to learn every page.
153
+ - Use the [storage model](./storage-model.md) to choose Runtime, Documents, or Memory Spaces.
154
+ - Use the [configuration reference](./configuration.md) for Workspace scope, read-only behavior, and lifecycle switches.
155
+ - Use the [operations guide](./operations.md) to export your first ZIP backup and establish a pre-upgrade checklist.