开发者工具

Proofnote

一个面向 AI 协作写作的本地优先结构化文档编辑器,通过预设内容模块与可复用模板,组织、校验并导出可移植文档。

结构化文档编辑器已完成2026概念设计、格式设计、实现、验证与界面设计
结构化文档本地优先AI 协作写作开发者工具

从证明格式到文档引擎

Proofnote 最初来自一个很普通的问题:邮件并不适合展示较长的数学解释。Gmail 不会渲染 Markdown,一旦公式、推导、条件与补充说明同时出现,很快就会变成一整块难以阅读的文字,我经常不得不为了让邮件看得下去而主动简化解释。

那次尝试产生了 Solution Note 1.0,目前仍可通过兼容的导入/导出方式使用。它面向证明的呈现思路延续到了现在的 Proof Note 工作流中,但已不再作为 Proofnote 的底层文档模型。

文档由内容模块构建

一篇文档由设计好的模块组成,包括标题、小标题、段落、公式、代码、表格、图片、语义模块与列表。写作时可以专注于每部分内容的作用,而不必反复调整 CSS 排版。

排版、间距与打印规则由 Proofnote 统一控制,因此不同笔记之间保持一致,在屏幕、打印稿与 PDF 中也能保持一致的阅读体验。模块编辑器让这套结构始终可见、可改,而可复用模板则把反复出现的文档形态变成可以直接应用的模板。

面向 AI 协作写作

AI 生成的内容被当作需要校验的输入,而不是可以直接信任的输出。模型可以生成 Proofnote Document Format JSON,而 Proofnote 会在内容进入编辑器之前检查语法、数据结构、文档限制、LaTeX 与结构一致性。

Proofnote Editable HTML 让这套流程支持双向编辑:文档可以导出为人和 AI 都能编辑的语义化 HTML,在应用之外修改之后再导入回来。Proofnote 会恢复那些显式的语义改动,例如文字修改、模块插入、删除、移动、表格、标题与 LaTeX 源码,CSS、类名(class)、外层容器与渲染预览则只作为呈现信息处理。

当协议出现歧义时,导入器不会去猜。重复的模块标识、损坏的基线、互相冲突的字段、过期修订以及其它不安全状态都会被诊断并拒绝,而不是被悄悄转换成另一份文档。

本地文档、项目与模板

多篇文档存放在以 IndexedDB 为主的本地文档库中,正常使用不需要账户,也不需要应用后端。内置模板包括空白文档、证明笔记、研究笔记、实验报告与论文/报告,任何文档也都可以保存为个人模板。

本地项目(Project)用于集中组织相关文档。彼此独立的证明、实验、审查与笔记可以归入同一个项目,通过统一的总览和导航树查看。这种归属关系只保存在本地文档库中,不属于可移植文档本身。

因此,在不同项目之间移动文档,不会改变它的规范内容、Editable HTML 身份、修订谱系或导出的文件。删除项目只会移除分组,其中的文档会继续保留,只是不再归属于该项目。

为可移植性而设计

Proofnote JSON 保存完整的文档模型,可用于备份和迁移。展示用 HTML(Presentation HTML)适合分享、归档和阅读,并内嵌渲染所需的资源;打印与 PDF 输出则提供适合最终阅读的版本。

Proofnote Editable HTML 用于保留可编辑的语义结构:人和 AI 都可以在应用之外修改它,再导入为规范文档,并与原有基线核对。这两种 HTML 格式分别承担忠实呈现和安全编辑的用途。

当前状态

Proofnote 目前处于 v3.1.0-rc.1,当前工作区修订为 v1.48。核心文档模型、模块编辑器、本地文档库、项目导航以及 Editable HTML 往返编辑协议都已进入发布候选状态。近期工作更多集中在加固本地持久化、修订冲突、导入边界、语义恢复与错误处理,而不再是引入新的文档概念。

项目记录

Proofnote 进入发布候选阶段

本地项目(Project)导航、可编辑 HTML 的语义往返校验、带修订检查的文档替换、存储迁移,以及浏览器持久化改进均已完成。开发进入功能冻结阶段,重点转向回归测试。