edit | blame | history | raw

2026-06-25 Mindraw 全局链接影响

用户目标

用户要求读取 /Users/ar/Projects/ExcalidrawX/.codex-sessionhistory/2026-06-25-全局链接需求.md,判断全局链接需求是否影响 .mindraw 路线;如果影响,则更新相关文档,没必要则不改。

判断结论

全局链接需求会影响 .mindraw 路线,但不是推翻性影响。

它不改变 .mindraw 前三期核心路径:

  • 格式契约与 ADR
  • 文档容器抽象
  • .mindraw 兼容包 MVP
  • 导出互通

但它要求 .mindraw 更早预留稳定的文档身份和对象寻址语义,因此需要更新格式契约和 Round01 草案。

关键决策

  • 新增 Phase 3.5:Global Link / Deep Link Addressing Spike
  • .mindraw manifest 建议 MVP 即生成稳定 documentId
  • 第一版全局链接可以使用 file path + Excalidraw element id。
  • 长期应支持 documentId + element id / anchor id,降低文件移动或改名后的断链风险。
  • 对象定位优先使用 Excalidraw element id / frame id,不使用 frame 名称作为主要定位依据。
  • 导出 .excalidraw / .excalidraw.md 不承诺保留完整 .mindraw deep link 语义。
  • 全局链接第一版限定为本机系统级链接,不设计跨设备、云端分享或协作链接。

文件变更

  • 修改:02-P/plan.markdown
  • 加入全局链接战略需求。
  • 新增 Phase 3.5:Global Link / Deep Link Addressing Spike
  • 将稳定 documentId 和全局链接寻址加入未决问题。
  • 修改:02-P/Round01-mindraw-defstart/ADR-001-mindraw-format-contract.md

  • 加入全局链接 / deep link 能力。
  • 增加 DeepLinkService 架构层。
  • 增加稳定文档身份、对象寻址和全局链接风险。
  • 修改:02-P/Round01-mindraw-defstart/manifest-schema-draft.md

  • 在 MVP manifest 草案中加入 documentId
  • 加入 linking 字段。
  • 加入未来 links.targets 扩展字段。
  • 补充 deep link 安全约束。
  • 修改:02-P/Round01-mindraw-defstart/compatibility-matrix.md

  • 加入 Global Link / deep link 降级策略。
  • 增加本机 mindraw://open?file=...&element=... 与未来 doc=... 的兼容说明。
  • 修改:02-P/Round01-mindraw-defstart/qa-entry-checklist.md

  • 增加 documentId 和全局链接 QA 检查项。
  • 修改:02-P/Round01-mindraw-defstart/fixtures-plan.md

  • 新增未来全局链接目标包 fixture 设计。

未决问题

  • documentId 是否作为 MVP 必填字段最终定稿。
  • 全局链接第一版是否只支持 file path + element id。
  • documentId fallback 是否需要本地索引服务。
  • .mindraw 包移动或改名后,链接恢复是否进入第一版。
  • deep link 触发时遇到未保存文档如何处理。

后续建议

  1. Round01 定义收口时,把 documentIdlinking 放入 MVP contract 表。
  2. Tauri 目录包 spike 之后,再单独做 deep link spike。
  3. deep link spike 需要覆盖未启动 App、已启动 App、文件已打开、文件缺失、对象缺失、未保存修改等场景。