edit | blame | history | raw

会话记忆 - Mindraw唯一真相 - 2026-06-24

用户目标

围绕基于 Mindraw / ExcalidrawX 重做“可视化上下文桥”的方案,确认 .mindraw 本地包格式中的唯一真相规则,避免未来出现画布结构、资产索引、图片文件和 AI 任务记录互相冲突。

已完成事项

  • 讨论了 Cowart 的产品思路问题:本地画布却以本地 URL 作为主要入口,容易造成用户找不到文件、误以为内容丢失。
  • 明确 Mindraw 新方案定位:以 Excalidraw 交互为基础,做本地文件优先的“可视化上下文桥”。
  • 用户确认关键取舍:
  • 不要求 .mindraw 文件被官方 Excalidraw 原样打开。
  • 只对“AI 标注 Frame”自动生成 paired AI Frame,不对普通 Frame 自动生成。
  • AI 生成依据优先使用原图文件 + 矢量批注,而不是只依赖截图。
  • 采用独有 .mindraw 格式,作为 .excalidraw 的二次封包。
  • 倾向让 Codex 通过 MCP 直接修改本地 .mindraw 包,但后续应通过事务工具保护写入。

关键决策

用户确认接受“分域唯一真相”规则:

  • scene.excalidraw.json 负责画布元素、Frame 坐标、文字、箭头、批注、Frame 关系。
  • manifest.json 负责包版本、资产索引、AI 任务索引、文件 revision、schema version。
  • assets/ 负责图片二进制文件本身,包括原图、生成图、缩略图等。
  • ai/ 负责 AI Frame 的任务记录、生成历史、输入输出证据。

原则:画布结构以 scene 为准,图片路径以 manifest 为准,图片内容以 assets 文件为准,AI 任务记录以 ai/jobs 为准。不同文件可以互相引用,但不得对同一事实重复声明并各自说了算。

文件变更

  • 新增本会话记忆文件:/Users/ar/Projects/ExcalidrawX/.codex-sessionhistory/2026-06-24-Mindraw唯一真相.md
  • 未修改 Mindraw 源码。
  • 未修改正式 PRD、架构文档或项目索引。

未决问题

  • .mindraw 包应采用目录包、zip 包,还是两者并存:目录包作为工作格式,zip 作为导出归档。
  • Mindraw MCP 写入 .mindraw 包时的事务协议、revision 校验和锁机制尚未定义。
  • AI 标注 Frame 的具体数据结构、paired AI Frame 的关系字段、Frame 内元素归属规则尚未定义。
  • 外置 assets 与 Excalidraw 运行时 files[fileId] / dataURL 注入之间的转换策略尚未定义。

后续建议

  • 下一步先写一份 .mindraw 包格式草案,明确目录结构、manifest 字段、scene 引用 assets 的方式、AI job 记录格式和 revision 规则。
  • 在实现前优先做一个最小技术验证:打开 .mindraw 包、加载 scene、把 assets 注入 Excalidraw 运行时、保存时再拆回外置 assets。