Files
mnote/design/01-tree-first-graph-kernel/process/1-2-tree-first-graph-product-vision-progress-v1.md
T

171 lines
9.5 KiB
Markdown
Raw Normal View History

2026-05-19 08:11:58 +08:00
# 1-2 [process] Tree-First Graph 产品愿景进展评估 v1
> 更新时间:2026-05-19
>
> **目的**:对照原始产品愿景(Wolai 编辑体验 + VSCode 文件树 + simple-mindmap + OnlyOffice + AI 操作一切),评估当前代码在 1.0 MVP 后的实际进展和剩余的缺口。
>
> 关联:
> - `design/01-05-current-priority-overview.md`
> - `design/10-review/done/11-current-full-architecture-review-v1.md`
> - `CURRENT_ARCHITECTURE.md`
> - `design/11-wolai/help-center-reference.md` — Wolai 帮助中心功能对照基准
## 1. 一句话结论
核心链路已经全部立住,但 AI 对思维导图和 Office 文件的操作是明确的功能缺口,其余模块处于"已可用、收口中"状态。
---
## 2. 各模块状态
### 2.1 Wolai 编辑体验 + UI — ✅ 收口中
#### 架构层
| 子能力 | 状态 | 关键证据 |
|--------|------|----------|
| 默认编辑器已切到 leptos-tiptap island | DONE | `design/05-editor-mainline/done/5-4-leptos-tiptap-mainline-correction-v1.md` |
| Page Aggregate 读链已切到 Rust projection | DONE | `design/05-editor-mainline/done/5-5-1-page-aggregate-contract-v1.md` |
| 文档页入口优先消费 Rust page-aggregate 快照 | DONE | `CURRENT_ARCHITECTURE.md` §2.5 |
| 前端壳已切换到 Rust SSR`:3000`| DONE | `CURRENT_ARCHITECTURE.md` §3.1 |
| Page Aggregate 写链(标题/正文/设置)smoke 通过 | DONE | `scripts/task110-*`, `task-page-aggregate-*-smoke.js` |
2026-05-21 10:19:02 +08:00
| 页面设置运行时语义 / 页头回流 / AI 设置面未完全闭环 | PROCESS | `design/05-editor-mainline/reference/5-5-page-aggregate-single-truth-alignment-v1.md` |
2026-05-19 08:11:58 +08:00
| Wolai UI 行为持续对齐 | PROCESS | `design/05-editor-mainline/process/5-9-wolai-aline-continuous-checklist-v1.md` |
| `documents.content` 仍是兼容后备而非唯一真源 | PARTIAL | `CURRENT_ARCHITECTURE.md` §3.2 |
#### 基础块类型覆盖(对照 Wolai 帮助中心)
| 块类型 | Wolai | mnote | 备注 |
|--------|-------|-------|------|
| 文本 | ✅ | ✅ | |
| 标题 H1/H2/H3 | ✅ | ✅ | |
| 无序列表 | ✅ | ✅ | |
| 有序列表 | ✅ | ✅ | |
| 待办列表(checkbox| ✅ | ✅ | |
| **折叠列表(toggle** | ✅ | ❌ | 缺口 |
| 页面块(subpage| ✅ | Partial | Tiptap 嵌入页 |
| 引述文字(blockquote| ✅ | ✅ | |
| **着重文字(callout** | ✅ | ❌ | 缺口 |
| 代码片段 | ✅ | ✅ | |
| 数学公式 | ✅ | ✅ | LaTeX |
| 分割线 | ✅ | ✅ | |
#### 进阶块类型覆盖(仅基础级引用)
| 块类型 | Wolai | mnote | 备注 |
|--------|-------|-------|------|
| 简单表格 | ✅ | ✅ | Tiptap table |
| **数据表格(database** | ✅ | ❌ | 缺口,类似 Notion DB |
| 统计图表 | ✅ | ❌ | |
| Mermaid 绘图 | ✅ | ❌ | |
| 思维导图 | ✅ | ✅ | Phase 6 leptos-mindmap |
| 页面目录(TOC| ✅ | ❌ | |
| 网址书签 | ✅ | ✅ | |
| 嵌入第三方应用 | ✅ | Partial | OnlyOffice 已接,其他待定 |
| 文件附件 | ✅ | ✅ | OnlyOffice adapter |
| 按钮 / 进度条 / 仪表数字 | ✅ | ❌ | 基础缺口 |
#### 基础操作覆盖
| 操作 | Wolai | mnote | 备注 |
|------|-------|-------|------|
| 基本编辑(输入/换行/拖拽/缩进)| ✅ | ✅ | |
| `/` 快捷命令菜单 | ✅ | ✅ | Tiptap slash command |
| **模板创建页面** | ✅ | ❌ | 缺口 |
| 页面选项/设置 | ✅ | ✅ | Page Aggregate 写链已通 |
| **页面关系图** | ✅ | ❌ | 缺口 |
| 全局搜索(Ctrl+P| ✅ | ✅ | Search modal smoke 通过 |
| **导入/导出** | ✅ | ❌ | 缺口(Local/Cloud 桥接仅 P3 |
| 垃圾桶 | ✅ | ✅ | `tree.resource.*` 实现 |
| **回收站恢复位置+reveal** | ✅ | ✅ | 已实现(`design/04-tree-domain/process/4-28` |
| 个人设置(主题/语言)| ✅ | Partial | 暗色模式有,设置 UI 不全 |
| 图标/表情选择器 | ✅ | Partial | |
| **快捷方式/星标栏** | ✅ | ❌ | 缺口 |
完整对照表见 `design/11-wolai/help-center-reference.md`
### 2.2 VSCode 文件树 — ✅ 大部完成
| 子能力 | 状态 | 关键证据 |
|--------|------|----------|
| VSCode Explorer 对标设计 | DONE | `design/04-tree-domain/done/4-20-vscode-explorer-file-tree-alignment-v1.md` |
| 三层模型(Resource → File → Page Tree)固定 | DONE | `design/04-tree-domain/done/4-24-resource-tree-filetree-pagetree-source-contract-checklist-v1.md` |
| `tree.*` 命令切流(Stage 2| DONE | `design/04-tree-domain/done/4-6-tree-command-protocol-cutover-stage2-v1.md` |
| 文件树资源行与页面命令分离 | DONE | `bugs/04-tree-domain/done/4-46-filetree-resource-row-document-command-leak-v1.md` |
| 垃圾箱恢复位置记录 + reveal/focus | DONE | `design/04-tree-domain/process/4-28-trash-restore-location-reveal-focus-v1.md` §2 |
2026-05-21 09:04:13 +08:00
| 资源生命周期命令 `tree.resource.*`(核心 cutover 已完成,局部尾项由后续文档承接)| DONE/PARTIAL tails | `design/04-tree-domain/done/4-27-resource-lifecycle-command-cutover-v1.md`,尾项见 `4-28` / `4-34` / `4-44` / `4-45` |
2026-05-19 08:11:58 +08:00
| 双浏览器 no-refresh(页面 + 文件 + 垃圾箱实时同步)| PROCESS | `design/04-tree-domain/process/4-34-filetree-trash-dual-browser-no-refresh-v1.md` |
2026-05-21 10:19:02 +08:00
| Local/Cloud 桥接 | P3 CANDIDATE | `design/04-tree-domain/reference/4-23-local-cloud-explicit-bridge-p3-candidate-v1.md` |
2026-05-19 08:11:58 +08:00
### 2.3 Simple-mindmap — ✅ 编辑器完成,AI 未覆盖
| 子能力 | 状态 | 关键证据 |
|--------|------|----------|
| Phase 6 口径修正(Rust kernel + simple-mind-map adapter| DONE | `design/06-mindmap/process/6-mindmap-kernel-phase6-projection-editor-v1.md` §2 |
| Leptos UI shell | DONE | git `c64487c6` |
| 即时显示修复 | DONE | git `3be102a4` |
| Filetree 切换稳定 | DONE | git `b300562a` |
| KMind 级详细验收 | DONE | `design/06-mindmap/done/6-mindmap-phase6-kmind-parity-detail-checklist-v1.md` |
| **AI 读写思维导图(增删改节点)** | **GAP** | Hermes manifest 无 `mnote.mindmap.*` 工具 |
### 2.4 OnlyOffice — ✅ 打开/链路完成,AI 未覆盖
| 子能力 | 状态 | 关键证据 |
|--------|------|----------|
| adapter-onlyoffice crate | DONE | `rust/crates/adapter-onlyoffice/` |
| Rust 路由 | DONE | `rust/crates/mnote-web/src/routes/onlyoffice.rs` |
| Docker 部署 | DONE | `infra/onlyoffice/docker-compose.yml` |
| 附件打开链路修复 | DONE | git `7bd0c9e9` |
| Kernel 工具(session/签名/proxy/callback/forcesave| DONE | `core-protocol/src/tool.rs` `ONLYOFFICE_TOOL_*` |
| **AI 读写 Office 文件内容(.docx/.xlsx/.pptx** | **GAP** | 无 `mnote.office.*` Hermes 工具 |
### 2.5 AI 操作文档 — ✅ 主线已完成
| 子能力 | 状态 | 关键证据 |
|--------|------|----------|
| 在线文档 markdown 级读写 | DONE | `mnote.doc.markdown_edit` + `mnote.doc.fetch`smoke 验证通过 |
| 本地 `.md` 文件读/写 | DONE/PARTIAL | `mnote.doc.fetch` 已支持本地文件,写侧仍在过渡(`design/03-rust-web/process/3-13`|
| 结构性块操作(移动/插入/删除)| DONE | `mnote.block.*` 工具群,Hermes 完整 smoke |
| 工具权限 / dryRun / 幂等 / revision 约束 | DONE | `bugs/07-ai/done/7-22` ~ `7-30` |
| ACP runtime + UI | DONE | `design/07-ai/done/7-25-acp-session-runtime-enhancement-plan-v1.md` |
| Phase C(流式 apply / review session| FROZEN | `design/07-ai/process/7-14` — 当前不实施 |
---
## 3. 缺口汇总
| 缺口 | 分类 | 说明 |
|------|------|------|
| AI 操作思维导图 | 功能缺失 | Hermes 13 个工具没有 mindmap 操作。AI 无法在导图中增删改节点 |
| AI 操作 Office 文件 | 功能缺失 | 无 `mnote.office.*` 工具。OnlyOffice 可手动编辑,但 AI 无法读写 `.docx`/`.xlsx`/`.pptx` 内容 |
用户确认 "日记" 即当前主编辑区(Tiptap / `.md` 文件),不构成独立缺口。
---
## 4. 当前架构收口主线(已完成进度 ~70%)
```
第一优先:Page Aggregate 单一真源 ████████████░░░░░░ 70%
└─ EditorBlockDocument 原生落库 ██████░░░░░░░░░░░░ 40%
└─ 页面设置运行时闭环 ████████░░░░░░░░░░ 50%
└─ AI 写入链走统一 markdown_edit 口径 ██████████████░░░░ 80%
第二优先:Tree Command Cutover ████████████░░░░░░ 70%
└─ tree.resource.* 命令收口 ██████████░░░░░░░░ 60%
└─ 资源 rename 补全 ████░░░░░░░░░░░░░░ 30%
第三优先:Tree Realtime Event Stream ██████████████░░░░ 80%
└─ WS 主链已上线 (57ec8322) ████████████████░░ 90%
└─ 双浏览器 no-refresh 统一 live cache ██████░░░░░░░░░░░░ 45%
└─ SSE fallback / 补偿链减少 ██████████░░░░░░░░ 60%
```
---
## 5. 后续方向建议
1. **继续推进三条架构收口主线**Page Aggregate → Tree Command → Tree Realtime),这是当前最优先的工程投入点。
2. **确认两个功能缺口是否需要本轮填补**:AI 操作思维导图和 Office 文件。如果需要在 MVP 后立即补齐,需要为 `mnote.mindmap.*``mnote.office.*` 工具做设计;如果可推迟,则当前架构收口完成后再说。
3. Local/Cloud 桥接(P3 candidate)和 Phase C AI(流式 apply)属于明确的"下一轮"范围,不在此轮冲刺内。