BLOG

技术拆解 022|wordcraft:一个人加一群 agent,五天「重造」了一个 Word

Kael Zhang
技术拆解wordcraftRustAI agent开源
广告 · Advertisement

10 月 7 日建仓,五天攒下超过 6000 颗星,这是 GitHub 上 storytold/wordcraft 的成绩。但它不是孤例:同一个组织两周内把 Photoshop、Lightroom、Premiere、Acrobat、Illustrator、Excel、PowerPoint、AutoCAD 挨个「净室重实现」了一遍,打头的 photocraft 冲到 4.8 万星,全部用 Rust 写,全部自称 clean-room reimplementation。wordcraft 是其中的 Word 成员,README 第一行写着「an open-source, clean-room reimplementation of Microsoft Word, rebuilt in pure Rust」。真正值得拆的是它的生产方式:主力贡献者三天提交 57,353 行新增代码,项目路线图里的剩余工时直接用「Opus 5.5 agent wall-clock hours」计价,一周之内 PR 编号跑到了 581。这是 AI agent 大批量生产合规软件的活标本,本文按老规矩拆六段。

一、它是什么

wordcraft 是 ArtCraft 家族的文档处理器成员,目标是功能上对齐 Microsoft Word,代码上完全独立重写。规模不小:仓库 428 个文件,280 个 Rust 源文件,全部 .rs 合计 156,273 行(含测试)。它自己的路线图报的是另一个口径:433 个命令、855 个测试加 10 个 property block、约 88,700 行 Rust。自报数和实际统计对不上,这本身就是这类项目的特征,后面第四节细说。

架构分七层:底层是几何计算与字体,往上是排版引擎,再往上是 docx 等文件格式读写(支持 OOXML/ECMA-376,能读 ODT、RTF、HTML、Markdown、LaTeX、纯文本,甚至能读 Word 97-2003 的 .doc),然后是渲染与 PDF 导出,再上是引擎层(会话、撤销、命令注册表),最外面是 MCP server 和 egui 桌面界面。发布形态有三个:桌面应用、命令行工具、WASM 网页版。

「净室」是它的立身之本,规则写在 AGENTS.md 里,相当克制也相当严格:开发机上装着正版 Word,允许黑盒观察,允许按窗口截图对照,但禁止读 Word 安装包内部、禁止提交任何 Word 产物;文件格式只从公开规范实现(ECMA-376、OASIS ODF 1.3、RTF 规范);点名不许抄 LibreOffice、AbiWord、pandoc 这些 GPL 系代码。资产纪律同样硬:ATTRIBUTION.md 强制登记每个非代码资产的作者、来源、许可证,一个 cargo xtask assets 检查缺行即失败;图标全部代码绘制,一个微软图标都不许出现;字体走 OFL-1.1 开源字体仓。代码许可 MIT OR Apache-2.0,品牌商标单独封闭。

二、为什么现在值得看

净室重实现 Office,这条路以前只有 LibreOffice 走过,代价是数十人年加一身历史包袱。现在变量是 AI agent:照着公开规范重写一个 Word 的工程量,从「一个团队的职业生涯」压缩到「一个人加一群 agent 的几周」。wordcraft 的路线图直接暴露了这一点:剩余工作全部按 agent 机时估价,到 beta 还要 150 到 230 个 agent 小时,到 95% 完成度要 650 到 1100 个;工时校准引用的案例是「PR #191 约 9,700 行用了 5 小时」「.doc 读取器约 4,500 行用了 10 小时」。人写不出这个速度,项目按 AI agent 大批量生成的模式运转,这一点作者自己并不讳言,HN 上讨论这个家族时,评论区直接用了 vibe-coded 来定性。

另一个背景是情绪燃料。Adobe 和微软的订阅制疲劳积累多年,HN 上这个家族的讨论帖里,高赞观点是「Adobe 的护城河太小,迟早有人因为定价不满重建整个 Creative Suite」,甚至有评论者声称看到项目后立刻做空了 Adobe(个人操作,当不得真)。作者本人在 HN 现身时倒是坦率:「 wasn’t ready to post this to HN. It’s not anywhere close to ready」,超早期 alpha,公开招募贡献者,承诺发 stipends 和 bug bounties。

三、核心技术机制

值得搬走的是四件套。

第一件,一切皆命令。每个操作是一个带 id 的 CommandSpec,同一批命令(README 说 422 个,路线图说 433 个,口径随迭代变)同时驱动六个入口:ribbon 菜单、键盘快捷键、命令搜索、命令行工具、JSON 控制通道、MCP server。加一个功能等于注册一个命令,六个入口自动生效。README 把「Built for agents」做成官方卖点,agent 可以通过 MCP server 无头驱动整个应用。

第二件,never crash 纪律。非测试代码禁 panic、禁 unwrap、unsafe_code 直接设为 forbid;有个 hostile_params_never_panic 测试,拿垃圾参数跑全部命令,保证不崩;Session::run 把逃逸的 panic 转成错误并恢复文档状态。AGENTS.md 里写明「never crash」条款凌驾于功能之上。对 AI 生成的大批量代码,这种全局兜底是必需品,不是洁癖。

第三件,净室观察法。前面说过规则,这里补执行细节:格式实现只认公开规范,观察 Word 只许黑盒(运行、截图),CI 里有 layers 检查防止跨层引用。法律灰区它自己不碰,但「照着窗口截图对齐 UI」这种做法算不算侵犯外观,HN 上已经有人问「微软会不会告」,这是悬在项目头上的问题。

第四件,parity 可测化。cargo xtask parity 生成一份与 Word 的功能对照清单,路线图里 ribbon 目录覆盖 481/496(97.0%)就是这个命令测出来的,不是拍脑袋;测试数量的强制下限只许升不许降。所有质量门收进一条 cargo xtask ci:fmt、clippy 带 -D warnings、测试、资产登记、层级检查、WASM 构建,提交前必须全绿。

配套件也值得一提。crates 目录下除了主线,还挂着 Zotero 引用集成(学术写作场景)、离线拼写语法检查(不联网、不外发内容)、Read Aloud 朗读的句子级模型。这几个配件说明作者对「文档处理器的完整生态」有清单意识,不是只堆核心排版。路线图还有一条纪律值得抄:最新评审日期和更新日期写在文件头部(Last reviewed 10-10、Last updated 10-11),每个数字旁边标着 measured 还是 estimated,自报数据分口径,这在 AI 生成文档泛滥的当下反而是稀缺品。

四、数字与边界

三个自报数字放在一起,落差就是边界:ribbon 目录覆盖 97%(工具实测口径),feature breadth 约 80%(估算),「Ready for real work」约 60%(估算区间 55-63%)。而用户侧的数字更冷:路线图自报 120 个外部用户 issue、4 条好评、0 个「从 Word 迁过来」的用户、约 21 个核心路径未修 bug。97% 的目录覆盖和 0 个迁移用户之间隔着的就是 alpha 和产品的距离。

性能宣称全是自报口径:「188 页文档里打字,重排版约 1.4 毫秒」,没有第三方验证。行数的两个口径(自报 88,700 vs 实测 156,273 含测试)说明文档更新跟不上代码生成速度,这在 agent 大批量产码的项目里是常态。贡献者结构也值得留意:contributors.json 显示 45 个 commit,主力一人三天 57,353 行新增,其余是小额 PR;仓库呈现「成品仓」形态,历史被压平,过程不可追溯。单人主力加 agent 生成代码,长期维护是最大的问号。

HN 评论池两边都有料。怀疑派:有人直接说 skeptical,有人不满桌面版试用要注册登录,有人吐槽滚动条体验「不能指望更好的 UX 注意力」,还有人注意到家族主仓用的是 fair source 许可(与 wordcraft 仓自己的 MIT/Apache 口径不同),并抛出「AI slop 生下来就是公有领域」的版权质疑,法律派的追问是「设计上的父本」会不会带来风险,甚至有人直接发帖问微软会不会为了 GUI 复刻起诉 wordcraft,帖子只有 3 个支持票,但问题悬着没人能答。震撼派:有人夸页面设计出色,有人说「三年前看到这种东西会惊掉下巴,现在我们已经对 AI 麻木了」,还有人觉得这个项目的规模「正好检验 vibe coding 的种种宣称」。把两边放在一起看,评论区的分歧结构和这周对谈栏目拆的 Karpathy 共识鸿沟是同一个形状:接触过的人和没接触过的人,各自拿着自己的样本下结论。

五、怎么跑、谁能玩

v0.4.0(10 月 10 日发布)已经给出全平台安装包:macOS 签名 DMG、Windows MSI、Linux AppImage 加 deb 加 rpm 加 Flatpak、FreeBSD 包、网页 WASM 版。一周之内把七个平台的分发全部铺齐,这个动作本身也是 agent 产能的展示:传统项目做到这一步通常要一个发布工程师忙几周。想读代码或贡献的,clone 下来 cargo xtask ci 一条命令过全部质量门;AGENTS.md 写得足够细,从净室规则到 panic 禁令到资产登记,本身就能当 agent 开发规范模板用。想让 AI agent 驱动它写文档的,起 MCP server 即可。普通用户建议只当围观:路线图自己承认还有约 21 个核心路径 bug,拿它处理正经文档为时尚早。

六、价值判断与适合谁

先回答标题党问题:它现在替代不了 Word,0 个迁移用户就是答案。但把它当「AI agent 大批量生产合规软件」的工程范式样本,含金量很高,四件套可以直接抄:净室纪律(黑盒观察、只认公开规范、资产溯源登记)、never crash 全局兜底、parity 可测化(对照清单工具化、测试下限只升不降)、一条命令的全质量门。这四样与具体项目无关,任何用 agent 写代码的团队都能搬。

适合三类人:用 AI agent 写代码的工程师,抄它的工程纪律;关注 AI 产能爆发的人,这是一个「三天五万行」的现场;以及想验证 vibe coding 宣称边界的人,它的路线图难得地把「目录覆盖」「功能广度」「可用于真实工作」拆成三个数字分开自报,还标注了哪些是工具实测哪些是估算,这种诚实本身就是样本的一部分。

风险面收尾:法律灰区未决(UI 复刻会不会被诉,无人给出答案)、单人主力加 agent 代码的维护持续性存疑、自报口径与实测口径的落差会一直存在。它最像一份公开的实验记录:AI agent 时代的软件工程该长什么样,这个仓库把答案的一部分先写出来了。答案的另一部分,要等它活过 alpha 之后才写得出来,而绝大多数同类项目活不过这个阶段。这也是这个样本最值得盯的原因。


信息来源

  • 仓库与文档:github.com/storytold/wordcraft 的 README、ROADMAP、AGENTS.md、NOTICE、ATTRIBUTION.md、contributors.json(本地浅 clone 检视,代码行数为 wc -l 统计)
  • 星数与家族榜单:GitHub search API,2026-10-12 快照
  • HN 讨论:news.ycombinator.com/item?id=49958850 等四帖,Algolia API 抓取,评论均为转述
  • 性能、覆盖度、完成度数字:项目自报口径,正文已逐处标注
广告 · Advertisement

常见问题

「净室重实现」是什么意思,合法吗?

指不读对方源代码、只按公开规范(ECMA-376 等)和黑盒观察行为独立重写。项目 AGENTS.md 明确规则:允许装正版 Word 黑盒观察,禁止读安装包内部、禁止提交 Word 产物、禁止抄 GPL 系代码,图标全部代码绘制。法律灰区仍在,但纪律本身是可核验的。

它的真实完成度有多少?

自报口径:433 个命令、855 个测试、ribbon 覆盖 481/496(97%)。但「覆盖」不等于「可用」,HN 评论实测桌面版基础编辑可用、复杂排版仍有差距。自报数与第三方统计(428 文件/156,273 行)对不上,属此类项目常态。

这个项目最值得借鉴的是什么?

不是 Word 克隆本身,而是 AI agent 时代的工程范式:一切皆命令(agent 可调用)、never crash 全局兜底、净室观察法喂规范、parity 可测化(对拍真 Word 行为)。这套机制让海量 agent 产出的代码保持可审计。