夜雨聆风学习资料网

ARTICLE · 1191752

告别 Office 订阅:这个 Rust 重写的开源 Word,把 Word 的"最后一公里"接给了 AI Agent

告别 Office 订阅:这个 Rust 重写的开源 Word,把 Word 的"最后一公里"接给了 AI Agent

一个绕不开的现实

打开别人发来的 .docx,字体莫名变成"宋体二号",标题样式全没了,目录错乱,行距 1.5 倍,图片浮在文字中间——或者直接打不开。然后你会想:"能不能装个干净点的文字处理软件?"

摆在面前的现实:Office 365 一年订阅几百块,WPS 在商业授权和广告上很多人介意,LibreOffice Writer UI 老派且 .docx兼容细节总差一口气,Pages/OnlyOffice 又只覆盖部分场景。

GitHub 上有个叫 storytold/wordcraft的项目,做了一件相当激进的事:

用 Rust 从零干净室重写 Word 的核心工作流——Ribbon、样式库、目录、引用、邮件合并、修订模式——本地运行、跨平台、原生读写 .docx,不订阅、不上传、不绑架格式。

项目地址:https://github.com/storytold/wordcraft
官方网站:https://getartcraft.com/apps/wordcraft

它到底是什么

WordCraft 由 ArtCraft 团队推出——同一批人同时在做 CADCraft(干净室重写 AutoCAD)。WordCraft 的目标是 Word 的二维文字处理这件事——不是"Word 皮套壳",而是底层用 Rust + egui 重写,UI 模仿 Word 的 Ribbon 和快捷键,但内核、布局引擎、文件解析、字体处理全是自己写。

打开它的界面,你看到的是熟悉的画面:顶部 Home/Insert/Design/Layout/References/Review/View/File 八个选项卡分组完整;左侧 Navigation Pane 按标题跳转;中间 Styles 画廊实时预览 Normal、Heading 1、Title、Subtitle;右侧属性面板 + 底部状态栏;支持深色模式、标尺、网格。

不一样的是底层:不是 Electron,不是 Tauri,不是某私有内核的开源表层——是干净室重写,Rust + egui 单二进制,启动比 Word 快一个数量级。

它解决了什么具体问题

写作和文档处理这几年有几个真实痛点。

格式绑架。.docx(OOXML) 是事实标准,但怎么写、能不能跨工具干净读写,基本被微软垄断。WordCraft 原生读 OOXML .docx、原生写 .docx(回到 Word 能直接打开),还能导入/导出 .odt、.rtf、.html、.md、.tex、.txt,导入 Word 97-2003 的 .doc,导出含可选文字、链接、书签的真 PDF。

闭源 + 订阅。Office 365 把"本地文字处理"推向"云端服务",本地能干净干活的 Word 越来越贵。WordCraft MIT OR Apache-2.0 双协议,完全免费,本地运行,拼写、语法、断字都在本机做。

Agent 没接口。AI Agent 火得不行,但让 Agent 自动写文档、改样式这件事几乎没人做——传统 Word 工具没有 MCP、没有 CLI、没有 JSON 控制接口。WordCraft 把每一项菜单、工具都暴露成 422 个具名 commands,Agent 可以通过 MCP、CLI、JSON 通道直接调用。

大文档卡顿。写过 100+ 页论文的人都懂:Word 打开大文档,改一行就要等几秒重新排版。WordCraft 的段落布局是缓存的——官方数字是 188 页文档改一行重排约 1.4 毫秒。

让我眼前一亮的 5 个设计

1. 命令就是 API

WordCraft 的核心抽象是"command":每一项菜单、每一个工具、每一个键盘快捷键最终都是一个具名 command(Bold、Italic、InsertTableOfContents、AcceptAllRevisions……)。Ribbon 按钮、键盘 F4/F7/F8、命令搜索、命令行工具、JSON 通道、MCP server——全部由这 422 个 commands 驱动。

人按 Ctrl/⌘+B 加粗,Agent 调 format.bold输出一样;脚本可以 .scr文件批量回放一组 commands;任何 command 都接受 JSON 参数;宏可以录制任意一组 commands 然后回放。这套设计让"开发者友好的文字处理"第一次成立。

2. 三种 Agent 控制通道

与 CADCraft 同源,WordCraft 把"Agent 接管"做成三种并存通道:

  • MCP server
    :wordcraft-cli mcp,走标准 stdio,Claude Code、Cursor、Codex、Gemini CLI 都能直连。还可用 --automation-read-root与 --automation-write-root限定目录。
  • JSON 控制通道
    :启动桌面应用时加 --control 7981,Agent 通过 TCP 发 JSON 命令,操作运行中的应用。
  • CLI 一次性调用
    :wordcraft-cli run --cmd 'select.text={"text":"Membership"}' --cmd format.bold --save out.docx,适合流水线。

MCP 工具包括 list_commands、execute、batch、type_text、select_text、inspect_document、render_page、save_document,连接运行中应用时还能用 screenshot、click、key。Agent 可以通过 inspect_document自检文档结构而不依赖截图。

3. 干净的 6 层架构

wordcraft-geom/doc/fonts/proof/layout/docx/formats/render/pdf/engine/mcp/ui-egui共 12 个 crate,ui-egui之下没人知道 egui 的存在——前端随时可以换 Web、WASM、Tauri、Qt,不影响核心。apps里 wordcraft、wordcraft-cli、wordcraft-web对应桌面、命令行、浏览器三种交付。

4. WASM 浏览器端

apps/wordcraft-web是 trunk + wasm 构建,可以直接在浏览器里打开和编辑 .docx。教学场景里老师发链接,学生直接打开就能写;团队 review 不需要装客户端;服务端流水线可以无头运行(wordcraft-cli)。对一个传统桌面文档工具来说,把"Word 跑在浏览器里"是十年来第一次真正工程化的实现——Rust + WASM 性能终于够用,PDF 用 krilla、栅格化用 vello_cpu,纯本地、不依赖云服务。

5. 字体和拼写细致

WordCraft 不偷偷内嵌字体——它调用系统装的 TTF/OTF。拼写、语法、断字都跑在本机(wordcraft-proof),支持英语和波兰语按段落语言切换,thesaurus、字数统计、修订、批注(行内气球或独立面板)、文档比较、限制编辑、文档检查器全部内置。界面运行时切换,默认跟随系统——覆盖 19 种语言,含简体中文、繁體、日本語、Русский 等。

当前已经能做哪些事

按官方 ROADMAP,以下模块已经可用:Writing(输入法、智能引号、AutoCorrect、各种选择模式、剪贴板带格式、正则查找替换);Formatting(字体字号、加粗斜体下划线、上下标、大小写、高亮、字符间距、Format Painter);Paragraphs(对齐、缩进、间距行距、制表位+前导符、边框底纹、孤行控制);Styles(实时画廊、Styles 面板、主题);Lists/Tables(项目符号编号多级、表格插入合并拆分、跨页重复表头、排序公式);Pages(页边距方向尺寸分栏、首页奇偶页页眉页脚、页码水印、首字下沉、自动连字);Objects(图片裁剪调色去背景旋转、形状文本框、文字环绕);References(目录、脚注尾注、引用文献 APA/MLA/Chicago/IEEE、题注、交叉引用、索引);Review(拼写语法、批注、修订接受拒绝、文档比较、限制编辑);Mailings(从 CSV 邮件合并、合并域、地址块、信封标签);Files(.docx读写、.doc导入、PDF 导出、.odt/.rtf/.html/.md/.tex/.txt导入导出、页面图像)。

官方诚实地说:目前覆盖 Word Ribbon 88% 的功能区;但算上深度、文件保真度、稳定性等,替代 Word 处理真实工作约 60%,典型专业人士每周工作约 55%,日常基础任务约 63%。

5 步快速上手

git clone https://github.com/storytold/wordcraft
cd wordcraft
cargo run --release -p wordcraft -- --sample
cargo run --release -p wordcraft -- report.docx
wordcraft-cli convert report.docx report.pdf
cd apps/wordcraft-web && trunk serve   # 打开 http://127.0.0.1:8771/?sample
claude mcp add wordcraft -- wordcraft-cli mcp   # 让 Agent 连进来

需要审慎的地方

仍是 Alpha。图表、SmartArt、VBA 宏还在路上。

复杂 .docx不保证 100% 保留。打开再保存路径上,"它还不认识的元素"会被丢弃,作者在 docs/gaps.md逐项列出差异。

Windows 图形栈有坑。默认只初始化 DirectX 12,部分 AMD 驱动 (atio6axx.dll) 会让应用启动瞬间崩溃。可用 WGPU_BACKEND=vulkan绕过。

字体依赖系统。不内嵌字体,纯净服务器需要自己装。

Agent 通道还在演化。screenshot/click/key只在连接运行中桌面应用时可用。

它真正值得关注的点

我看到很多人说:"文档工具这么多,WordCraft 有什么不一样?"

它不一样的不在某一具体特性,而在三件事放在一起的组合:干净室用 Rust 重写,意味着长期可维护、安全、内存安全;原生 .docx读写,意味着它能直接进入现有工作流,不会成为"另一个孤岛";MCP + CLI + JSON 三通道,意味着它是为下一个十年"AI 协作写文档"准备的接口。

这种"把上一代主流工具认真重写 + 接进 Agent 生态"的组合,目前在 GitHub 上相当稀缺。市面上大部分"开源 Office"要么停在 LibreOffice 这种老派重 UI,要么是 OnlyOffice 这种协作优先不看大文件的 web 工具。

WordCraft 选了"二维文字处理 + 桌面原生 + Agent 友好"的窄而深的路线——和同一团队的 CADCraft 同源——这条路值得长期关注。

小结

  • WordCraft 是 ArtCraft 团队用 Rust + egui 干净室实现的开源文字处理器
  • Ribbon 工作流对齐 Word:Home/Insert/Design/Layout/References/Review/View 全套
  • 原生读写 .docx(OOXML),可导出 PDF/.odt/.rtf/.html/.md/.tex/.txt
  • 422 个具名 commands 同时驱动 Ribbon、快捷键、CLI、JSON、MCP
  • 三种 Agent 控制通道:MCP / JSON / CLI,首次让文字处理工具原生适配 Agent 生态
  • 跨平台原生:macOS / Windows / Linux / BSD,加 WebAssembly 浏览器版
  • MIT OR Apache-2.0 双协议,免费,本地运行,不上传文档
  • 188 页文档重排约 1.4 ms,段落布局缓存
  • Alpha 阶段,主要差距在图表、SmartArt、VBA 宏

说到底,文字处理这件事被 Microsoft 主导了三十年。WordCraft 的价值,在于它第一次用现代语言 + 现代工程实践 + Agent 接口重新做了这件事——这是一次认真的、对开发者友好的重写。


仓库地址:

https://github.com/storytold/wordcraft

相关学习资料