dsh-mnemon 0.1.2 → 0.1.4

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 (138) hide show
  1. package/README.md +103 -129
  2. package/README.zh-CN.md +173 -0
  3. package/SECURITY.md +2 -2
  4. package/docs/README.md +4 -4
  5. package/docs/assets/diagrams/en/memory-system-flow.png +0 -0
  6. package/docs/assets/diagrams/zh-CN/memory-system-flow.png +0 -0
  7. package/docs/assets/media/dsh-mnemon-memory-system-demo-poster.jpg +0 -0
  8. package/docs/assets/media/dsh-mnemon-memory-system-demo.gif +0 -0
  9. package/docs/assets/media/dsh-mnemon-memory-system-demo.mp4 +0 -0
  10. package/docs/assets/screenshots/conversation-memory-jump.png +0 -0
  11. package/docs/assets/screenshots/conversation-save-dialog.png +0 -0
  12. package/docs/assets/screenshots/conversation-turn-memory.png +0 -0
  13. package/docs/assets/screenshots/document-create-dialog.png +0 -0
  14. package/docs/assets/screenshots/documents-markdown.png +0 -0
  15. package/docs/assets/screenshots/entities-context.png +0 -0
  16. package/docs/assets/screenshots/memory-content.png +0 -0
  17. package/docs/assets/screenshots/overview-memory-graph.png +0 -0
  18. package/docs/assets/screenshots/recall-agent-answer.png +0 -0
  19. package/docs/assets/screenshots/remember-dialog.png +0 -0
  20. package/docs/assets/screenshots/runtime-memory-add.png +0 -0
  21. package/docs/assets/screenshots/runtime-memory.png +0 -0
  22. package/docs/assets/screenshots/settings-memory-system.png +0 -0
  23. package/docs/assets/screenshots/status-overview.png +0 -0
  24. package/docs/assets/screenshots/version-check.png +0 -0
  25. package/docs/en/README.md +40 -32
  26. package/docs/en/architecture.md +6 -2
  27. package/docs/en/configuration.md +15 -6
  28. package/docs/en/development.md +24 -4
  29. package/docs/en/getting-started.md +77 -87
  30. package/docs/en/interfaces.md +98 -90
  31. package/docs/en/operations.md +103 -93
  32. package/docs/en/project-overview.md +90 -194
  33. package/docs/en/storage-model.md +6 -0
  34. package/docs/en/ui-guide.md +156 -0
  35. package/docs/zh-CN/README.md +37 -29
  36. package/docs/zh-CN/architecture.md +6 -2
  37. package/docs/zh-CN/configuration.md +15 -6
  38. package/docs/zh-CN/development.md +24 -4
  39. package/docs/zh-CN/getting-started.md +70 -80
  40. package/docs/zh-CN/interfaces.md +84 -76
  41. package/docs/zh-CN/operations.md +96 -86
  42. package/docs/zh-CN/project-overview.md +86 -190
  43. package/docs/zh-CN/storage-model.md +6 -0
  44. package/docs/zh-CN/ui-guide.md +160 -0
  45. package/lib/client.js +2354 -1944
  46. package/lib/client.js.map +1 -1
  47. package/lib/index.js +446 -39
  48. package/lib/types/channels.d.ts +4 -0
  49. package/lib/types/channels.d.ts.map +1 -0
  50. package/lib/types/channels.js +4 -0
  51. package/lib/types/channels.js.map +1 -0
  52. package/lib/types/client/MnemonSaveAction.d.ts.map +1 -1
  53. package/lib/types/client/MnemonSaveAction.js +4 -55
  54. package/lib/types/client/MnemonSaveAction.js.map +1 -1
  55. package/lib/types/client/MnemonSettingsCard.d.ts.map +1 -1
  56. package/lib/types/client/MnemonSettingsCard.js +4 -5
  57. package/lib/types/client/MnemonSettingsCard.js.map +1 -1
  58. package/lib/types/client/MnemonTurnTail.d.ts +3 -0
  59. package/lib/types/client/MnemonTurnTail.d.ts.map +1 -1
  60. package/lib/types/client/MnemonTurnTail.js +15 -3
  61. package/lib/types/client/MnemonTurnTail.js.map +1 -1
  62. package/lib/types/client/MnemonView.d.ts +4 -0
  63. package/lib/types/client/MnemonView.d.ts.map +1 -1
  64. package/lib/types/client/MnemonView.js +424 -97
  65. package/lib/types/client/MnemonView.js.map +1 -1
  66. package/lib/types/client/MnemonViewAppearance.d.ts +21 -0
  67. package/lib/types/client/MnemonViewAppearance.d.ts.map +1 -0
  68. package/lib/types/client/MnemonViewAppearance.js +67 -0
  69. package/lib/types/client/MnemonViewAppearance.js.map +1 -0
  70. package/lib/types/client/anchor.d.ts +1 -1
  71. package/lib/types/client/anchor.js +1 -1
  72. package/lib/types/client/api.d.ts +4 -0
  73. package/lib/types/client/api.d.ts.map +1 -1
  74. package/lib/types/client/api.js +10 -1
  75. package/lib/types/client/api.js.map +1 -1
  76. package/lib/types/client/index.d.ts.map +1 -1
  77. package/lib/types/client/index.js +22 -25
  78. package/lib/types/client/index.js.map +1 -1
  79. package/lib/types/client/locales.d.ts +126 -294
  80. package/lib/types/client/locales.d.ts.map +1 -1
  81. package/lib/types/client/locales.js +140 -308
  82. package/lib/types/client/locales.js.map +1 -1
  83. package/lib/types/client/settings.d.ts +1 -1
  84. package/lib/types/client/settings.d.ts.map +1 -1
  85. package/lib/types/client/settings.js +1 -1
  86. package/lib/types/client/settings.js.map +1 -1
  87. package/lib/types/client/sidebar-entry.d.ts +1 -1
  88. package/lib/types/client/sidebar-entry.d.ts.map +1 -1
  89. package/lib/types/client/sidebar-entry.js +3 -1
  90. package/lib/types/client/sidebar-entry.js.map +1 -1
  91. package/lib/types/client/workspace-mount.d.ts.map +1 -1
  92. package/lib/types/client/workspace-mount.js +8 -5
  93. package/lib/types/client/workspace-mount.js.map +1 -1
  94. package/lib/types/config.d.ts +1 -3
  95. package/lib/types/config.d.ts.map +1 -1
  96. package/lib/types/config.js +10 -12
  97. package/lib/types/config.js.map +1 -1
  98. package/lib/types/index.d.ts +2 -1
  99. package/lib/types/index.d.ts.map +1 -1
  100. package/lib/types/index.js +2 -1
  101. package/lib/types/index.js.map +1 -1
  102. package/lib/types/lifecycle.js +3 -3
  103. package/lib/types/lifecycle.js.map +1 -1
  104. package/lib/types/memory-bodies.d.ts +1 -0
  105. package/lib/types/memory-bodies.d.ts.map +1 -1
  106. package/lib/types/memory-bodies.js +7 -0
  107. package/lib/types/memory-bodies.js.map +1 -1
  108. package/lib/types/rpc.d.ts +5 -7
  109. package/lib/types/rpc.d.ts.map +1 -1
  110. package/lib/types/rpc.js +28 -8
  111. package/lib/types/rpc.js.map +1 -1
  112. package/lib/types/service.d.ts +2 -0
  113. package/lib/types/service.d.ts.map +1 -1
  114. package/lib/types/service.js +4 -0
  115. package/lib/types/service.js.map +1 -1
  116. package/lib/types/settings.d.ts.map +1 -1
  117. package/lib/types/settings.js +1 -2
  118. package/lib/types/settings.js.map +1 -1
  119. package/lib/types/version-updates.d.ts +61 -0
  120. package/lib/types/version-updates.d.ts.map +1 -0
  121. package/lib/types/version-updates.js +377 -0
  122. package/lib/types/version-updates.js.map +1 -0
  123. package/package.json +23 -8
  124. package/README.en.md +0 -199
  125. package/docs/zh-CN/assets/screenshots/conversation-recall.png +0 -0
  126. package/docs/zh-CN/assets/screenshots/conversation-writeback.png +0 -0
  127. package/docs/zh-CN/assets/screenshots/documents-markdown.png +0 -0
  128. package/docs/zh-CN/assets/screenshots/entities-context.png +0 -0
  129. package/docs/zh-CN/assets/screenshots/memory-content.png +0 -0
  130. package/docs/zh-CN/assets/screenshots/overview-memory-graph.png +0 -0
  131. package/docs/zh-CN/assets/screenshots/recall-agent-answer.png +0 -0
  132. package/docs/zh-CN/assets/screenshots/runtime-memory.png +0 -0
  133. package/lib/types/client/MnemonToolviews.d.ts +0 -19
  134. package/lib/types/client/MnemonToolviews.d.ts.map +0 -1
  135. package/lib/types/client/MnemonToolviews.js +0 -172
  136. package/lib/types/client/MnemonToolviews.js.map +0 -1
  137. /package/docs/{en/assets → assets/diagrams/en}/project-architecture.svg +0 -0
  138. /package/docs/{zh-CN/assets → assets/diagrams/zh-CN}/project-architecture.svg +0 -0
@@ -1,40 +1,48 @@
1
1
  # dsh-mnemon 文档中心
2
2
 
3
- **简体中文** | [English](../en/README.md) | [返回项目首页](../../README.md)
3
+ **简体中文** | [English](../en/README.md) | [项目首页](../../README.zh-CN.md)
4
4
 
5
- 这组文档以当前代码实现为事实源。根 README 用于快速理解;这里展开设计理由、边界、事务流程、配置和运维方式。
5
+ 这里按“你现在要完成什么”组织文档。第一次使用从快速开始进入;需要理解页面时看 UI 指南;只有在部署、集成或开发时才需要进入参考文档。
6
6
 
7
- ## 建议阅读路径
7
+ ## 新用户路径
8
8
 
9
- 1. [项目介绍](./project-overview.md):项目定位、Mnemon 与 DSH 的集成边界、三层模型、总体架构与适用场景。
10
- 2. [快速开始](./getting-started.md):安装、首次配置与基本验证。
11
- 3. [架构设计](./architecture.md):DSH Host、Web Client、控制层、子 Agent 与 Mnemon CLI 的边界。
12
- 4. [存储与三层记忆模型](./storage-model.md):Runtime、Documents、Memory Spaces 的语义和目录结构。
13
- 5. [生命周期与核心流程](./workflows.md):召回、写入、后台审查、容量整理和归档。
14
- 6. [配置参考](./configuration.md):全部配置、默认值、优先级和 provider 要求。
15
- 7. [WebUI、工具、命令与 RPC](./interfaces.md):所有用户与模型入口。
16
- 8. [运维、安全与故障排查](./operations.md):锁、权限、备份、恢复和已知限制。
17
- 9. [开发与验证](./development.md):模块结构、测试、构建和发布检查。
18
- 10. [Roadmap](./roadmap.md):尚未完成的可靠性、运维和国际化工作。
19
- 11. [安全策略](../../SECURITY.md):支持版本、漏洞私密报告渠道与范围。
9
+ 1. [快速开始](./getting-started.md):安装 Mnemon 与插件,选择存储范围,完成第一次验证。
10
+ 2. [Sidebar 与对话交互指南](./ui-guide.md):认识状态、运行时、记忆体、档案和对话内入口。
11
+ 3. [项目介绍](./project-overview.md):理解三层模型、跨 Agent 共享边界、读写边界与完整流转。
20
12
 
21
- ## 术语
13
+ ## 按任务查找
22
14
 
23
- | 中文 | English | 含义 |
24
- |---|---|---|
25
- | 记忆体 | Memory Space | 一个 Mnemon 原生命名 Store 及其独立 `mnemon.db` |
26
- | 运行时热记忆 | Runtime Memory / hot memory | 每轮直接注入的紧凑用户画像和工作记忆 |
27
- | 项目档案 | Project Documents | 由插件托管的完整 Markdown 项目知识 |
28
- | 活跃档案 | Active Document | 参与默认近场检索的档案 |
29
- | 归档 | Archive | 已建立长期索引、不计 active 容量的原文 |
30
- | 沉淀 | Distill / supervised writeback | 经 LLM 判断、查重和路由后的持久写入 |
31
- | 召回 | Recall | 从已激活记忆体读取历史证据 |
15
+ | 我想要…… | 文档 |
16
+ |---|---|
17
+ | 决定一条信息应放在哪一层 | [存储与三层记忆模型](./storage-model.md) |
18
+ | 让 DSH 与其他 Mnemon-enabled Agent 共享长期记忆 | [项目介绍:跨 Agent 共享边界](./project-overview.md#跨-agent-共享边界) · [配置参考:共享范围](./configuration.md#选择跨-agent-共享范围) |
19
+ | 了解每轮注入、召回、沉淀和归档何时发生 | [生命周期与核心流程](./workflows.md) |
20
+ | 切换 Sidebar / Buildin、全局 / 工作区 / 自定义目录 | [配置参考](./configuration.md) |
21
+ | 理解工作区“查看目录”与 Agent“实际生效目录” | [UI 指南:工作区模式](./ui-guide.md#工作区模式查看与执行分离) |
22
+ | 检查或更新 Mnemon 与 dsh-mnemon | [运维指南:版本检查与更新](./operations.md#版本检查与更新) |
23
+ | 备份、恢复或迁移完整记忆目录 | [运维指南:备份与恢复](./operations.md#备份与恢复) |
24
+ | 排查召回为空、目录未对齐、CLI 或 Provider 问题 | [运维、安全与故障排查](./operations.md#故障排查) |
25
+ | 使用模型工具、`/mnemon` 命令或内部 RPC | [接口参考](./interfaces.md) |
26
+ | 理解 Host、worker、控制面与数据面 | [架构设计](./architecture.md) |
27
+ | 修改代码、截图、测试或发布 | [开发与验证](./development.md) |
28
+ | 查看下一阶段计划 | [Roadmap](./roadmap.md) |
29
+
30
+ ## 核心术语
32
31
 
33
- 品牌名、命令、工具名、配置键、RPC endpoint 和代码符号保持原样,不翻译。
32
+ | 中文 | 英文 / 代码名 | 含义 |
33
+ |---|---|---|
34
+ | 记忆系统 | Memory System | dsh-mnemon 在 DSH 中的完整入口 |
35
+ | 运行时记忆 | Runtime Memory | 每轮注入的 USER / MEMORY 热记忆 |
36
+ | 档案 | Project Documents | 受管、可检索、保留完整 Markdown 叙事的项目知识 |
37
+ | 记忆体 | Memory Space | 独立、可激活、按需召回的长期 Mnemon Store |
38
+ | 跨 Agent 共享 | Cross-agent memory sharing | 多个 Mnemon-enabled Agent 使用同一根和 Store,共享长期记忆而非完整 DSH 上下文 |
39
+ | 沉淀 | Remember / Distill | 把候选交给受监督子 Agent 判断、查重与写入 |
40
+ | 召回 | Recall | 从已激活记忆体按需取回有界证据 |
41
+ | 归档 | Archive | 先建立冷引用,再把不常用档案迁出 active 层 |
34
42
 
35
43
  ## 文档边界
36
44
 
37
- - 当前用户指令和仓库事实高于历史记忆。
38
- - `state/` 目前是预留目录;后台审查水位仍只存在于 Host 进程内。
39
- - 主要 Web 工作台已提供中文和英文;命令输出、工具卡和部分后端诊断尚未全部国际化。
40
- - `docs/sedimentation-research.md` 是历史研究记录,不是规范或用户手册。
45
+ - 用户文档以 v0.1.4 的 Sidebar 默认体验为主,同时说明 Buildin 兼容形态。
46
+ - 架构图表达稳定执行边界,不是实时监控面板;实时数量与版本以“状态”页为准。
47
+ - RPC 是 Host 与插件客户端之间的内部协议,不承诺稳定外部 API。
48
+ - 当前没有正式固定的 DSH / Mnemon 版本矩阵;升级前应备份并在隔离目录验证。
@@ -8,14 +8,16 @@
8
8
 
9
9
  - DSH 提供主 Agent、生命周期事件、subagent provider、工具、命令、设置和 Web 扩展点;
10
10
  - 插件提供三层知识控制面、路由策略、事务屏障和 UI;
11
- - 本地 `mnemon` CLI 提供命名 Store、SQLite 持久化、四类图、召回、关系和软删除。
11
+ - 本地 `mnemon` CLI 提供命名 Store、SQLite 持久化、四类图、召回、关系和软删除,并形成与其他 Mnemon-enabled Agent 共享长期记忆的数据边界。
12
12
 
13
13
  ## 组件图
14
14
 
15
- [![dsh-mnemon 运行时架构](./assets/project-architecture.svg)](./assets/project-architecture.svg)
15
+ [![dsh-mnemon 运行时架构](../assets/diagrams/zh-CN/project-architecture.svg)](../assets/diagrams/zh-CN/project-architecture.svg)
16
16
 
17
17
  图中实线表示确定性数据或控制路径,紫色虚线表示 LLM 监督路径。Runtime Memory 和 Documents 直接使用受管文件;只有 Memory Spaces 通过 `MnemonRunner` 调用本地 Mnemon CLI。点击图片可以查看原始 SVG。
18
18
 
19
+ 因此跨 Agent 互操作只发生在图中的 Memory Spaces:共享的是 Mnemon Store 内的长期记忆与关系,不是 DSH 的会话上下文、Runtime 投影或 Documents 控制面。插件不会把数据主动推送到其他 Agent;参与方通过对齐本地 Mnemon 根和 Store 来共享。
20
+
19
21
  ## Host 组合根
20
22
 
21
23
  `src/index.ts::apply()` 按以下顺序组装插件:
@@ -51,6 +53,8 @@ root Agent calls mnemon_recall
51
53
 
52
54
  长期语义写入、关系、软删除以及记忆体创建/更新/合并采用相同模式。运行时记忆和 Documents 的普通变更先经过 coordinator,但通常由确定性控制层直接提交;只有容量维护或归档需要额外 worker。
53
55
 
56
+ 记忆体目录的物理删除是单独的确定性危险操作:WebUI 必须先展示二次确认,随后经 loopback 写 RPC 调用 Mnemon 原生 `store remove`;只有 CLI 删除成功后才移除目录登记。
57
+
54
58
  ## 两类子 Agent
55
59
 
56
60
  ### `spawn`
@@ -12,7 +12,7 @@ $DSH_HOME/settings.yaml
12
12
 
13
13
  默认通常是 `~/.dsh/settings.yaml`。当前全部配置标记为 `live` 生效;保存后会先初始化候选运行图,再原子切换 Host 服务。
14
14
 
15
- Web 设置卡编辑 `displayMode`、`storageScope` 和 `dataDir`。其他高级项需要直接修改 YAML。
15
+ Web 设置页编辑 `displayMode`、`storageScope`、`dataDir`,以及 `mnemon-ui` 下的回合记忆条和存入记忆按钮;同页还提供当前有效目录的 ZIP 导入 / 导出。其他高级项需要直接修改 YAML。
16
16
 
17
17
  ## 完整示例
18
18
 
@@ -52,9 +52,8 @@ mnemon:
52
52
  | `idleReviewMs` | `30000` | 5000–600000 ms | 达标后需要连续空闲的时间 |
53
53
  | `tabEnabled` | `true` | boolean | 是否挂载 `displayMode` 指定的 Web 入口;关闭后 Host RPC、命令和 Agent 工具保持注册 |
54
54
  | `writeEnabled` | `true` | boolean | 是否暴露语义写工具、写 RPC 和写命令 |
55
- | `mnemon-ui.toolviews` | `false` | boolean | 对话内记忆工具卡(`mnemon_*` 调用的记忆风格卡片);默认关闭(opt-in),**保存后实时生效** |
56
- | `mnemon-ui.turnBar` | `false` | boolean | 回合尾记忆活动条;默认关闭(opt-in),**保存后实时生效** |
57
- | `mnemon-ui.saveAction` | `false` | boolean | 已定稿助手回复旁的「存入记忆」按钮;默认关闭(opt-in),**保存后实时生效** |
55
+ | `mnemon-ui.turnBar` | `true` | boolean | 回合尾记忆活动条;默认开启,**保存后实时生效** |
56
+ | `mnemon-ui.saveAction` | `true` | boolean | 已定稿助手回复旁的「存入记忆」图标与确认弹窗;默认开启,**保存后实时生效** |
58
57
 
59
58
  `mnemon` Host/存储命名空间和 `mnemon-ui` 浏览器呈现命名空间都实时生效。存储根只会在新运行图初始化成功后原子切换;旧版 `mnemon.conversationInteraction` 仍会作为迁移默认值读取,但新保存只写入 `mnemon-ui`。
60
59
 
@@ -67,7 +66,7 @@ MNEMON_DATA_DIR when non-empty
67
66
  otherwise ~/.mnemon
68
67
  ```
69
68
 
70
- 适合希望多个工作区共享 Runtime、Documents 和 Memory Spaces 的用户。
69
+ 适合希望多个工作区共享 Runtime、Documents 和 Memory Spaces 的用户;其他 Mnemon-enabled Agent 使用相同根时,也可以共享其中的 Mnemon Memory Spaces。
71
70
 
72
71
  ### `workspace`
73
72
 
@@ -88,6 +87,16 @@ mnemon:
88
87
 
89
88
  也允许 `~` 和 `~/...`。相对路径会被拒绝。
90
89
 
90
+ ### 选择跨 Agent 共享范围
91
+
92
+ | 目标 | 推荐范围 | 说明 |
93
+ |---|---|---|
94
+ | 本机多个 Agent 共享长期记忆 | `global` | 各方统一使用 `~/.mnemon` 或同一个 `MNEMON_DATA_DIR` |
95
+ | 多个 Agent 共享指定数据根 | `custom` | 各方显式配置同一个绝对目录,便于隔离和备份 |
96
+ | 只在一个项目内共享 | `workspace` | 各方都需要把 Mnemon 根对齐到该项目的 `<workspace>/.mnemon` |
97
+
98
+ 只有 `data/<store>/mnemon.db` 中的 Mnemon 长期层具备原生跨 Agent 互操作性。Runtime、Documents、DSH 的激活状态和 UI 元数据仍属于 dsh-mnemon 管理范围。
99
+
91
100
  ## CLI 发现优先级
92
101
 
93
102
  ```text
@@ -173,7 +182,7 @@ routingGuidance=false
173
182
 
174
183
  ## 展示形态与 `tabEnabled` 界面开关
175
184
 
176
- `displayMode=sidebar`(默认)会挂载“记忆系统”侧边栏入口和独立主内容区工作台;`displayMode=buildin` 会改为注册原有的 DSH `conversation.view` 内嵌标签页。设置页保存后会先卸载当前入口再挂载目标入口,因此两种形态不会同时出现。
185
+ `displayMode=sidebar`(默认)会挂载“记忆系统”侧边栏入口和独立主内容区工作台,并使用无 Mnemon Logo 的 DSH 官方风格极简皮肤;`displayMode=buildin` 会改为注册原有的 DSH `conversation.view` 内嵌标签页并保持既有视觉。两者共享功能工作台,但外观定义隔离。设置页保存后会先卸载当前入口再挂载目标入口,因此两种形态不会同时出现。
177
186
 
178
187
  `tabEnabled=false` 会实时移除当前形态的 Web 入口。为避免运行中的 Agent 或命令因界面设置变化而失效,Host RPC、命令和工具不会随展示形态或总开关卸载。
179
188
 
@@ -106,10 +106,29 @@ local link installation
106
106
  7. Documents:创建、检索、更新、人工归档和原项目文件不变。
107
107
  8. 评分审查:轻任务不触发;达标后等待 idle;新 turn 能取消并保留水位。
108
108
  9. 只读:写工具、写命令和写 RPC 被拒绝,读取仍可用。
109
- 10. 状态和浏览器控制台:无未处理错误或警告。
109
+ 10. Sidebar:四个一级标签、记忆体四个二级标签、固定页头、筛选与加载更多均正常。
110
+ 11. 对话内交互:本回合记忆只在已完成且有活动的回合出现;跳转目标正确;存入记忆取消不写入。
111
+ 12. 设置:Sidebar / Buildin、存储范围与两个对话开关保存后实时生效,不需要刷新。
112
+ 13. ZIP:导出后可预检,并能在隔离 custom 根完成合并恢复;损坏 checksum 必须拒绝。
113
+ 14. 版本:检查不会安装;link / 手工来源不显示不安全更新;更新完成后自动重新检查状态。
114
+ 15. 状态和浏览器控制台:无未处理错误或警告。
110
115
 
111
116
  容量极限、CLI 超时、revision 冲突和 Host 重启应在专用故障注入环境验证。
112
117
 
118
+ ## 维护文档视觉素材
119
+
120
+ 公开 UI 截图统一位于 `docs/assets/screenshots/`,中英文文档复用同一组实机画面;语言相关架构图分别保存在 `docs/assets/diagrams/zh-CN/` 与 `docs/assets/diagrams/en/`。界面结构、主要文案或默认行为变化时:
121
+
122
+ 1. 使用真实 DSH Web profile,但先检查画面中没有 token、凭据或不应公开的个人数据;
123
+ 2. 只做查看、筛选、展开与打开弹窗等可逆交互;需要展示写入前流程时停在最终确认之前;
124
+ 3. 覆盖同职责截图,避免按版本不断累积文件名;只有新增用户任务时才增加素材;
125
+ 4. 同步 README 海报、GIF / MP4 演示和 `ui-guide.md`;
126
+ 5. 检查 PNG / JPEG 扩展名与真实编码一致,并在原始分辨率下确认文字可读;
127
+ 6. 删除已无引用、展示旧 Buildin 布局或术语过时的截图;
128
+ 7. 运行链接与图片检查,再人工打开中英文 README 和 UI 指南。
129
+
130
+ README 演示资源位于 `docs/assets/media/dsh-mnemon-memory-system-demo.*`。演示应覆盖状态、运行时、记忆体、档案和对话内确认,但不要用自动化真正提交记忆、更新组件或更改设置。
131
+
113
132
  ## 修改 subagent schema
114
133
 
115
134
  DSH structured output 只支持一个紧凑 JSON Schema 子集:
@@ -142,7 +161,8 @@ Runtime、Documents 和 Memory Space registry 都带版本字段或固定结构
142
161
  - 保持命令、配置键、路径和代码符号完全一致;
143
162
  - 使用相对路径互链对应语言页面;
144
163
  - 架构总览优先使用可访问、无脚本和无外部资源的 SVG;目录树、命令、公式与短协议仍使用可复制的 `text` / ASCII;
145
- - 根 README 只保留摘要,把细节放到单一权威 docs 页面。
164
+ - 根 README 只保留摘要,把细节放到单一权威 docs 页面;
165
+ - 所有用户可感知界面变化同步检查 `ui-guide.md`、`getting-started.md`、`configuration.md` 与 `operations.md`。
146
166
 
147
167
  Web locale 变更时,中文键集合仍是类型事实源;英文词典必须满足 `Record<MnemonKey, string>`,并保持占位符一致。
148
168
 
@@ -151,7 +171,7 @@ Web locale 变更时,中文键集合仍是类型事实源;英文词典必须
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.md, README.zh-CN.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 @@ Web locale 变更时,中文键集合仍是类型事实源;英文词典必须
160
180
  [ ] back up any data root used for upgrade testing
161
181
  ```
162
182
 
163
- `package.json.files` 当前发布 `lib`、patch、两份根 README、双语公开 docs 和 License;历史研究台账不进入安装包。
183
+ `package.json.files` 当前发布 `lib`、patch、两份根 README、统一管理的文档视觉素材、双语公开 docs 和 License。
164
184
 
165
185
  ## 发布到 npm
166
186
 
@@ -2,33 +2,19 @@
2
2
 
3
3
  **简体中文** | [English](../en/getting-started.md) | [文档中心](./README.md)
4
4
 
5
+ 本页从空白环境走到第一次可验证召回。默认采用 Sidebar 和全局存储;如果你已经安装完成,可直接跳到[首次验证](#6-完成第一次验证)。
6
+
5
7
  ## 1. 前置条件
6
8
 
7
9
  你需要:
8
10
 
9
11
  - 一个可以启动的 DSH Web profile;
10
12
  - 本地可执行的 `mnemon` CLI;
11
- - 可用于受限子任务的 DSH subagent provider。
12
-
13
- provider 的准确要求如下:
13
+ - 一个可用于隔离记忆任务的 DSH subagent Provider。
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
+ 普通语义任务优先使用名为 `spawn` 的 Provider,并要求 `outputSchema`、`toolFilter`、`persona` 与 `depthLimit`。可选的评分后台审查还要求名为 `fork`、且 `inheritsParentContext=true` 的 Provider。缺少 `fork` 不影响确定性页面读取和普通手动操作。
30
16
 
31
- 插件没有在代码中声明固定的 DSH/Mnemon 最低版本矩阵。**已验证基线**:`dsh-mnemon` 0.1.0 在 `@deepseek-ai/dsh` 0.1.0-rc.6(2026-08-13 快照)的 live web profile 上实测通过,最后验证日期 2026-08-14。升级前应先在隔离数据目录中运行本页的验证步骤。
17
+ 项目当前不声明固定的 DSH / Mnemon 最低版本矩阵。本文与截图以 dsh-mnemon v0.1.4 为基线;升级前先备份,并在隔离目录重复本页验证。
32
18
 
33
19
  ## 2. 安装 Mnemon
34
20
 
@@ -38,7 +24,7 @@ macOS 推荐 Homebrew Cask:
38
24
  brew install --cask mnemon-dev/tap/mnemon
39
25
  ```
40
26
 
41
- macOS 或 Linux 也可以通过 Go 安装:
27
+ macOS 或 Linux 也可通过 Go 安装:
42
28
 
43
29
  ```sh
44
30
  go install github.com/mnemon-dev/mnemon@latest
@@ -50,11 +36,9 @@ go install github.com/mnemon-dev/mnemon@latest
50
36
  mnemon --version
51
37
  ```
52
38
 
53
- 如果还要直接检查上游 Store,可以运行 `mnemon status`。该命令会打开有效 Store,可能初始化默认数据或执行迁移;不要把它当作完全无副作用的安装探测。
39
+ 如果 DSH 无法从 `PATH` 找到它,可设置 `MNEMON_CLI_PATH`,或把绝对路径写入 `mnemon.cliPath`。`mnemon status` 会打开有效 Store,可能初始化数据或执行上游迁移,不要把它当作完全无副作用的安装探测。
54
40
 
55
- 如果 DSH 无法从 `PATH` 找到它,可以设置 `MNEMON_CLI_PATH`,或在 `mnemon.cliPath` 中配置绝对路径。
56
-
57
- ## 3. 安装插件
41
+ ## 3. 安装 dsh-mnemon
58
42
 
59
43
  安装到 Web profile:
60
44
 
@@ -62,104 +46,110 @@ mnemon --version
62
46
  dsh plugin --profile web add dsh-mnemon
63
47
  ```
64
48
 
65
- 未发布到 npm 的预发布版本可从 git 安装:
49
+ 开发检出使用绝对路径:
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
- 本地开发检出:
55
+ 然后启动或重启 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
- 插件包中的 `cordis.patch.yml` 会挂载 Host 插件;Web client bundle 会注册会话工作台和插件设置卡。
78
-
79
- ### 升级与卸载
80
-
81
- `dsh plugin` 是 pnpm 转发器,在 profile 目录下执行:
61
+ 升级与卸载:
82
62
 
83
63
  ```sh
84
- # 升级
85
64
  dsh plugin --profile web update dsh-mnemon
86
-
87
- # 卸载(同时从 profile 移除其 bundle 注册)
88
65
  dsh plugin --profile web remove dsh-mnemon
89
66
  ```
90
67
 
91
- 卸载不会删除记忆数据:`global` 范围数据留在 `~/.mnemon`,`workspace` / `custom` 范围数据留在对应目录,重新安装后继续可用。
68
+ 卸载只移除插件注册,不删除全局、工作区或自定义目录中的记忆数据。
92
69
 
93
- 临时停用自动读写而不卸载:在插件配置里关闭 `writebackMode` / `recallMode` / `lifecycleEnabled`(见[配置参考](./configuration.md)的“开关交互”)。只想隐藏 Web 工作台时设置 `tabEnabled=false`;Host RPC、命令和 Agent 工具保持可用。
70
+ ## 4. 选择入口与存储位置
94
71
 
95
- ## 4. 选择存储范围
72
+ 打开“设置 → 记忆系统”:
96
73
 
97
- 启动 DSH Web profile:
74
+ [![记忆系统设置:展示形态、存储位置、对话界面与备份](../assets/screenshots/settings-memory-system.png)](../assets/screenshots/settings-memory-system.png)
98
75
 
99
- ```sh
100
- dsh --profile web
101
- ```
76
+ ### 展示形态
102
77
 
103
- 在“设置 -> 记忆系统”独立配置页先选择展示形态:默认 `sidebar` 使用左侧栏独立工作台,`buildin` 使用原有对话区内嵌标签页;保存后实时切换。再选择存储范围:
78
+ - **Sidebar**(默认):从 DSH 左侧栏进入独立工作台;适合绝大多数用户。
79
+ - **Buildin**:使用原有对话区标签页,并保留既有视觉。
80
+
81
+ ### 存储位置
104
82
 
105
83
  | 范围 | 根目录 | 适合场景 |
106
84
  |---|---|---|
107
- | `global` | `MNEMON_DATA_DIR` 或 `~/.mnemon` | 多个工作区共享同一套记忆 |
108
- | `workspace` | 每个 DSH 工作区根目录下的 `.mnemon` | 项目隔离与跨工作区查看 |
109
- | `custom` | `dataDir` | 显式磁盘、挂载卷或专用数据目录 |
85
+ | **全局**(默认) | `MNEMON_DATA_DIR` 或 `~/.mnemon` | 多个工作区共享同一套记忆 |
86
+ | **工作区** | `<workspace>/.mnemon` | 项目隔离,并允许在工作台切换查看其他工作区 |
87
+ | **自定义** | `dataDir` | 专用磁盘、挂载卷或明确的数据目录 |
110
88
 
111
- 设置写入 `$DSH_HOME/settings.yaml`,保存后实时应用。切换范围不会搬运旧数据;需要保留时先停止写入并通过整体 ZIP 备份迁移。
89
+ 点击保存后会先初始化新运行图,再原子切换 Host;页面自动清理旧状态并重新读取,无需刷新浏览器。切换范围不会自动迁移、合并或删除旧数据。
112
90
 
113
- 选择 `workspace` 后,工作台顶部可以切换要查看的工作区。这个选择只决定工作台正在查看和维护哪一套数据;Agent 实际使用的目录始终跟随当前会话。两者不同时会出现全局提示,可一键对齐。
91
+ 在工作区模式下,工作台选择器只决定“正在查看哪套数据”;Agent、工具与生命周期实际使用的目录始终跟随当前会话。两者不一致时顶部会提示并提供一键对齐。
114
92
 
115
- ## 5. 创建第一个记忆体
93
+ ## 5. 打开 Sidebar 工作台
116
94
 
117
- 使用默认 `sidebar` 时点击 DSH 左侧栏的“记忆系统”入口;使用 `buildin` 时打开对话区的“记忆系统”标签页:
95
+ 点击左侧栏“记忆系统”,先查看“状态”:
118
96
 
119
- 1. 打开“记忆体”页。
120
- 2. 创建一个主题明确的记忆体,例如“项目决策”。
121
- 3. description 应说明“哪些内容属于这里,以及什么任务应召回它”。
122
- 4. 开启读取开关,或在第一次写入后让插件自动激活它。
97
+ [![状态页:CLI、版本、运行时、记忆体、档案与存储根](../assets/screenshots/status-overview.png)](../assets/screenshots/status-overview.png)
123
98
 
124
- 空白记忆体默认可以保持未激活。激活只控制读取范围;写入可以选择任意已登记记忆体,写入成功后会自动激活目标。
99
+ 确认:
125
100
 
126
- ## 6. 验证完整链路
101
+ - 右上角显示“已连接”;
102
+ - Mnemon 与 dsh-mnemon 能显示当前版本;
103
+ - 存储根与刚才选择的范围一致;
104
+ - Runtime、Memory Spaces 和 Documents 没有错误提示。
127
105
 
128
- 先检查确定性状态:
106
+ 如果 Mnemon 不可用,先运行 `command -v mnemon` 与 `mnemon --version`。更多症状见[故障排查](./operations.md#故障排查)。
129
107
 
130
- ```text
131
- /mnemon status
132
- ```
108
+ ## 6. 完成第一次验证
133
109
 
134
- 再在“沉淀”页提交一条稳定、自包含、未来仍有用的内容。worker 会选择记忆体、查重并返回结构化回执。随后验证:
110
+ ### 创建记忆体
135
111
 
136
- ```text
137
- /mnemon recall <一个能命中新内容的聚焦查询>
138
- ```
112
+ 1. 打开“记忆体 → 概览”。
113
+ 2. 点击“创建记忆体”。
114
+ 3. 使用主题明确的名称,例如“项目决策”。
115
+ 4. 在说明中写清“哪些内容属于这里,以及什么任务应召回它”。
116
+ 5. 开启读取激活开关。
117
+
118
+ ### 沉淀一条测试信息
139
119
 
140
- 最后检查:
120
+ 点击右上角“沉淀记忆”,填写一条稳定、自包含、未来仍有用且不含秘密的信息。默认不要展开高级选项,让记忆子 Agent 自己选择目标、查重与提炼。
141
121
 
142
- - “记忆体”页能看到已激活记忆体和图谱;
143
- - “内容”能看到写入项及所属记忆体;
144
- - “状态”中 CLI、运行时、记忆体目录和 subagent 均正常;
145
- - 召回结果包含完整 `memoryBodyId` 和记忆 ID。
122
+ 只有点击“调度子 Agent 判断并沉淀”才会启动写入;取消弹窗不会改变状态。
146
123
 
147
- ## 7. 推荐的第一次真实对话
124
+ ### 验证召回
148
125
 
149
- 选择一个确实依赖历史决策的问题,而不是要求模型无条件调用记忆工具。预期流程是:
126
+ 1. 打开“记忆体 → 检索”。
127
+ 2. 输入一个能命中刚才内容的具体问题。
128
+ 3. 先用“直接检索”检查原始证据。
129
+ 4. 确认结果包含记忆体来源、分类、重要性、分数和 ID。
130
+
131
+ 也可以在对话中运行:
150
132
 
151
133
  ```text
152
- user asks a history-dependent question
153
- -> pre-step adds a short optional cue
154
- -> main Agent decides whether history matters
155
- -> recall worker selects active Memory Spaces
156
- -> only useful evidence returns to the main Agent
134
+ /mnemon status
135
+ /mnemon recall <聚焦查询>
157
136
  ```
158
137
 
138
+ ## 7. 验证对话内记忆
139
+
140
+ 在一个确实依赖历史信息的问题中,让 Agent 自主判断是否需要召回。完成后:
141
+
142
+ - 若本轮调用了记忆工具,回复下方会出现“本回合记忆”;
143
+ - 展开后可以看到具体工具名,并点击跳到对应页面;
144
+ - “存入记忆”会先打开可编辑确认弹窗,取消不会写入。
145
+
146
+ [![本回合记忆与工具跳转](../assets/screenshots/conversation-turn-memory.png)](../assets/screenshots/conversation-turn-memory.png)
147
+
159
148
  普通聊天不应强制召回。当前请求、现有源文件和实时工具结果应优先于历史内容。
160
149
 
161
150
  ## 8. 下一步
162
151
 
163
- - 阅读[存储模型](./storage-model.md),再决定 `storageScope`。
164
- - 阅读[配置参考](./configuration.md),配置只读模式或关闭生命周期提示。
165
- - 阅读[运维指南](./operations.md),建立备份和升级前验证流程。
152
+ - 用 [Sidebar 与对话交互指南](./ui-guide.md) 认识全部页面。
153
+ - 用[存储模型](./storage-model.md)决定信息应进入运行时、档案还是记忆体。
154
+ - 用[配置参考](./configuration.md)设置工作区范围、只读模式或生命周期开关。
155
+ - 用[运维指南](./operations.md)导出第一份 ZIP 备份并建立升级前检查流程。