16.5k Star 的纯 Rust 文字处理器 WordCraft:能替代 WPS 到什么程度
文里的截图不是手工拍的,是 WordCraft 用 UI 测试工具离屏渲染出来的(cargo run -p wordcraft-ui-egui --example ui_shot)。
WPS 的毛病多数人张口就能数:打开先登录,写两页弹会员,文档默认往云上送,关窗前还要问一句「保存到云端吗」。10 月 7 日建仓的 WordCraft 走的是另一条路:纯 Rust 写的开源文字处理器,MIT 或 Apache-2.0 任选,读写 .docx,没有账号体系,拼写和语法检查都在本地跑。三周时间攒到 16,518 个 star,10 月 28 日发布 v0.12.0。
有一点得先讲明白:WordCraft 对标的是微软 Word,不是 WPS,README 里一次都没提过 WPS。它被拿来跟 WPS 比,是因为它的产品形态刚好撞上这些抱怨——不开账号、不放广告位、离线运行、源码开放、还能被脚本和 AI agent 直接驱动。
一、项目本身
| 项目 | 情况 |
|---|---|
| 仓库 | storytold/wordcraft,ArtCraft 团队 |
| 定位 | 开源、现代文字处理器;README 自称微软 Word 的 clean-room 重实现 |
| 语言 | 纯 Rust,界面用 egui 直接走 GPU 绘制,没有 Electron / Tauri 那层壳 |
| 协议 | MIT 或 Apache-2.0,二选一 |
| 平台 | macOS、Windows、Linux(x86_64 / aarch64 / riscv64)、FreeBSD、浏览器(WebAssembly) |
| 最新版 | v0.12.0,2026-10-28 发布 |
| 热度 | 16,518 star、4,532 fork(截至 2026-10-29) |
| 成熟度 | alpha;项目自评「约 60% 可用于真实工作」 |
| 官网 | getartcraft.com/apps/wordcraft |
clean-room 的意思是按公开规范和实际观察重写,素材自制或采用开放许可:没拿 Word 的代码,也不是给别的软件套壳。
代码按 7 层 crate 切开,责任清楚:wordcraft-geom 管单位和度量;wordcraft-doc、wordcraft-fonts、wordcraft-proof 管文档模型与编辑、字体与整形、拼写语法断字;wordcraft-layout、wordcraft-docx、wordcraft-formats 管断行分页与 OOXML/ODT/RTF/HTML/Markdown/TXT;wordcraft-render、wordcraft-pdf 管光栅化和 PDF;wordcraft-engine 是会话、撤销和那 422 条命令;wordcraft-mcp 是 MCP 服务;wordcraft-ui-egui 是前端的界面层,可替换。最外面才是三个 app:桌面版、命令行、浏览器版。
二、苦 WPS 久矣的那几条,它各自怎么处理
1. 一打开就要登录,功能分三六九等
WordCraft 没有账号体系。装完打开就是功能区,不登录、不注册、不弹会员(因为没有会员),导出 PDF 也在本地完成。它双协议开源,项目本身没有收费入口,功能上也没有「付费解锁」这一层。
2. 文件会不会被顺手传上去
桌面端是本地应用:文档在本机读写,拼写、语法、断字都在离线状态工作,不依赖任何云端服务。日志写到 logs/wordcraft.log(Linux 在 ~/.config/wordcraft/logs/,macOS 在 ~/Library/Application Support/WordCraft/logs/,Windows 在 %APPDATA%\WordCraft\logs\),README 明确写了文档文字从不记录,崩溃日志也不会带上引用的文字。每次启动把上一份日志滚成 wordcraft.1.log,单份上限 16 MiB。
3. 安装包和打字手感
原生 Rust + GPU 绘制,没有内嵌浏览器内核的开销。段落布局有缓存:在一个 188 页的文档里打字,一次重排约 1.4 ms,页面按需渲染。Windows x64 安装包 wordcraft-0.12.0-windows-x64.msi 是 88.6 MB,双作用域设计,默认只装给当前用户、装到 %LOCALAPPDATA%\Programs\ArtCraft\WordCraft,不需要管理员权限;安装包和可执行文件都做了代码签名。
4. 格式:主格式还是 .docx
读写 .docx(OOXML),也能读 .odt、.rtf、.html、.md、.tex(LaTeX)、.txt 并导出这些格式,能打开 97-2003 的老 .doc,PDF 导出保留可选文字、超链接和书签——这几点直接决定了它能不能接住别人发来的文件。

5. 排版该有的东西都有,但不吹「AI 一键成稿」
样式集与实时预览、主题、页眉页脚(首页不同、奇偶页不同)、分栏、页码、水印、页面边框、行号、首字下沉、自动断字,表格支持合并拆分、跨页重复表头、排序和公式。引用部分有目录、脚注尾注、APA/MLA/Chicago/IEEE 引文、图表目录、交叉引用、索引和引证表。邮件合并能读 CSV、套合并域、做信封和标签。


6. 审阅痕迹、界面语言和词典都在本机
修订模式、页边批注气球、接受/拒绝、比较两份文档、限制编辑、辅助功能检查器和文档检查器齐全。界面语言 21 种、含简体中文,默认跟随系统语言。英语和波兰语拼写词典是内置的,俄语、葡萄牙语、捷克语、意大利语、克罗地亚语、土耳其语读系统里装的 Hunspell 词典(不捆绑)。


7. Linux、BSD、浏览器都能跑
同一份 Rust 代码编到各平台。Linux 上分发格式很齐:AppImage(配 .zsync 用 AppImageUpdate 自更新)、Flatpak、deb、rpm、tar.gz,另有三个社区维护的 AUR 包(wordcraft-bin、wordcraft、wordcraft-git,项目自己不发 AUR)。FreeBSD 有 x86_64 包,浏览器里跑的是 WebAssembly 版静态站。
Gentoo 走社区的 snakebyte overlay,包装成 app-office/wordcraft-bin(预编译)和 app-office/wordcraft(源码编译):
eselect repository add snakebyte git https://github.com/switch87/snakebyte-overlay.git
emaint sync -r snakebyte
echo 'app-office/wordcraft-bin ~amd64' >> /etc/portage/package.accept_keywords/wordcraft
emerge --ask app-office/wordcraft-bin
8. 让 Agent 直接改文档,这是 WPS 没有的一层
项目把「每个操作都是一条带 id 的命令」做成了架构:同一个 422 条命令的集合,同时驱动功能区、快捷键、命令搜索、命令行工具、JSON 控制通道和 MCP server。WPS 有 JS 宏,那是给人写脚本用的;WordCraft 这套是给 AI agent 用的接口,而且有无头 CLI。
wordcraft-cli convert report.docx report.pdf # docx、pdf、odt、rtf、html、md、tex、txt、png 互转
wordcraft-cli text report.docx # 取纯文本
wordcraft-cli inspect report.docx # 导出结构 JSON
wordcraft-cli run --template sample \
--cmd 'select.text={"text":"Membership"}' --cmd format.bold --save out.docx
wordcraft-cli run --script job.json # 从脚本跑一串命令,再存 docx 与 pdf
接进 Claude 这类客户端也就一行:
claude mcp add wordcraft -- wordcraft-cli mcp
wordcraft --control 7981 & # 或者驱动正在跑的桌面程序
claude mcp add wordcraft-app -- wordcraft-cli mcp --connect 127.0.0.1:7981
MCP 暴露的工具包括 list_commands、execute、batch、type_text、select_text、inspect_document、render_page、save_document,连着运行中的程序时还有 screenshot、click、key。agent 用 inspect_document 就能自查结果,不必靠截图比对。
⚠️ 让 agent 跑之前记得限目录,否则它能读写整个文件系统:
wordcraft-cli mcp --automation-read-root DIR --automation-write-root DIR
三、能替代到哪一步,说实话
项目自己在 Roadmap 里写得很直白:现在是 alpha,功能目录里 97% 的功能区/菜单项已有对应命令,但算上实现深度、文件保真和稳定性,估计约 60% 可用于真实工作,对典型专业用户的周常工作约 55%,日常基础写作约 63%。进 beta 之前还要做的几件事:拿真实世界里的 .docx 做测试、把图表和 SmartArt 完整往返、提高分页保真度、做稳定性清扫、加上原生打印。
| 场景 | 现在能不能顶上 |
|---|---|
| 写文章、报告、简历,收发 .docx | 能,日常写作已覆盖得比较全 |
| 带目录、脚注、引文的论文/技术文档 | 大体能,引文样式和目录都在,复杂排版细节要自己核一遍 |
| 带图表、SmartArt 的商务文档 | 谨慎,往返保真还是待办项 |
| 需要原生打印、精细分页排版 | 还不行,原生打印尚未完成 |
| 团队多人在线协作 | 不行,没有云端协作这一层 |
所以它现在替掉的,是「本地写文档」这件事,日常写作这一块覆盖得比较全。WPS 的云文档和团队协作它接不住,仓库文档里也找不到这两块的对应功能。

四、装上试试
| 平台 | 文件 |
|---|---|
| Windows x64 / arm64 / x86 | wordcraft-<ver>-windows-{x64,arm64,x86}.msi,或对应的 -portable.zip |
| macOS(Apple 芯片 + Intel) | wordcraft-<ver>-macos-universal.dmg,已签名并公证;命令行工具另发 wordcraft-cli-<ver>-macos-universal.zip |
| Linux x86_64 / aarch64 | AppImage、Flatpak、deb、rpm、tar.gz |
| Linux riscv64 | wordcraft-<ver>-linux-riscv64.tar.gz(需 glibc 2.39+) |
| FreeBSD x86_64 | wordcraft-<ver>-freebsd-x86_64.tar.gz |
| 浏览器 | wordcraft-web-<ver>.zip,丢到任意静态服务器 |
不想等安装包,直接从源码跑:
git clone https://github.com/storytold/wordcraft
cd wordcraft
cargo run --release -p wordcraft -- --sample # 打开内置样例文档
cargo run --release -p wordcraft -- report.docx # 打开自己的文档
想先在浏览器里看一眼,不用装什么:
cd apps/wordcraft-web && trunk serve # 然后打开 http://127.0.0.1:8771/?sample
⚠️ 几个已知的坑(README 里记着的):
- Windows 上双击没反应:桌面端默认只初始化 DirectX 12,某些显卡驱动(比如 AMD 的
atio6axx.dll)会在窗口出现前崩掉。先在 PowerShell 里试$env:WGPU_BACKEND = "vulkan";32 位版本本来就走 OpenGL。 - Wayland 下拖文件进窗口失效:默认走 XWayland。要原生 Wayland(分数缩放下文字更清晰,代价是没有拖放)就
WORDCRAFT_WAYLAND=1 wordcraft。 - 装完想换安装范围:同一个系统只能装一份,先卸载再改作用域,否则会被拒绝。
- 渲染慢:老机器上 DirectX 12 找不到可用显卡时会退到软件渲染,日志里
graphics:开头的那几行会写明选了哪个后端。
代码质量这块可以自己验:cargo xtask ci 会跑格式化、clippy、约 800 个测试、素材归属检查、分层检查和 wasm 构建。
五、仓库与软件打包地址
- 仓库:github.com/storytold/wordcraft
- 最新打包下载:releases/latest(v0.12.0 的 Windows / macOS / Linux / FreeBSD / Web 各版本安装包都在这里)
- 历史版本与更新说明:releases
- 每个文件都有校验和,放在同页的
SHA256SUMS.txt里
附:同一团队的其他工具与社区
WordCraft 属于 ArtCraft 的 Crafting Apps 系列,同样是 Rust 写的免费开源工具:
| 工具 | 用途 | 代码 | 介绍页 |
|---|---|---|---|
| PhotoCraft | 图像编辑,图层、蒙版、PSD | GitHub | 网站 |
| VectorCraft | 矢量插画 | GitHub | 网站 |
| FilmCraft | 视频剪辑、调色、声音 | GitHub | 网站 |
| LightCraft | 照片库与 RAW 冲印 | GitHub | 网站 |
| PdfCraft | PDF 阅读、整理、加密 | GitHub | 网站 |
| EffectCraft | 动效与视觉特效 | GitHub | 网站 |
| DesignCraft | 版式设计与排版出版 | GitHub | 网站 |
ArtCraft 主页在 getartcraft.com,整套工具在 getartcraft.com/apps,社区在 Discord。