dsh-mnemon 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/README.zh-CN.md +5 -5
- package/lib/client.js +353 -347
- package/lib/index.js +129 -46
- package/lib/types/activity.d.ts +2 -18
- package/lib/types/channels.d.ts +1 -4
- package/lib/types/client/MnemonLogo.d.ts +0 -1
- package/lib/types/client/MnemonPackSection.d.ts +1 -2
- package/lib/types/client/MnemonSaveAction.d.ts +1 -2
- package/lib/types/client/MnemonSettingsCard.d.ts +1 -3
- package/lib/types/client/MnemonTurnTail.d.ts +1 -2
- package/lib/types/client/MnemonView.d.ts +1 -3
- package/lib/types/client/MnemonViewAppearance.d.ts +0 -1
- package/lib/types/client/anchor.d.ts +0 -1
- package/lib/types/client/api.d.ts +1 -9
- package/lib/types/client/dsh-compat.d.ts +0 -1
- package/lib/types/client/index.d.ts +0 -1
- package/lib/types/client/locales.d.ts +4 -1
- package/lib/types/client/settings.d.ts +1 -2
- package/lib/types/client/sidebar-entry.d.ts +0 -1
- package/lib/types/client/workspace-controller.d.ts +0 -1
- package/lib/types/client/workspace-mount.d.ts +1 -3
- package/lib/types/commands.d.ts +0 -1
- package/lib/types/config-values.d.ts +0 -1
- package/lib/types/config.d.ts +6 -80
- package/lib/types/contracts.d.ts +2 -60
- package/lib/types/documents.d.ts +2 -79
- package/lib/types/guidance.d.ts +0 -1
- package/lib/types/index.d.ts +0 -1
- package/lib/types/lifecycle.d.ts +3 -45
- package/lib/types/live-runtime.d.ts +0 -1
- package/lib/types/memory-bodies.d.ts +3 -20
- package/lib/types/pack.d.ts +2 -48
- package/lib/types/process.d.ts +0 -1
- package/lib/types/review-activity.d.ts +2 -16
- package/lib/types/rpc.d.ts +0 -1
- package/lib/types/runner.d.ts +15 -11
- package/lib/types/runtime-memory.d.ts +2 -59
- package/lib/types/service.d.ts +3 -149
- package/lib/types/settings.d.ts +1 -4
- package/lib/types/shared/contracts.d.ts +609 -0
- package/lib/types/storage-scope.d.ts +2 -29
- package/lib/types/subagent.d.ts +2 -15
- package/lib/types/tools.d.ts +0 -1
- package/lib/types/version-updates.d.ts +2 -29
- package/package.json +8 -7
- package/docs/README.md +0 -8
- package/docs/assets/diagrams/en/memory-system-flow.png +0 -0
- package/docs/assets/diagrams/en/project-architecture.svg +0 -182
- package/docs/assets/diagrams/zh-CN/memory-system-flow.png +0 -0
- package/docs/assets/diagrams/zh-CN/project-architecture.svg +0 -182
- package/docs/assets/media/dsh-mnemon-memory-system-demo-poster.jpg +0 -0
- package/docs/assets/media/dsh-mnemon-memory-system-demo.gif +0 -0
- package/docs/assets/media/dsh-mnemon-memory-system-demo.mp4 +0 -0
- package/docs/assets/screenshots/conversation-memory-jump.png +0 -0
- package/docs/assets/screenshots/conversation-save-dialog.png +0 -0
- package/docs/assets/screenshots/conversation-turn-memory.png +0 -0
- package/docs/assets/screenshots/document-create-dialog.png +0 -0
- package/docs/assets/screenshots/documents-markdown.png +0 -0
- package/docs/assets/screenshots/entities-context.png +0 -0
- package/docs/assets/screenshots/memory-content.png +0 -0
- package/docs/assets/screenshots/overview-memory-graph.png +0 -0
- package/docs/assets/screenshots/recall-agent-answer.png +0 -0
- package/docs/assets/screenshots/remember-dialog.png +0 -0
- package/docs/assets/screenshots/runtime-memory-add.png +0 -0
- package/docs/assets/screenshots/runtime-memory.png +0 -0
- package/docs/assets/screenshots/settings-memory-system.png +0 -0
- package/docs/assets/screenshots/status-overview.png +0 -0
- package/docs/assets/screenshots/version-check.png +0 -0
- package/docs/en/README.md +0 -48
- package/docs/en/architecture.md +0 -133
- package/docs/en/configuration.md +0 -234
- package/docs/en/development.md +0 -198
- package/docs/en/getting-started.md +0 -199
- package/docs/en/interfaces.md +0 -181
- package/docs/en/operations.md +0 -173
- package/docs/en/project-overview.md +0 -145
- package/docs/en/roadmap.md +0 -41
- package/docs/en/storage-model.md +0 -185
- package/docs/en/ui-guide.md +0 -156
- package/docs/en/workflows.md +0 -290
- package/docs/zh-CN/README.md +0 -48
- package/docs/zh-CN/architecture.md +0 -133
- package/docs/zh-CN/configuration.md +0 -234
- package/docs/zh-CN/development.md +0 -198
- package/docs/zh-CN/getting-started.md +0 -199
- package/docs/zh-CN/interfaces.md +0 -181
- package/docs/zh-CN/operations.md +0 -173
- package/docs/zh-CN/project-overview.md +0 -145
- package/docs/zh-CN/roadmap.md +0 -41
- package/docs/zh-CN/storage-model.md +0 -185
- package/docs/zh-CN/ui-guide.md +0 -160
- package/docs/zh-CN/workflows.md +0 -290
- package/lib/client.js.map +0 -1
- package/lib/types/activity.d.ts.map +0 -1
- package/lib/types/activity.js +0 -93
- package/lib/types/activity.js.map +0 -1
- package/lib/types/channels.d.ts.map +0 -1
- package/lib/types/channels.js +0 -4
- package/lib/types/channels.js.map +0 -1
- package/lib/types/client/MnemonLogo.d.ts.map +0 -1
- package/lib/types/client/MnemonLogo.js +0 -6
- package/lib/types/client/MnemonLogo.js.map +0 -1
- package/lib/types/client/MnemonPackSection.d.ts.map +0 -1
- package/lib/types/client/MnemonPackSection.js +0 -136
- package/lib/types/client/MnemonPackSection.js.map +0 -1
- package/lib/types/client/MnemonSaveAction.d.ts.map +0 -1
- package/lib/types/client/MnemonSaveAction.js +0 -90
- package/lib/types/client/MnemonSaveAction.js.map +0 -1
- package/lib/types/client/MnemonSettingsCard.d.ts.map +0 -1
- package/lib/types/client/MnemonSettingsCard.js +0 -155
- package/lib/types/client/MnemonSettingsCard.js.map +0 -1
- package/lib/types/client/MnemonTurnTail.d.ts.map +0 -1
- package/lib/types/client/MnemonTurnTail.js +0 -56
- package/lib/types/client/MnemonTurnTail.js.map +0 -1
- package/lib/types/client/MnemonView.d.ts.map +0 -1
- package/lib/types/client/MnemonView.js +0 -1594
- package/lib/types/client/MnemonView.js.map +0 -1
- package/lib/types/client/MnemonViewAppearance.d.ts.map +0 -1
- package/lib/types/client/MnemonViewAppearance.js +0 -67
- package/lib/types/client/MnemonViewAppearance.js.map +0 -1
- package/lib/types/client/anchor.d.ts.map +0 -1
- package/lib/types/client/anchor.js +0 -46
- package/lib/types/client/anchor.js.map +0 -1
- package/lib/types/client/api.d.ts.map +0 -1
- package/lib/types/client/api.js +0 -150
- package/lib/types/client/api.js.map +0 -1
- package/lib/types/client/dsh-compat.d.ts.map +0 -1
- package/lib/types/client/dsh-compat.js +0 -2
- package/lib/types/client/dsh-compat.js.map +0 -1
- package/lib/types/client/index.d.ts.map +0 -1
- package/lib/types/client/index.js +0 -161
- package/lib/types/client/index.js.map +0 -1
- package/lib/types/client/locales.d.ts.map +0 -1
- package/lib/types/client/locales.js +0 -1172
- package/lib/types/client/locales.js.map +0 -1
- package/lib/types/client/settings.d.ts.map +0 -1
- package/lib/types/client/settings.js +0 -70
- package/lib/types/client/settings.js.map +0 -1
- package/lib/types/client/sidebar-entry.d.ts.map +0 -1
- package/lib/types/client/sidebar-entry.js +0 -134
- package/lib/types/client/sidebar-entry.js.map +0 -1
- package/lib/types/client/workspace-controller.d.ts.map +0 -1
- package/lib/types/client/workspace-controller.js +0 -21
- package/lib/types/client/workspace-controller.js.map +0 -1
- package/lib/types/client/workspace-mount.d.ts.map +0 -1
- package/lib/types/client/workspace-mount.js +0 -138
- package/lib/types/client/workspace-mount.js.map +0 -1
- package/lib/types/commands.d.ts.map +0 -1
- package/lib/types/commands.js +0 -104
- package/lib/types/commands.js.map +0 -1
- package/lib/types/config-values.d.ts.map +0 -1
- package/lib/types/config-values.js +0 -4
- package/lib/types/config-values.js.map +0 -1
- package/lib/types/config.d.ts.map +0 -1
- package/lib/types/config.js +0 -127
- package/lib/types/config.js.map +0 -1
- package/lib/types/contracts.d.ts.map +0 -1
- package/lib/types/contracts.js +0 -2
- package/lib/types/contracts.js.map +0 -1
- package/lib/types/documents.d.ts.map +0 -1
- package/lib/types/documents.js +0 -495
- package/lib/types/documents.js.map +0 -1
- package/lib/types/guidance.d.ts.map +0 -1
- package/lib/types/guidance.js +0 -34
- package/lib/types/guidance.js.map +0 -1
- package/lib/types/index.d.ts.map +0 -1
- package/lib/types/index.js +0 -55
- package/lib/types/index.js.map +0 -1
- package/lib/types/lifecycle.d.ts.map +0 -1
- package/lib/types/lifecycle.js +0 -456
- package/lib/types/lifecycle.js.map +0 -1
- package/lib/types/live-runtime.d.ts.map +0 -1
- package/lib/types/live-runtime.js +0 -146
- package/lib/types/live-runtime.js.map +0 -1
- package/lib/types/memory-bodies.d.ts.map +0 -1
- package/lib/types/memory-bodies.js +0 -186
- package/lib/types/memory-bodies.js.map +0 -1
- package/lib/types/pack.d.ts.map +0 -1
- package/lib/types/pack.js +0 -709
- package/lib/types/pack.js.map +0 -1
- package/lib/types/process.d.ts.map +0 -1
- package/lib/types/process.js +0 -65
- package/lib/types/process.js.map +0 -1
- package/lib/types/review-activity.d.ts.map +0 -1
- package/lib/types/review-activity.js +0 -37
- package/lib/types/review-activity.js.map +0 -1
- package/lib/types/rpc.d.ts.map +0 -1
- package/lib/types/rpc.js +0 -384
- package/lib/types/rpc.js.map +0 -1
- package/lib/types/runner.d.ts.map +0 -1
- package/lib/types/runner.js +0 -198
- package/lib/types/runner.js.map +0 -1
- package/lib/types/runtime-memory.d.ts.map +0 -1
- package/lib/types/runtime-memory.js +0 -415
- package/lib/types/runtime-memory.js.map +0 -1
- package/lib/types/service.d.ts.map +0 -1
- package/lib/types/service.js +0 -512
- package/lib/types/service.js.map +0 -1
- package/lib/types/settings.d.ts.map +0 -1
- package/lib/types/settings.js +0 -103
- package/lib/types/settings.js.map +0 -1
- package/lib/types/storage-scope.d.ts.map +0 -1
- package/lib/types/storage-scope.js +0 -179
- package/lib/types/storage-scope.js.map +0 -1
- package/lib/types/subagent.d.ts.map +0 -1
- package/lib/types/subagent.js +0 -624
- package/lib/types/subagent.js.map +0 -1
- package/lib/types/tools.d.ts.map +0 -1
- package/lib/types/tools.js +0 -341
- package/lib/types/tools.js.map +0 -1
- package/lib/types/version-updates.d.ts.map +0 -1
- package/lib/types/version-updates.js +0 -383
- package/lib/types/version-updates.js.map +0 -1
package/docs/zh-CN/interfaces.md
DELETED
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
# WebUI、工具、命令与 RPC
|
|
2
|
-
|
|
3
|
-
**简体中文** | [English](../en/interfaces.md) | [文档中心](./README.md)
|
|
4
|
-
|
|
5
|
-
本页是集成参考。日常使用请先看 [Sidebar 与对话交互指南](./ui-guide.md)。
|
|
6
|
-
|
|
7
|
-
## 用户界面入口
|
|
8
|
-
|
|
9
|
-
| 入口 | 默认 | 说明 |
|
|
10
|
-
|---|---:|---|
|
|
11
|
-
| Sidebar | 是 | 左侧栏独立“记忆系统”工作台;状态、运行时、记忆体、档案四个一级标签 |
|
|
12
|
-
| Buildin | 否 | 原有 `conversation.view` 内嵌标签页,保留既有视觉 |
|
|
13
|
-
| 本回合记忆 | 是 | 已完成回合的记忆工具摘要;展开后按工具名跳到对应页面 |
|
|
14
|
-
| 存入记忆 | 是 | 已定稿助手回复旁的操作;确认后调用监督写入 |
|
|
15
|
-
| `/mnemon` | — | 对话命令入口 |
|
|
16
|
-
| 模型工具 | — | Root Agent 的结构化读写入口 |
|
|
17
|
-
|
|
18
|
-
Sidebar 与 Buildin 实时互斥挂载,共享功能、数据和 Host 服务。对话内两个入口可在 `mnemon-ui` 设置中分别关闭。
|
|
19
|
-
|
|
20
|
-
## 模型工具
|
|
21
|
-
|
|
22
|
-
### 只读工具
|
|
23
|
-
|
|
24
|
-
| 工具 | 用途 | Root Agent 路径 |
|
|
25
|
-
|---|---|---|
|
|
26
|
-
| `mnemon_status` | CLI、配置、存储与目录聚合状态 | 直接服务 |
|
|
27
|
-
| `mnemon_memory_bodies` | 读取记忆体目录与统计 | 直接服务 |
|
|
28
|
-
| `mnemon_recall` | 从一个或多个 active 记忆体召回 | `spawn` recall worker |
|
|
29
|
-
| `mnemon_related` | 从已知 ID 遍历关系 | `spawn` related worker;Root 默认两跳 |
|
|
30
|
-
| `mnemon_document_search` | 确定性搜索受管档案 | Documents 控制层 |
|
|
31
|
-
|
|
32
|
-
“只读”表示不修改受管正文或长期语义内容。`mnemon_document_search` 命中后仍会更新 `lastAccessedAt`,用于 LRU 排序,因此功能只读不等于磁盘只读。
|
|
33
|
-
|
|
34
|
-
### `writeEnabled=true` 时的工具
|
|
35
|
-
|
|
36
|
-
| 工具 | 用途 | Root Agent 路径 |
|
|
37
|
-
|---|---|---|
|
|
38
|
-
| `mnemon_runtime_memory` | `add` / `replace` / `remove` 热记忆 | 确定性控制;add 溢出时可能启动 worker |
|
|
39
|
-
| `mnemon_document_manage` | 创建、更新或归档档案 | 创建/更新确定性;归档使用 worker |
|
|
40
|
-
| `mnemon_remember` | 沉淀一条长期洞察 | `spawn` write worker |
|
|
41
|
-
| `mnemon_link` | 建立 typed relationship | `spawn` write worker |
|
|
42
|
-
| `mnemon_forget` | 按精确 ID 软删除 | `spawn` write worker |
|
|
43
|
-
| `mnemon_memory_body_create` | 创建独立记忆体 | `spawn` write worker |
|
|
44
|
-
| `mnemon_memory_body_update` | 更新名称、说明或 active | `spawn` write worker |
|
|
45
|
-
| `mnemon_memory_body_merge` | 非破坏性导入合并 | `spawn` write worker |
|
|
46
|
-
|
|
47
|
-
worker 内调用同名工具时直接进入服务层,不再递归委派。
|
|
48
|
-
|
|
49
|
-
## 工具准入建议
|
|
50
|
-
|
|
51
|
-
- **运行时**:明确偏好、稳定项目约定、环境事实和高频经验。
|
|
52
|
-
- **档案**:具有完整结构和理由的设计、调查、流程、复盘或交接。
|
|
53
|
-
- **记忆体**:需要跨任务保留,或适合图关系与深召回的稳定事实、决策和洞察。
|
|
54
|
-
- **跳过**:问题、猜测、临时进度、完成日志、原始输出、秘密和可轻易从仓库重新发现的普通事实。
|
|
55
|
-
|
|
56
|
-
`mnemon_forget` 是破坏性语义操作;只有用户明确要求,或内容已确认错误 / 过时时才应执行。
|
|
57
|
-
|
|
58
|
-
## `/mnemon` 命令
|
|
59
|
-
|
|
60
|
-
```text
|
|
61
|
-
/mnemon
|
|
62
|
-
/mnemon status
|
|
63
|
-
/mnemon recall <查询>
|
|
64
|
-
/mnemon related <完整记忆 ID>
|
|
65
|
-
/mnemon remember <内容>
|
|
66
|
-
/mnemon forget <精确 ID>
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
- 空 `/mnemon` 等价于 `status`。
|
|
70
|
-
- `status` 是确定性读取,不启动模型。
|
|
71
|
-
- `recall`、`related`、`remember`、`forget` 使用命令所在 live Agent 作为 worker parent。
|
|
72
|
-
- 命令 recall 最多返回 10 条。
|
|
73
|
-
- `forget` 必须接收一个不含空格的精确 ID。
|
|
74
|
-
|
|
75
|
-
## 对话内交互契约
|
|
76
|
-
|
|
77
|
-
| DSH 槽位 | 注册 | 行为 |
|
|
78
|
-
|---|---|---|
|
|
79
|
-
| `conversation.chat.turnTail` | chain | 通过 `turn-activity` 汇总完成回合中的 `mnemon_*` 调用;无活动或未完成回合不渲染 |
|
|
80
|
-
| `conversation.chat.assistant-actions` | list,`id=mnemon-save` | 通过 `assistant-message` 读取已定稿文本;只在用户确认后调用 `supervise` |
|
|
81
|
-
|
|
82
|
-
两者都是增量注册,不替换 DSH 官方渲染。`assistant-message` 读取的候选可编辑,长回复会按界面上限截取;写入结果以记忆子 Agent 回执为准。
|
|
83
|
-
|
|
84
|
-
## 工作区路由
|
|
85
|
-
|
|
86
|
-
工作台请求携带 `sessionId` 和可选 `workspaceId`。Host 只接受 `workspaceRegistry` 已登记的 ID:
|
|
87
|
-
|
|
88
|
-
- 确定性读取与人工维护可以路由到 `workspaceId` 选择的查看根;
|
|
89
|
-
- Agent、工具、命令和生命周期仍按 `sessionId` 对应 Agent cwd 路由;
|
|
90
|
-
- `status.workspaceContext` 返回 selected / effective roots 与 `aligned`;
|
|
91
|
-
- 需要 Agent 的操作在未对齐时拒绝。
|
|
92
|
-
|
|
93
|
-
## RPC 通道
|
|
94
|
-
|
|
95
|
-
RPC 是 DSH Host 与插件客户端之间的内部桥,不是稳定外部 HTTP API。
|
|
96
|
-
|
|
97
|
-
### 读通道
|
|
98
|
-
|
|
99
|
-
```text
|
|
100
|
-
channel: /dsh-mnemon-read
|
|
101
|
-
authority: trusted-host
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
| Endpoint | 行为 |
|
|
105
|
-
|---|---|
|
|
106
|
-
| `status` | 服务、版本、生命周期、档案与存储上下文聚合状态 |
|
|
107
|
-
| `versions` | 检查 Mnemon 与 dsh-mnemon 当前 / 最新版本和安装来源 |
|
|
108
|
-
| `runtime-memory` | 运行时快照 |
|
|
109
|
-
| `documents` / `document` / `document-search` | 档案目录、正文与确定性搜索 |
|
|
110
|
-
| `graph` / `bodies` | active 多空间图谱与记忆体目录 |
|
|
111
|
-
| `list` / `entities` | 内容列表与实体聚合 |
|
|
112
|
-
| `search` / `agent-search` / `related` | 直接检索、证据回答与关系遍历 |
|
|
113
|
-
| `turn-activities` / `turn-activity` | 会话或单回合的记忆工具活动 |
|
|
114
|
-
| `assistant-message` | 按 messageId 读取已定稿助手文本 |
|
|
115
|
-
|
|
116
|
-
### 写通道
|
|
117
|
-
|
|
118
|
-
```text
|
|
119
|
-
channel: /dsh-mnemon-write
|
|
120
|
-
authority: loopback
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
| Endpoint | 行为 |
|
|
124
|
-
|---|---|
|
|
125
|
-
| `runtime-memory` | 热记忆 mutation |
|
|
126
|
-
| `supervise` | 把候选交给记忆 worker |
|
|
127
|
-
| `document` | create / update / archive |
|
|
128
|
-
| `remember` / `link` / `forget` | 长期语义写入、关系与软删除 |
|
|
129
|
-
| `body-create` / `body-update` / `body-delete` | 记忆体创建、编辑与确认后的物理删除 |
|
|
130
|
-
| `version-update` | 更新明确组件;Host 固定命令与参数 |
|
|
131
|
-
|
|
132
|
-
`writeEnabled=false` 时通道仍稳定注册,但所有 mutation 在 Host 边界拒绝。
|
|
133
|
-
|
|
134
|
-
### 备份通道
|
|
135
|
-
|
|
136
|
-
```text
|
|
137
|
-
channel: /dsh-mnemon-pack
|
|
138
|
-
authority: loopback
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
| Endpoint | 行为 |
|
|
142
|
-
|---|---|
|
|
143
|
-
| `target` | 当前有效根与范围 |
|
|
144
|
-
| `export` | 导出完整、带 manifest 与 SHA-256 校验的 ZIP |
|
|
145
|
-
| `inspect` | 解析并校验待导入 ZIP,返回组件与占用预览 |
|
|
146
|
-
| `import` | 把 ZIP 安全合并到当前有效根;只读模式拒绝 |
|
|
147
|
-
|
|
148
|
-
备份包含私有记忆,因此整个通道保持 loopback-only。
|
|
149
|
-
|
|
150
|
-
### 设置通道
|
|
151
|
-
|
|
152
|
-
```text
|
|
153
|
-
channel: /dsh-mnemon-settings
|
|
154
|
-
authority: loopback
|
|
155
|
-
namespaces: mnemon, mnemon-ui
|
|
156
|
-
endpoints: get, mutate
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
mutation 使用 settings revision 防止覆盖并发编辑。`mnemon` 管理 Host / 存储设置;`mnemon-ui` 管理 `turnBar` 与 `saveAction`。
|
|
160
|
-
|
|
161
|
-
## npm 导出
|
|
162
|
-
|
|
163
|
-
根包公开 Host 侧组合与核心类:
|
|
164
|
-
|
|
165
|
-
```text
|
|
166
|
-
apply
|
|
167
|
-
Config / resolveConfig
|
|
168
|
-
createRunner
|
|
169
|
-
MnemonService
|
|
170
|
-
RuntimeMemoryController
|
|
171
|
-
DocumentManager
|
|
172
|
-
StorageScopeInspector
|
|
173
|
-
MnemonSubagentCoordinator
|
|
174
|
-
MnemonLifecycle
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
`dsh-mnemon/client` 导出 DSH client bundle 的 `apply` 与 `inject`。客户端实现类与 RPC endpoint 目前均属于内部实现,不应当作稳定公共 SDK。
|
|
178
|
-
|
|
179
|
-
## 国际化范围
|
|
180
|
-
|
|
181
|
-
主要 Sidebar / Buildin 工作台、设置与对话内入口支持中文和英文,并跟随 DSH locale 实时切换。品牌名、工具名和配置键不翻译。`/mnemon` 命令、模型工具卡、部分 Host 错误与兼容元数据尚未完全国际化。
|
package/docs/zh-CN/operations.md
DELETED
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
# 运维、安全与故障排查
|
|
2
|
-
|
|
3
|
-
**简体中文** | [English](../en/operations.md) | [文档中心](./README.md)
|
|
4
|
-
|
|
5
|
-
## 健康检查
|
|
6
|
-
|
|
7
|
-
先检查二进制,再查看工作台“状态”:
|
|
8
|
-
|
|
9
|
-
```sh
|
|
10
|
-
command -v mnemon
|
|
11
|
-
mnemon --version
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
Windows PowerShell:
|
|
15
|
-
|
|
16
|
-
```powershell
|
|
17
|
-
Get-Command mnemon -ErrorAction SilentlyContinue
|
|
18
|
-
Test-Path "$env:LOCALAPPDATA\Programs\mnemon\mnemon.exe"
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
```text
|
|
22
|
-
/mnemon status
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
[](../assets/screenshots/status-overview.png)
|
|
26
|
-
|
|
27
|
-
状态页显示 Mnemon / dsh-mnemon 版本、Runtime、Memory Spaces、Documents 和当前实际目录。`mnemon status` 会打开有效 Store,上游 CLI 可能初始化数据或执行迁移,因此不是完全无副作用的只读探测。
|
|
28
|
-
|
|
29
|
-
## 版本检查与更新
|
|
30
|
-
|
|
31
|
-
状态页的“检查版本”打开“检查与更新版本”面板:
|
|
32
|
-
|
|
33
|
-
[](../assets/screenshots/version-check.png)
|
|
34
|
-
|
|
35
|
-
- **Mnemon CLI**:本地版本来自 `mnemon --version`,最新版本来自 Mnemon GitHub Releases。
|
|
36
|
-
- **dsh-mnemon**:运行版本来自当前插件包,最新版本来自 npm registry。
|
|
37
|
-
|
|
38
|
-
检查只读,不会自动安装。只有发现更高版本并安全识别安装来源时才显示“更新”:Mnemon 支持 Homebrew Cask / Formula 与 `go install`;dsh-mnemon 支持当前 DSH Profile 中由 pnpm 管理的 npm 安装。`link:` / `file:` 开发版本与无法识别的手工安装只显示说明,避免覆盖源码。
|
|
39
|
-
|
|
40
|
-
更新命令由 Host 固定选择:浏览器不能传入命令或参数,执行禁用 shell,并限制时间与输出。更新完成后界面自动重新检查两个组件并刷新状态。Mnemon CLI 从下一次调用起生效;dsh-mnemon 仍需重启 `dsh web` 才能加载新插件代码。
|
|
41
|
-
|
|
42
|
-
## 备份与恢复
|
|
43
|
-
|
|
44
|
-
### 推荐:设置页 ZIP
|
|
45
|
-
|
|
46
|
-
“设置 → 记忆系统 → 备份与迁移”针对**当前有效根**工作:
|
|
47
|
-
|
|
48
|
-
- **导出 ZIP**:包含 Runtime、Documents 和全部 Memory Spaces;
|
|
49
|
-
- **导入 ZIP**:先预检,再合并到当前有效根;
|
|
50
|
-
- 包内包含 `manifest.json`、SHA-256 清单和三类数据摘要;
|
|
51
|
-
- 导出与导入持有组件锁,Memory Space 仍有未 checkpoint 的 WAL 时会拒绝;
|
|
52
|
-
- 导入检查路径、数量、压缩 / 展开大小、JSON schema、Document 哈希、registry 与 SQLite 头;
|
|
53
|
-
- 合并先写 staging,再替换目标组件;提交失败会恢复导入前目录。
|
|
54
|
-
|
|
55
|
-
当前 UI 只提供安全合并,不做“覆盖一切”:
|
|
56
|
-
|
|
57
|
-
- Runtime 按目标与内容去重;
|
|
58
|
-
- 相同 Document ID + 相同内容跳过,ID 冲突且内容不同则生成新 ID;
|
|
59
|
-
- 相同 Memory Space ID + 相同数据库跳过,内容不同则生成新 ID。
|
|
60
|
-
|
|
61
|
-
导入受 `writeEnabled` 控制,只读部署会拒绝。ZIP 包含私有记忆,应像源代码与凭据备份一样加密、限制访问并验证恢复。
|
|
62
|
-
|
|
63
|
-
### 恢复演练
|
|
64
|
-
|
|
65
|
-
1. 先选择一个隔离的 `custom` 目录并保存。
|
|
66
|
-
2. 确认设置页显示的“当前目录 ZIP”正是隔离根。
|
|
67
|
-
3. 选择备份,阅读预检摘要后执行导入。
|
|
68
|
-
4. 在状态页检查 Runtime、Documents、Memory Spaces 与目录。
|
|
69
|
-
5. 用一个聚焦查询验证直接检索,再阅读一份档案。
|
|
70
|
-
6. 验证无误后再决定是否切换正式范围。
|
|
71
|
-
|
|
72
|
-
不要在没有备份时把恢复直接指向唯一生产根。
|
|
73
|
-
|
|
74
|
-
### 文件系统级快照
|
|
75
|
-
|
|
76
|
-
需要保留预留 `state` 或做离线完整快照时,可以停止所有使用该根的 DSH / Mnemon 进程后复制:
|
|
77
|
-
|
|
78
|
-
```text
|
|
79
|
-
<storageRoot>/runtime
|
|
80
|
-
<storageRoot>/documents
|
|
81
|
-
<storageRoot>/data
|
|
82
|
-
<storageRoot>/state # 若存在;不在内置 ZIP 的三类数据组件中
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
复制完成后生成文件清单或校验和,并在隔离路径演练恢复。不要在多个进程仍写入时把普通目录复制当作一致快照。
|
|
86
|
-
|
|
87
|
-
## 切换存储范围
|
|
88
|
-
|
|
89
|
-
保存 `global` / `workspace` / `custom` 后,Host 先初始化新运行图,再原子切换;页面自动重新读取,但**不会迁移数据**:
|
|
90
|
-
|
|
91
|
-
```text
|
|
92
|
-
旧范围 -- 保存设置 --> 新的空目录或既有目录
|
|
93
|
-
|
|
94
|
-
不自动复制
|
|
95
|
-
不自动合并
|
|
96
|
-
不自动删除
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
推荐迁移流程:在旧范围导出 ZIP → 切换到新范围并确认显示目录 → 导入 ZIP → 验证。工作区模式下先确认查看工作区与会话执行工作区是否是预期目标。
|
|
100
|
-
|
|
101
|
-
## 安全边界
|
|
102
|
-
|
|
103
|
-
### 进程
|
|
104
|
-
|
|
105
|
-
- CLI 使用 `spawn(command, args, { shell: false })`,不拼接 shell。
|
|
106
|
-
- stdout + stderr 默认合计限制 2 MiB。
|
|
107
|
-
- 每次调用受 `timeoutMs` 与 AbortSignal 控制;取消先 `SIGTERM`,1.5 秒后 `SIGKILL`。
|
|
108
|
-
- 单个 Runner 内调用串行;跨 DSH 进程仍依赖 Mnemon / SQLite 并发语义。
|
|
109
|
-
|
|
110
|
-
### 文件
|
|
111
|
-
|
|
112
|
-
- Runtime、Documents 和 Pack 操作使用进程内队列或组件锁。
|
|
113
|
-
- lock 默认等待 5 秒,超过 30 秒才视为 stale。
|
|
114
|
-
- 写入使用临时文件、staging 与 rename。
|
|
115
|
-
- Runtime revision 阻止过期压缩覆盖;Document revision 阻止移动已更新原文。
|
|
116
|
-
- `sourcePaths` 不能逃出发起会话工作区,也不能指向受管 Documents 目录。
|
|
117
|
-
|
|
118
|
-
### Web 与模型
|
|
119
|
-
|
|
120
|
-
- 读 RPC 为 `trusted-host`;写、设置与备份 RPC 为 `loopback`。
|
|
121
|
-
- WebUI 不直接读取 SQLite、启动进程或指定任意更新命令。
|
|
122
|
-
- worker 使用 persona、工具白名单、结构化输出与 `maxDepth: 1`。
|
|
123
|
-
- 查询、候选、档案正文与历史记忆全部按不可信数据处理。
|
|
124
|
-
|
|
125
|
-
这些边界不是秘密扫描器。当前没有确定性的凭据检测;不要提交密钥、token、私钥和原始敏感日志。
|
|
126
|
-
|
|
127
|
-
### 安全问题报告
|
|
128
|
-
|
|
129
|
-
按 [SECURITY.md](../../SECURITY.md) 私下报告漏洞,不要创建公开 issue。数据丢失、路径穿越、锁 / revision 绕过、子 Agent 隔离破坏和 WebUI 记忆内容注入都在范围内。
|
|
130
|
-
|
|
131
|
-
## 故障排查
|
|
132
|
-
|
|
133
|
-
| 现象 | 检查与处理 |
|
|
134
|
-
|---|---|
|
|
135
|
-
| Mnemon 不可用 | macOS/Linux 运行 `command -v mnemon`、`mnemon --version`;Windows PowerShell 运行 `Get-Command mnemon`、`Test-Path "$env:LOCALAPPDATA\Programs\mnemon\mnemon.exe"`。设置 `MNEMON_CLI_PATH` 或 `mnemon.cliPath` 后重启 |
|
|
136
|
-
| 左侧栏没有“记忆系统” | 检查 `tabEnabled=true`、`displayMode=sidebar`;Buildin 位于对话区;本地 link 先 `pnpm run build` 再重启 profile |
|
|
137
|
-
| 状态正常但召回为空 | 检查 active 记忆体、存储范围、查看目录、会话实际目录和查询是否足够聚焦 |
|
|
138
|
-
| 顶部提示目录未对齐 | 工作台正在查看另一个工作区;点击一键对齐,或有意保留只读查看;Agent-backed 操作在未对齐时拒绝 |
|
|
139
|
-
| 设置保存后无变化 | 查看保存错误;成功保存应实时切换并自动重新读取,不需要刷新 |
|
|
140
|
-
| 自定义目录被拒绝 | 使用绝对路径、`~` 或 `~/...` |
|
|
141
|
-
| `memoryBodyId is required...` | active 数量不是恰好 1;显式选择目标 |
|
|
142
|
-
| `memory body is not active for reading` | 在概览激活目标;写入 inactive 可以,读取不行 |
|
|
143
|
-
| Provider 错误 | 普通语义任务需要完整隔离能力;后台审查另需 `fork + inheritsParentContext` |
|
|
144
|
-
| Runtime replace 超容量 | 缩短 replacement 或先显式整理;自动维护只处理 add 溢出 |
|
|
145
|
-
| Document source path 被拒绝 | 路径必须在会话工作区内,且不能引用受管 Documents 目录 |
|
|
146
|
-
| CLI timeout | 增大 `timeoutMs`;大 Store 的状态与图谱可能超过 10 秒 |
|
|
147
|
-
| lock timeout | 检查其他写进程,不要删除仍属于活跃进程的 lock |
|
|
148
|
-
| ZIP 导出提示 WAL busy | 等待 Memory Space 写入完成并重试;不要绕过未 checkpoint WAL 检查 |
|
|
149
|
-
| ZIP 导入 checksum / schema 失败 | 备份损坏或格式不兼容;保留当前根,不要手工解压覆盖 |
|
|
150
|
-
| 更新按钮不出现 | 当前已是最新、远程检查失败,或安装来源是 link / 手工模式;按面板提示沿原方式更新 |
|
|
151
|
-
| 远程页面能读不能写 | 写、设置与备份 RPC 强制 loopback,这是权限设计 |
|
|
152
|
-
|
|
153
|
-
## 已知限制
|
|
154
|
-
|
|
155
|
-
### 功能只读不等于磁盘只读
|
|
156
|
-
|
|
157
|
-
`writeEnabled=false` 禁用语义 mutation 与 Pack 导入,但启动可能初始化 / 修复 Runtime 投影,Document 搜索更新 `lastAccessedAt`,Mnemon 读命令也可能迁移数据库。
|
|
158
|
-
|
|
159
|
-
### Documents 的共享范围
|
|
160
|
-
|
|
161
|
-
`global` 与 `custom` 可能让多个工作区共享同一 Document index;记录没有独立 workspace ownership 字段。`sourcePaths` 只在写入时相对发起会话 cwd 校验。
|
|
162
|
-
|
|
163
|
-
### 跨系统事务
|
|
164
|
-
|
|
165
|
-
“先冷索引、后移动”保护 active 原文,但不是跨 Mnemon SQLite 与文件系统的可回滚分布式事务。索引后发生 revision 冲突时可能保留重复引用;系统选择保留数据。
|
|
166
|
-
|
|
167
|
-
### 后台水位
|
|
168
|
-
|
|
169
|
-
活动评分、最近 checkpoint 与重试状态未持久化;Host 重启会清空未处理活动。失败退避、熔断和人工重试入口尚未实现。
|
|
170
|
-
|
|
171
|
-
### 版本与国际化
|
|
172
|
-
|
|
173
|
-
尚无正式固定的 DSH / Mnemon 支持矩阵。主要 Web 界面为中英文双语,但命令、工具卡、兼容元数据和部分错误仍未完全国际化。
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
# 项目介绍:面向 DSH 的本地三层与跨 Agent 共享记忆系统
|
|
2
|
-
|
|
3
|
-
**简体中文** | [English](../en/project-overview.md) | [文档中心](./README.md)
|
|
4
|
-
|
|
5
|
-
`dsh-mnemon` 将 [Mnemon](https://github.com/mnemon-dev/mnemon) 的长期记忆体接入 DeepSeek Harness,并补充运行时热记忆、项目档案、生命周期路由、受限子 Agent、确定性控制层与 DSH 原生界面。因为长期层使用 Mnemon 原生 Store,DSH 也获得了与其他 Mnemon-enabled Agent 复用同一套本地长期记忆的能力。
|
|
6
|
-
|
|
7
|
-
它要解决的不是“保存更多文字”,而是让 Agent 在长期连续性、当前事实优先、上下文成本和可恢复写入之间取得平衡。
|
|
8
|
-
|
|
9
|
-
[](../assets/screenshots/overview-memory-graph.png)
|
|
10
|
-
|
|
11
|
-
## 为什么需要三个层级
|
|
12
|
-
|
|
13
|
-
单一记忆层很难同时满足高频注入、完整阅读和跨会话召回:
|
|
14
|
-
|
|
15
|
-
| 需求 | 如果只有一个记忆层 | dsh-mnemon 的选择 |
|
|
16
|
-
|---|---|---|
|
|
17
|
-
| 下一轮必须知道用户偏好和稳定约定 | 每次检索有延迟,也可能漏召回 | 运行时记忆每轮注入紧凑投影 |
|
|
18
|
-
| 阅读完整设计、调查或流程 | 切成碎片会失去叙事和来源 | 档案保留受管 Markdown 全文 |
|
|
19
|
-
| 跨会话查找事实、决策和关系 | 全量加载会污染上下文 | 记忆体按需返回有界图增强证据 |
|
|
20
|
-
| 保留不常用长文的可追溯性 | 永久留在热层持续占容量 | 先建立冷引用,再迁移原文 |
|
|
21
|
-
| 让模型判断价值但不掌握系统安全 | LLM 无法保证路径、锁和事务 | worker 负责语义,Host 负责硬边界 |
|
|
22
|
-
|
|
23
|
-
无论命中哪一层,优先级始终是:**当前用户指令 → 实时工具与仓库事实 → 历史记忆**。
|
|
24
|
-
|
|
25
|
-
## 三层记忆模型
|
|
26
|
-
|
|
27
|
-
### 1. 运行时记忆
|
|
28
|
-
|
|
29
|
-
运行时层保存高频、紧凑、每轮都可能使用的信息:
|
|
30
|
-
|
|
31
|
-
- `USER.md`:身份、角色、偏好、习惯和明确协作要求;
|
|
32
|
-
- `MEMORY.md`:项目约定、环境事实、决策、工具特性与可复用经验。
|
|
33
|
-
|
|
34
|
-
`runtime/memories.json` 是唯一事实源,两个 Markdown 文件是确定性投影。USER 上限 4 KiB,MEMORY 上限 10 KiB,均按 UTF-8 字节计算。普通增删改由控制层执行;只有容量维护才可能启动 worker。
|
|
35
|
-
|
|
36
|
-
### 2. 项目档案
|
|
37
|
-
|
|
38
|
-
档案保存需要完整结构的设计、调查、流程、复盘和交接。标题、检索说明与正文参与确定性搜索,正文保持 Markdown。
|
|
39
|
-
|
|
40
|
-
单份正文最大 2 MiB,active 总量最大 10 MiB。人工归档或容量整理时,插件先让受限 worker 在 Mnemon 写入带摘要与 SHA-256 的冷引用,再在 revision 未变化时移动原文。失败或冲突时优先保留 active 原文。
|
|
41
|
-
|
|
42
|
-
### 3. 记忆体
|
|
43
|
-
|
|
44
|
-
每个记忆体对应一个独立 Mnemon Store 与 `mnemon.db`,并拥有稳定 ID、名称、路由说明和激活状态。
|
|
45
|
-
|
|
46
|
-
- 读取只覆盖已激活记忆体;
|
|
47
|
-
- 写入可以选择任何已登记目标,成功后自动激活;
|
|
48
|
-
- 长期层保留时间、语义、因果和实体四类关系;
|
|
49
|
-
- 召回返回记忆体来源与记忆 ID,后续可以继续查看关联。
|
|
50
|
-
|
|
51
|
-
三层的权威文件、容量与目录结构见[存储与三层记忆模型](./storage-model.md)。
|
|
52
|
-
|
|
53
|
-
## 跨 Agent 共享边界
|
|
54
|
-
|
|
55
|
-
这里的“共享”不是 dsh-mnemon 把对话或文件主动广播给任意 Agent,而是多个已接入 Mnemon 的 Agent 使用同一套本地 Mnemon 数据:
|
|
56
|
-
|
|
57
|
-
1. 每个参与方都安装并接入 Mnemon;
|
|
58
|
-
2. 每个参与方都能访问同一个 `storageRoot`;
|
|
59
|
-
3. 需要共享的长期记忆位于各方共同识别的 Mnemon Store 中。
|
|
60
|
-
|
|
61
|
-
满足这些条件后,在 DSH 中写入的长期事实、实体与关系可以由其他 Mnemon-enabled Agent 召回,反向写入也能被 DSH 发现。共享范围只覆盖 Mnemon Memory Spaces;`runtime/` 和 `documents/` 是 dsh-mnemon 管理的 DSH 层,不会仅因共用目录就自动成为其他 Agent 的上下文。
|
|
62
|
-
|
|
63
|
-
`global` 默认根 `~/.mnemon` 最适合本机多个 Agent 共享;`custom` 适合显式约定的公共根;`workspace` 则把共享限制在对应项目目录。多个进程同时访问时依赖 Mnemon / SQLite 的并发语义,离线复制、迁移或直接修改数据库前应先停止所有使用者。
|
|
64
|
-
|
|
65
|
-
## 总体架构
|
|
66
|
-
|
|
67
|
-
[](../assets/diagrams/zh-CN/project-architecture.svg)
|
|
68
|
-
|
|
69
|
-
架构由四个边界组成:
|
|
70
|
-
|
|
71
|
-
1. **交互边界**:用户通过对话、Sidebar / Buildin 工作台、`/mnemon` 命令与模型工具使用记忆。
|
|
72
|
-
2. **监督边界**:长期召回、语义写入和归档在受限 worker 中执行;生命周期只提供短提示和调度信号。
|
|
73
|
-
3. **确定性控制边界**:Host 校验 schema、路径、权限、容量、锁、revision、CLI 参数、超时与取消。
|
|
74
|
-
4. **本地数据边界**:Runtime、Documents 与 Memory Spaces 统一位于当前 `storageRoot`,不依赖远程记忆服务。
|
|
75
|
-
|
|
76
|
-
### 记忆系统流转
|
|
77
|
-
|
|
78
|
-
下面的架构图是稳定执行边界,不是实时状态面板。实线是 Host 确定性路径,虚线是需要 LLM 判断的受监督 worker 路径。
|
|
79
|
-
|
|
80
|
-
[](../assets/diagrams/zh-CN/memory-system-flow.png)
|
|
81
|
-
|
|
82
|
-
三条主链路分别是:
|
|
83
|
-
|
|
84
|
-
- **每轮上下文**:Runtime 投影进入 prompt;Root Agent 按需确定性搜索 active Documents。
|
|
85
|
-
- **按需语义操作**:Root Agent 调度 `spawn` worker,通过 Host Bridge 访问已激活记忆体并只返回有界证据或写入回执。
|
|
86
|
-
- **维护与归档**:普通变更由 Host 原子执行;空闲审查使用继承已完成 checkpoint 的 `fork`;档案归档先验证冷索引,再跨 revision fence 移动原文。
|
|
87
|
-
|
|
88
|
-
触发门槛、取消行为和失败语义见[生命周期与核心流程](./workflows.md)。
|
|
89
|
-
|
|
90
|
-
## 读取路径:由近到远
|
|
91
|
-
|
|
92
|
-
一次依赖历史的问题按以下顺序扩展:
|
|
93
|
-
|
|
94
|
-
1. 当前请求、实时工具结果和仓库文件;
|
|
95
|
-
2. 已在 prompt 中的 Runtime Memory;
|
|
96
|
-
3. active Documents 的确定性检索与按需全文;
|
|
97
|
-
4. 已激活 Memory Spaces 的监督召回;
|
|
98
|
-
5. 命中冷引用后才读取 archived 原文。
|
|
99
|
-
|
|
100
|
-
`mnemon_recall` 会启动隔离 worker。worker 根据记忆体名称和说明选择最窄范围,只能使用允许的召回与关联工具;完整路由过程与整个目录不会灌入主对话。
|
|
101
|
-
|
|
102
|
-
Web 的“直接检索”返回原始证据;“Agent 查询”先取得相同证据,再让一个无 Mnemon 工具的 evidence-only worker 组织答案。
|
|
103
|
-
|
|
104
|
-
## 写入路径:语义与系统保证分离
|
|
105
|
-
|
|
106
|
-
| 记忆 worker 负责 | Host 硬保证 |
|
|
107
|
-
|---|---|
|
|
108
|
-
| 判断候选是否值得保存 | 输入 schema 与操作权限 |
|
|
109
|
-
| 选择最窄记忆体并查重 | 工作区与路径不能逃逸 |
|
|
110
|
-
| 提炼自包含内容与关系理由 | CLI 禁用 shell,限制输出、超时与取消 |
|
|
111
|
-
| 判断长内容是否应成为档案 | 文件锁、临时文件、rename 与 revision fence |
|
|
112
|
-
| 在 persona 范围内保守维护 | UTF-8 容量与失败时保留原数据 |
|
|
113
|
-
|
|
114
|
-
长期召回与写入优先使用隔离的 `spawn`;评分后台审查只在已完成回合达到门槛且持续空闲后使用 `fork`。新回合会取消等待或运行中的审查。
|
|
115
|
-
|
|
116
|
-
## 用户能看到什么
|
|
117
|
-
|
|
118
|
-
默认 Sidebar 只有四个一级页面:状态、运行时、记忆体、档案。记忆体再分概览、检索、内容、实体;添加、编辑和沉淀使用统一弹窗,长列表采用筛选与渐进加载。
|
|
119
|
-
|
|
120
|
-
对话内还有两个增量入口:
|
|
121
|
-
|
|
122
|
-
- **本回合记忆**:汇总本轮记忆工具活动,并支持跳到对应页面;
|
|
123
|
-
- **存入记忆**:把已定稿回复载入可编辑确认弹窗,只有确认后才启动监督写入。
|
|
124
|
-
|
|
125
|
-
逐页截图与工作区查看 / 执行语义见 [Sidebar 与对话交互指南](./ui-guide.md)。工具、命令和 RPC 契约见[接口参考](./interfaces.md)。
|
|
126
|
-
|
|
127
|
-
## 本地优先与可靠性
|
|
128
|
-
|
|
129
|
-
- CLI 通过参数数组启动,`shell=false`;输出、超时与取消有界。
|
|
130
|
-
- Runtime 与 Documents 使用进程内队列、跨实例锁、临时文件与 rename。
|
|
131
|
-
- Runtime revision 阻止过期压缩覆盖;Document revision 阻止移动已更新原文。
|
|
132
|
-
- 子 Agent 使用 persona、工具白名单、结构化输出和深度限制。
|
|
133
|
-
- WebUI 不直接读取 SQLite,不从浏览器传入任意更新命令。
|
|
134
|
-
- 插件不存储模型凭据,但当前也没有确定性的秘密扫描器。
|
|
135
|
-
|
|
136
|
-
这些保证不是跨 Mnemon SQLite 与文件系统的可回滚分布式事务;项目选择在不确定时保留原数据。完整边界与已知限制见[运维指南](./operations.md)。
|
|
137
|
-
|
|
138
|
-
## 继续阅读
|
|
139
|
-
|
|
140
|
-
- [快速开始](./getting-started.md):安装与第一次验证。
|
|
141
|
-
- [Sidebar 与对话交互指南](./ui-guide.md):完整 UI 使用路径。
|
|
142
|
-
- [架构设计](./architecture.md):模块、worker 与信任边界。
|
|
143
|
-
- [存储模型](./storage-model.md):目录、容量与权威源。
|
|
144
|
-
- [生命周期与核心流程](./workflows.md):注入、召回、写入、审查与归档。
|
|
145
|
-
- [配置参考](./configuration.md):展示形态、存储范围与高级开关。
|
package/docs/zh-CN/roadmap.md
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# Roadmap
|
|
2
|
-
|
|
3
|
-
**简体中文** | [English](../en/roadmap.md) | [文档中心](./README.md)
|
|
4
|
-
|
|
5
|
-
Roadmap 记录当前实现之外的工作,不是已交付能力承诺。优先级以数据安全、可恢复性和可验证性为先。
|
|
6
|
-
|
|
7
|
-
## P0:可靠性与可恢复调度
|
|
8
|
-
|
|
9
|
-
- [ ] **持久化后台审查水位**:按 root session 保存活动信号、最近处理 checkpoint、评分版本和运行状态;重启或 resume 后恢复未处理活动。
|
|
10
|
-
- [ ] **幂等 checkpoint**:为一次审查输入建立稳定标识,避免超时、重试或重复 hook 产生重复 Document。
|
|
11
|
-
- [ ] **退避、熔断和人工重试**:连续失败后有上限地退避,状态页展示原因并允许显式恢复。
|
|
12
|
-
- [ ] **确定性敏感信息防线**:在 LLM 准入之外增加秘密/凭据模式检测、大小限制和审计回执。
|
|
13
|
-
- [ ] **自动化真实 WebUI E2E**:隔离 DSH_HOME、storageRoot、workspace 和端口,覆盖轻任务、评分审查、取消和失败无半写入。
|
|
14
|
-
- [ ] **修正冷引用路径**:所有 storage scope 都写入与实际托管路径一致的可解析引用。
|
|
15
|
-
|
|
16
|
-
## P1:长期维护与数据运维
|
|
17
|
-
|
|
18
|
-
- [ ] **跨 session 长期整理**:基于时间和新增 session 数触发独立整理,而不是复用逐 turn 审查。
|
|
19
|
-
- [ ] **Mnemon GC / forget 审阅**:生成衰减、冲突、过时内容和孤立关系候选,展示证据后再执行删除。
|
|
20
|
-
- [ ] **一致性备份与恢复**:为 registry、多个数据库、Runtime 和 Documents 提供统一快照、校验和恢复演练。
|
|
21
|
-
- [ ] **修复与重建工具**:检测损坏 JSON、缺失投影、孤儿 Document、缺失 DB 和 registry/磁盘不一致。
|
|
22
|
-
- [ ] **schema migration**:为 Runtime、Documents index 和 Memory Space registry 增加显式升级与回滚策略。
|
|
23
|
-
- [ ] **兼容矩阵**:记录并自动测试支持的 DSH、Mnemon CLI、Node 和数据格式组合。
|
|
24
|
-
- [ ] **明确 Documents workspace ownership**:在共享 storage scope 中记录来源工作区或提供可配置隔离策略。
|
|
25
|
-
|
|
26
|
-
## P2:可观测性、体验与发布工程
|
|
27
|
-
|
|
28
|
-
- [ ] **后台审查历史**:展示最近评分、checkpoint、等待/运行/失败、worker 回执和产生的变更。
|
|
29
|
-
- [ ] **切换到 DSH 通用目录选择器**(等待 [dsh-external/issues#603](https://github.com/dsh-external/issues/issues/603)):当前自定义存储暂用手动填写 Host 路径,以避开远端 `browse` 部署无法调用 `native` picker 的问题;DSH 暴露插件可复用的 directory-picker 服务后,改用由能力提供方统一选择 native / browse 的流程,并仅在必要时保留手动输入作为兜底。
|
|
30
|
-
- [ ] **完整国际化**:覆盖命令、工具卡、Host 错误、兼容默认元数据和确认文案。
|
|
31
|
-
- [ ] **多记忆体 E2E**:覆盖自动建空间、跨空间召回、一次迁移分流、多种边、合并和受控 forget。
|
|
32
|
-
- [ ] **容量与故障注入**:真实触发 USER/MEMORY 边界、Document LRU、revision 冲突、CLI 超时和 Host 中途重启。
|
|
33
|
-
- [ ] **文档一致性检查**:相对链接、外链、双语文件镜像、配置键和代码块一致性进入 CI。
|
|
34
|
-
- [ ] **发布收口**:稳定版本号、变更日志、升级/卸载/数据保留指南、artifact 校验和最小支持策略。
|
|
35
|
-
|
|
36
|
-
## 当前明确不在范围内
|
|
37
|
-
|
|
38
|
-
- Runtime `daily` target;当前只维护 `user` 和 `memory`。
|
|
39
|
-
- 没有明确触达语义的主动通知守护进程;Mnemon 仍是按需拉取系统。
|
|
40
|
-
- 把内部 RPC 或 `MnemonClient` 宣布为稳定公共 SDK。
|
|
41
|
-
- 自动删除来源 Memory Space 数据库;当前 merge 保留来源文件。
|