跳到正文
Hacker News· espeed·· 6 天前AI 评分58

ArtCraft 开源纯 Rust 重写的 Word 兼容文字处理器 WordCraft

An open-source, clean-room reimplementation of Microsoft Word in pure Rust

AI 导读

ArtCraft 团队发布开源文字处理器 WordCraft,用纯 Rust 从公开规范和观察出发重新实现 Microsoft Word 的工作流,支持 ribbon、样式、表格、修订、引用和邮件合并,可读写 .docx 并导出 PDF。

正文 · AI 翻译

写作与文档设计;一个开源、净室重新实现的 Microsoft Word,用纯 Rust 重写。

一个快速、开源的文字处理器,拥有你熟悉的 Word 工作流程:功能区、样式、 表格、修订、引用和邮件合并。它读写 .docx,原生运行于 macOS、Windows、Linux 和 BSD,并通过 WebAssembly 在浏览器中运行。
由 ArtCraft 团队打造。

Written in Rust Runs on macOS, Windows, Linux, BSD and the web License: MIT OR Apache-2.0 Agent-drivable over MCP

Join the ArtCraft community on Discord

getartcraft.com 上的 WordCraft · ArtCraft · 所有 Crafting 应用

WordCraft with the Home tab of the ribbon open over a two-page document titled The Open Studio Handbook. The Navigation pane on the left lists the document's headings, the Styles gallery shows live previews of Normal, Heading 1, Title and Subtitle, and a word in the first paragraph is selected.
The Open Studio Handbook,WordCraft 的内置示例:功能区、实时样式库、标尺和导航窗格。

注意

ArtCraft 是一个来自各行各业的艺术家社区。画家、摄影师、 电影制作人、插画师、设计师、动画师、爱好者,以及上周才拿起铅笔的人。 如果你创作东西,你就是我们中的一员。来 Discord 打个招呼吧。

导览 · 为什么选择 WordCraft · 目前可用的功能 · 快速开始 · 面向智能体 · 架构 · 路线图 · 下载 · Crafting 应用 · 许可证与致谢

导览

下面的每张截图都是 WordCraft 本身,由其自带的 UI 测试框架离屏渲染 (cargo run -p wordcraft-ui-egui --example ui_shot)。

The Review tab with Track Changes on: the word forty is inserted in magenta and thirty struck through; three commented phrases are shaded and joined by dashed leader lines to comment balloons in a grey markup area to the right of the page

审阅。修订、页边距中的批注气泡、接受和拒绝、输入时拼写和语法检查。

The References tab with two pages side by side: a table of contents with dotted leaders and page numbers on page one, and a styled table, numbered list and hyperlink on page two

引用。目录、脚注、APA、MLA、Chicago 或 IEEE 格式的引文、索引和题注。

The Design tab showing style-set previews; the document is set in a serif theme with plum headings underlined by thin rules and a pale diagonal DRAFT watermark behind the text

设计。主题、样式集、段落间距、水印、页面颜色和边框。

WordCraft in dark mode with the Insert tab open and formatting marks shown: pilcrows at paragraph ends and dots for spaces

深色模式,带格式标记,以及插入选项卡:表格、图片、形状、链接、页眉、页脚、域和符号。

The Layout tab at 80% zoom: the first paragraph opens with a three-line drop cap E, a dark blue circle sits beside the second section with its paragraph wrapping around it and hyphenating art-ist at the line end, every line is numbered in the left margin and a thin blue border surrounds the page

布局。首字下沉、图片和形状周围的文字环绕、自动断字、行号和页面边框。

The File tab start page with a Good morning greeting, thumbnails of the Blank document, Studio handbook, Letter, Résumé and Report templates, and a list of recent documents

文件。从模板开始、打开最近文档、编辑属性、导出为 PDF 和其他格式。

为什么选择 WordCraft

  • 熟悉。Word 的功能区选项卡、组、快捷键和行为:Enter 继续列表, Tab 将其降级,Ctrl/⌘+B 将光标下的单词加粗,样式库实时预览样式, F4 重复,F7 检查拼写,F8 扩展选区。
  • 你的文件。打开和保存 .docx (OOXML),也支持 .odt、.rtf、.html、.md、.tex (LaTeX)、.txt;打开 Word 97-2003 .doc;导出 PDF ,带有真实、可选择的文本、链接和书签。
  • 快速。段落布局被缓存,因此在 188 页的文档中输入时,重新布局约需 1.4 毫秒;页面按需渲染。
  • 无处不在。一套 Rust 代码库适用于 macOS、Windows、Linux、BSD 和 Web。没有 Electron,没有 Tauri:GPU 上的原生 egui。
  • 为智能体打造。每个操作都是带 id 的命令。同样的 422 条命令驱动 功能区、键盘快捷键、命令搜索、命令行工具、JSON 控制通道和 MCP 服务器。
  • 私密。拼写、语法和其他一切均离线工作。
  • 开放。MIT OR Apache-2.0。净室:基于公开规范和观察构建, 每个资源均为原创或开放许可。

目前可用的功能

领域 亮点
写作 使用输入法快速输入、智能引号、自动更正、列表自动套用格式(* 、1. )、破折号;单词、句子、段落选择;拖动选择;带格式的剪贴板;撤销/重做;使用正则表达式查找和替换
格式 字体、字号、粗体/斜体/下划线样式、删除线、上标/下标、全部大写、突出显示、颜色、字符间距、格式刷、更改大小写、清除格式
段落 对齐、缩进(可在标尺上拖动)、间距、行距、带前导符的制表位、边框、底纹、与下段同页、孤行/寡行控制
样式 内置样式集、实时预览库、样式窗格、创建/修改/更新样式、样式集、主题
列表 项目符号、编号、多级、重新开始、设置值、自定义格式
表格 通过网格插入、合并/拆分、带镶边行的样式、边框、底纹、跨页重复标题行、跨页断开的行、排序、公式、文本 ↔ 表格
页面 页边距、方向、大小、分栏、分页/分栏/分节符、页眉和页脚(首页、奇偶页)、页码、水印、页面边框、行号、垂直对齐、首字下沉、自动断字
对象 图片(调整大小、裁剪、重新着色、亮度/对比度、透明度、删除背景、图片样式、旋转)、形状、文本框、带文字环绕的浮动位置(四周型、上下型、衬于文字下方或浮于文字上方)
引用 目录、脚注和尾注、引文和参考文献(APA、MLA、Chicago、IEEE)、题注、图表目录、交叉引用、索引、引文目录
审阅 带建议的拼写和语法检查、同义词库、字数统计、边距批注框或窗格中的批注、修订、接受/拒绝、比较文档、限制编辑、辅助功能检查器、文档检查器
邮件 从 CSV 进行邮件合并、合并域、地址块、问候语、规则、预览、完成并合并到文档;信封和标签
视图 打印布局、Web 布局、草稿、阅读模式、专注、缩放、单页/多页、页宽、导航窗格、标尺、网格线、深色模式;界面支持英语、简体中文、繁體中文、日本語、Português (Brasil)、Español、Українська、Српски / Srpski、Eesti、Türkçe 或 Русский(默认跟随系统语言)
文件 .docx 读写(可在 Word 中打开)、导入 Word 97-2003 .doc、导出 PDF、.odt、.rtf、.html、.md、.tex、.txt 导入/导出、页面图像

按区域逐一给出的真实情况见 ROADMAP.md、 对等性评估以及生成的 功能清单。

快速开始

git clone https://github.com/storytold/wordcraft
cd wordcraft
cargo run --release -p wordcraft -- --sample        # the desktop app with the sample document
cargo run --release -p wordcraft -- report.docx     # open a document

命令行:

wordcraft-cli convert report.docx report.pdf        # docx, pdf, odt, rtf, html, md, tex, txt, png
wordcraft-cli text report.docx                      # plain text
wordcraft-cli inspect report.docx                   # structure as JSON
wordcraft-cli run --template sample \
  --cmd 'select.text={"text":"Membership"}' --cmd format.bold --save out.docx

Web:cd apps/wordcraft-web && trunk serve,然后打开 http://127.0.0.1:8771/?sample。

面向智能体:CLI 和 MCP

WordCraft 的设计目标是既可由人也可由 AI 智能体驱动。

claude mcp add wordcraft -- wordcraft-cli mcp                  # headless documents
wordcraft --control 7981 &                                     # or drive the running app…
claude mcp add wordcraft-app -- wordcraft-cli mcp --connect 127.0.0.1:7981

工具包括 list_commands、execute、batch、type_text、select_text、inspect_document、 render_page、save_document,以及在应用运行时使用 screenshot、click 和 key。智能体 可通过 inspect_document 检查其工作,无需截图。参见 docs/mcp.md 和控制协议。宏可记录任意命令序列并 回放(tools.recordMacro、tools.macros)。

日志

桌面应用将其日志记录写入标准错误,并写入其偏好设置旁边的 logs/wordcraft.log:在 Linux 上为 $XDG_CONFIG_HOME/wordcraft/logs/(默认 ~/.config/wordcraft/logs/),在 macOS 上为 ~/Library/Application Support/WordCraft/logs/,在 Windows 上为 %APPDATA%\WordCraft\logs\。从桌面菜单或 Dock 启动时没有终端,因此这个文件就是提交错误报告时要附上的内容:.docx 中无法读取的部分、PDF 导出时不得不舍弃的图片或字体,以及命令守卫恢复的 panic 都会记录在那里。每次启动都会把上一次的日志移到 wordcraft.1.log(再把那一个移到 wordcraft.2.log),因此崩溃运行的日志能在下次启动后保留下来;日志增长到 16 MiB 时停止。--version 不写文件,使用 WORDCRAFT_NO_PREFS 运行(代理的测试运行)时只记录到标准错误。文档文本从不记录;panic 消息会省略它所引用的文本。

默认情况下,WordCraft 自己的 crate 以 info 记录日志,其他所有内容以 warn 记录。RUST_LOG 会用 env_logger 风格的指令替换该设置,例如 RUST_LOG=debug、RUST_LOG=warn,wordcraft_docx=trace 或 RUST_LOG=info,wgpu_core=warn;以 * 结尾的指令覆盖所有以它开头的目标(wordcraft*=debug)。日志记录器为 apps/wordcraft/src/logging.rs。

架构

层级 Crate 职责
L0 wordcraft-geom 单位和度量
L1 wordcraft-doc、wordcraft-fonts、wordcraft-proof 文档模型与编辑;字体与排版;拼写、语法、断字
L2 wordcraft-layout、wordcraft-docx、wordcraft-formats 换行、分页、表格、注释、命中测试;OOXML;ODT/RTF/HTML/Markdown/TXT
L3 wordcraft-render、wordcraft-pdf 光栅化器(vello_cpu);PDF(krilla)
L4 wordcraft-engine 会话、撤销、422 条命令、Word 功能目录
L5 wordcraft-mcp MCP 服务器
L6 wordcraft-ui-egui Word 风格的前端(可替换)
apps wordcraft、wordcraft-cli、wordcraft-web 桌面、命令行、浏览器

cargo xtask ci 运行格式化、clippy、约 800 个测试、资源归属检查、分层检查和 wasm 构建。贡献者和代理说明:AGENTS.md。

路线图

WordCraft 处于 alpha 阶段。目前它以命令形式覆盖了 Word 功能区 88% 的功能;计入深度、文件保真度、稳定性及其他方面,我们估计它距离真正替代 Word 的全部工作大约完成了 60%,对于典型专业人士的每周工作约为 55%,对于日常基本需求约为 63%。Beta 阶段需要针对真实世界的 .docx 文件进行测试,在往返过程中保留图表和 SmartArt,使分页更接近 Word,进行稳定性排查以及原生打印。详情和估计:ROADMAP.md 和 我们的不足之处。

下载

从 GitHub 下载 WordCraft:最新版本 包含下面列出的所有构建,所有版本 包含更早的版本及其说明。文件名中的 <ver> 是版本号,SHA256SUMS.txt 列出了每个文件的校验和。

Windows

构建 安装程序 便携版
x64(64 位 Intel/AMD) wordcraft-<ver>-windows-x64.msi wordcraft-<ver>-windows-x64-portable.zip
arm64(Snapdragon 及其他 ARM PC) wordcraft-<ver>-windows-arm64.msi wordcraft-<ver>-windows-arm64-portable.zip
x86(32 位) wordcraft-<ver>-windows-x86.msi wordcraft-<ver>-windows-x86-portable.zip

安装程序和可执行文件均已代码签名。

如果应用在 Windows 上无法打开:桌面应用默认只初始化 DirectX 12。让 wgpu 同时创建 OpenGL 实例可能会在窗口出现前使某些显卡驱动崩溃(AMD 的 atio6axx.dll),因此应用会在任务管理器中一闪而过然后退出。WGPU_BACKEND 可覆盖默认设置以进行故障排查(例如 dx12 或 vulkan)。在 PowerShell 中,从包含可执行文件的文件夹运行:

$env:WGPU_BACKEND = "vulkan"
& .\wordcraft.exe
Remove-Item Env:WGPU_BACKEND                     # restore the default for later launches

显式覆盖 gl 可能会在受影响的系统上重新引发驱动崩溃。macOS、Linux 和 Web 后端的默认值保持不变。

如果应用在窗口出现后立即退出,日志中显示“Parent device is lost”: WordCraft 使用 FXC(Windows 内置的编译器)编译 DirectX 12 着色器,因此不需要 dxcompiler.dll/dxil.dll,并忽略其他程序放在 PATH 上的任何副本(#603)。 WGPU_DX12_COMPILER(fxc、dxc、auto)会覆盖此设置;使用 dxc 时,匹配的 dxcompiler.dll 和 dxil.dll 必须与 wordcraft.exe 放在一起。WGPU_BACKEND = "vulkan" 也完全避开 DirectX 12。

如果应用在较旧的 Windows PC 上运行缓慢:当 DirectX 12 找不到带有 对应驱动程序的显卡时(例如 Windows 11 上的 Intel 第四代显卡),它只提供 Microsoft 的 软件渲染器,在处理器上绘制每一帧。在这种情况下,WordCraft 会改用 OpenGL, 无需设置任何内容。日志文件会记录这一选择(以 graphics: 开头的行)。WGPU_BACKEND 仍会覆盖它,例如 $env:WGPU_BACKEND = "gl" 或 "dx12"。

macOS

构建 文件 说明
应用,通用(Apple 芯片 + Intel) wordcraft-<ver>-macos-universal.dmg 已签名并公证
命令行工具,通用 wordcraft-cli-<ver>-macos-universal.zip 已签名并公证

Linux

格式 x86_64 aarch64(ARM64) 说明
AppImage wordcraft-<ver>-linux-x86_64.AppImage wordcraft-<ver>-linux-aarch64.AppImage 可在任何地方运行;通过 AppImageUpdate 自行更新(.zsync 文件)
Flatpak wordcraft-<ver>-linux-x86_64.flatpak wordcraft-<ver>-linux-aarch64.flatpak 沙盒化;flatpak install --user <file>
Debian/Ubuntu wordcraft-<ver>-linux-x86_64.deb wordcraft-<ver>-linux-aarch64.deb
Fedora/RHEL/openSUSE wordcraft-<ver>-linux-x86_64.rpm wordcraft-<ver>-linux-aarch64.rpm
Tarball wordcraft-<ver>-linux-x86_64.tar.gz wordcraft-<ver>-linux-aarch64.tar.gz 解压到任意位置

RISC-V(riscv64):wordcraft-<ver>-linux-riscv64.tar.gz,一个为 glibc 2.39+ 交叉编译的 tarball (Ubuntu 24.04、Debian 13 及更新版本)。

Arch Linux(AUR)。社区成员维护三个 AUR 包;本项目本身不发布 到 AUR。安装其中一个:

包 安装内容 选择时机
wordcraft-bin 上面的发布 tarball,预构建(x86_64、aarch64) 你想要最新版本而无需编译(最快)
wordcraft 最新版本,使用 cargo 从源码构建 你更愿意自己构建发布版本
wordcraft-git 当前的 main 分支,从源码构建 你想要未发布的更改,并接受偶尔构建失败

例如 yay -S wordcraft-bin 或 paru -S wordcraft-bin。

FreeBSD

构建 文件
x86_64 wordcraft-<ver>-freebsd-x86_64.tar.gz

Web(WebAssembly)

构建 文件 说明
静态站点 wordcraft-web-<ver>.zip 在现代浏览器中运行;将其托管在任何静态服务器上

Crafting 应用

WordCraft 是 Crafting 应用之一:来自 ArtCraft 团队的免费开源创意工具,每个都用 Rust 从零编写,且每个都能 独立运行。

应用 用途 代码 了解更多
PhotoCraft 图像编辑:图层、蒙版、文字和真正的 PSD 文件 GitHub 网站
VectorCraft 矢量插画 GitHub 网站
FilmCraft 视频编辑、色彩和声音 GitHub 网站
LightCraft 照片库和 raw 显影 GitHub 网站
PdfCraft 阅读、整理和保护 PDF GitHub 网站
EffectCraft 动态图形和视觉效果 GitHub 网站
DesignCraft 页面布局和出版 GitHub 网站
WordCraft 写作和文档设计 · 你在这里 GitHub 网站

以及 ArtCraft 本身,我们为想要真正掌控的艺术家打造的 AI 图像和视频工作室。

Join the ArtCraft community on Discord

来和我们一起创作吧

我们的 Discord 是各类创作者聚集的地方:绘画的、摄影的、画画的、剪片的、排字的,还有仍在摸索自己想做什么的人。分享你正在做的作品,寻求帮助,告诉我们哪里出了问题,或者告诉我们你希望这些工具能做什么。无论你用什么媒介、做了多久,这里都欢迎你。

discord.gg/artcraft · getartcraft.com · The Crafting Apps · WordCraft

许可与致谢

WordCraft 采用双许可,你可选择 MIT 或 Apache-2.0。 Copyright (c) 2026 ArtCraft Team 及 WordCraft 贡献者。必需的声明见 NOTICE。

捆绑的字体、图标、图像及其他资源保留各自的开放许可;每一项的作者、来源和许可均列于 ATTRIBUTION.md。

拼写词典和断字来自 Grady Ward 的公有领域 Moby Hyphenator II 词表。示例文档和模板是为 WordCraft 撰写的原创文本。

docs/brand/ 中的 ArtCraft 名称、字标和徽标是 ArtCraft Team 的商标,不在本许可范围内。它们只能以未修改的形式使用,且只能作为本仓库和 WordCraft 的一部分,依据 docs/brand/LICENSE-brand.txt 使用。 分支和修改版本必须移除它们。

Microsoft 和 Microsoft Word 是 Microsoft 集团公司的商标。Adobe、Photoshop、Illustrator、Premiere Pro、Lightroom、Acrobat、After Effects 和 InDesign 是 Adobe Inc. 在美国和/或其他国家的商标或注册商标。WordCraft 是一个独立的开源项目,与 Microsoft Corporation 或 Adobe Inc. 无关联,未受其赞助或认可;这些名称仅用于描述其兼容的工作流程。

ArtCraft
由 ArtCraft 团队和社区制作。

来源:Hacker News · github.com