开发者工具
ProofNote
一个用于整理数学与计算机科学结果的结构化工具,支持面向 AI 的内容生成、精确错误诊断与独立 HTML 导出,让复杂结果更容易阅读、检查和继续修改。
为什么做 ProofNote
ProofNote 最初来自一个很普通的问题:邮件并不适合展示较长的数学解释。Gmail 不会渲染 Markdown,一旦内容里同时出现公式、推导、条件、补充说明和验证材料,很快就会变成一整块难以阅读的文字。我经常不得不为了让邮件看得下去而主动简化解释,即使原本的数学内容值得更清楚的结构。
我希望有一种格式,既能保留一个数学结果真正需要的结构,又不让读者先和排版搏斗。于是有了 ProofNote:把问题、结果、推理、证据、验证材料、限制与参考资料组织成统一的笔记,再以清楚的网页或 HTML 文件呈现和分享。
同时面向人与 AI
如果每一个结构化字段都需要手工填写,那只是把一种麻烦换成另一种麻烦,因此面向 AI 的内容生成也成为了设计的一部分。ProofNote 定义了一套规范的 Solution Note Format 1.0,同时提供更简洁的 AI Authoring Profile。模型可以先生成紧凑格式,再由 ProofNote 将其规范化为标准结构,随后进行验证与渲染。
这个设计希望让 AI 生成的数学内容能够继续被使用,而不是变成一次性的文字。笔记可以导出和分享,也可以在之后需要补充证明、更新计算结果、修改解释或修正问题时,再次交给 AI 或手动继续编辑。
不止告诉你“JSON 错了”
AI 生成的数学 JSON 往往会以一些非常固定但又很麻烦的方式出错,尤其是 LaTeX 反斜杠与 JSON 转义同时出现时。因此 ProofNote 不只是告诉用户“导入失败”。它把问题区分为 JSON 语法、Schema、内容预检与渲染几个阶段,并尽可能指出错误位置、可能原因以及具体的修复方式。
例如,当 JSON 中直接出现类似 \sqrt 的 LaTeX 命令时,系统可以把它识别为 LaTeX 转义问题,而不是只返回一个含义不清的 invalid escape。Schema 不匹配、内容异常和 KaTeX 渲染错误也会在不同阶段分别处理,避免所有问题最后都变成同一条报错。
为可移植性而设计
ProofNote 可以直接在现代浏览器中本地运行,正常使用不依赖服务器或网络。导出的笔记则是独立的 HTML 文件,所需的渲染资源会被一并嵌入,因此可以直接阅读、归档、通过邮件发送,或者在其它环境中打开,而不需要依赖 ProofNote 本身。
导出的 HTML 同时仍然是普通、可继续编辑的文件。如果底层结果发生变化,或者之后发现需要补充和修正的地方,它可以再次由人工或 AI 修改,而不是像截图或静态文档一样被固定下来。
从个人工作流到公开工具
ProofNote 最初只是为了解决我自己在数学交流中的实际问题,但后来我也把它放到社区中尝试,大家对这种结构化格式以及渲染后笔记能够继续修改和使用的方式反馈很好。
项目目前已经以 MIT License 公开发布。当前对外版本为 v3.1.0-rc.1,编辑器、Solution Note Format 1.0、中英文界面、错误诊断、示例、测试以及独立 HTML 导出能力都已经随公开仓库发布。
项目记录
ProofNote v3.1.0-rc.1 公开发布
ProofNote v3.1.0-rc.1 现已以 MIT License 公开发布。本次发布包含结构化编辑器、Solution Note Format 1.0、中英文界面、分层诊断、示例、测试与独立离线 HTML 导出。