Harper:Rust 驱动的离线隐私优先语法检查器——一次对 Grammarly 垄断格局的务实反击
核心观点
Harper 是一个用 Rust 编写、完全本地运行的英语语法检查器,由 Elijah Potter 独立开发,于2024 年 11 月被 Automattic(WordPress 母公司)收购。它的存在逻辑很明确:现有主流方案各有致命短板——Grammarly 是隐私黑箱、LanguageTool 是内存怪兽——Harper 选择在这两者的夹缝中切入,用极限性能和零联网换取一个"刚刚好"的可用点。
官方宣称的核心指标:
- 响应延迟 < 10ms(Automattic 公告称 < 20ms,属同一量级),优于 Grammarly 网络往返的 ~100 倍;
- 内存占用不到 LanguageTool 的 1/50(LanguageTool 完整 n-gram 数据集约 16GB);
- 支持 WebAssembly,可直接跑在浏览器里;
- Apache-2.0 开源,无账号、无遥测、不训练任何模型。
关键信息
技术定位:规则引擎而非 LLM
Harper 官网明确自我标榜为"the only grammar checker that doesn't use AI"。这是一个刻意的取舍:规则引擎可以确定性运行在本地,不需要 GPU,也不会因为模型推理产生不可预测的延迟。相比之下,Grammarly 和日益 AI 化的写作助手依赖云端 LLM,Harper 走的是完全相反的路——用有限但精确的规则覆盖最高频的语法错误(错误大写、拼写、语序、常见搭配错误等),而非试图理解全部语义。
这与它的核心机制直接相关:Rust 的零开销抽象 + 有限状态机/规则匹配,才能在普通 CPU 上打到毫秒级。把 LLM 替换进来,10ms 的目标立刻变成空谈。
编辑器支持矩阵(当前状态)
| 集成方式 | 具体产品 |
|---|---|
| LSP 语言服务器(harper-ls) | Neovim / Helix / Emacs / Zed |
| 编辑器扩展 | VS Code / Obsidian |
| 浏览器扩展 | Chrome / Firefox |
| 桌面端 | Harper Desktop(macOS,系统级覆盖所有文本框) |
| CMS 插件 | WordPress(Block 编辑器) |
| SDK | harper.js(JS/WASM)、harper-core(Rust crate) |
Automattic 收购的战略意图
Automattic 明确表示将把 Harper 整合进 WordPress.com、WooCommerce、Jetpack 等产品。这意味着 Harper 的目标用户从"开发者自用的 CLI/LSP 工具"正在扩展到"数百万 WordPress 站长的内容创作流程"。这次收购大幅提升了 Harper 的长期可持续性,但也意味着它的路线图将受制于 Automattic 的商业利益。
局限:诚实说清楚
Harper 目前只支持英语(多方言:美/英/加/澳/印度英语)。核心团队自称架构可扩展到其他语言,但这依赖社区贡献,现在下判断还太早。此外,规则引擎天然的上限是它无法理解深层语义歧义——比如"I saw the man with the telescope"这类结构歧义,或者风格层面的建议,Grammarly 的 AI 反而有优势(即便经常答非所问)。Harper 适合抓语法硬错误,不适合替代文风打磨。
横向对比:三种路径的真实代差
| 维度 | Harper | LanguageTool(自部署) | Grammarly |
|---|---|---|---|
| 隐私 | 零上传、零遥测 | 本地可控(需自建) | 全量上云,训练 LLM |
| 性能 | < 10ms | 秒级(Java JVM 启动 + 规则引擎) | 取决于网络 RTT(~100ms+) |
| 内存占用 | 极低(< LanguageTool 1/50) | 几百 MB~数 GB(n-gram 可选) | 云端(客户端轻量) |
| 语言覆盖 | 仅英语 | 30+ 语言 | 英语为主 |
| 检查深度 | 规则引擎,硬错误为主 | 规则引擎,覆盖面更广 | AI,语义/风格均涉及 |
| 可嵌入性 | WASM,可浏览器内运行 | 不支持 | 不支持 |
| 开源 | ✅ Apache-2.0 | ✅ LGPL(核心库) | ❌ |
| 费用 | 免费 | 免费(自部署)/订阅制(云端) | 订阅制 |
LanguageTool 的致命伤不是功能不够,而是工程成本太重:Java JVM 冷启动、GB 级数据集,在 LSP 场景(编辑器每次保存都触发 lint)里用户体验很差。Harper 恰好解决了这个痛点。
交叉验证
信源 1:Automattic 官方博客(automattic.com,2024-11-21)
Automattic 收购公告直接证实了 Harper 的性能数据——"grammar and language suggestions in under 20ms,这不到某知名在线语法检查器所需时间的 1%"——即比 Grammarly 快约 100 倍。博客还披露了创始人 Elijah Potter 加入 Automattic 担任"Code Wrangler",Harper 将整合进 WordPress 生态的战略规划。这与 GitHub README 的定位完全吻合,不存在矛盾。
信源 2:Harper 官网(writewithharper.com)
官方文档补充了 README 未提及的细节:Harper Desktop 已支持 macOS 系统级覆盖(所有文本框),且支持英语多方言(美/英/加/澳/印度)。值得注意的是,官网明确强调"the only grammar checker that doesn't use AI"——这一表述在 README 中并未出现,说明官方正在将"无 AI"作为差异化卖点主动推广,而不只是技术实现细节。
信源 3:第三方横向评测(AlternativeTo / Scribbr 对 LanguageTool vs Grammarly 的分析)
Scribbr(scribbr.com)的评测独立验证了 LanguageTool 和 Grammarly 各自的局限性,与 Harper README 的描述基本一致:LanguageTool 自部署确实资源重,Grammarly 确实存在数据上云问题。但这些评测尚未将 Harper 纳入比较,说明 Harper 在主流技术媒体的曝光度仍然有限,其性能声明目前主要来自官方自述,缺乏完全独立的第三方基准测试数据——这点需要保持审慎。
个人启发
对开发者的直接行动价值最高。如果你用 Neovim/Helix/VS Code 写英文文档、注释或 README,harper-ls 是目前成本最低的"无感知"质量门禁:装上即用,不需要账号,不会拖慢编辑器,也不会把你的代码注释发给任何服务器。相比之下,Grammarly 的 IDE 插件会让人时刻想着"这段代码注释是不是被抓走了"。
**对内容团队的判断:**现阶段 Harper 适合做"硬错误过滤",不适合替代人工润色。把它放在写作流水线的第一道——过掉低级语法错误——然后再人工审查风格,是合理分工。
**关于 Automattic 收购后的隐私承诺:**Harper 当前是本地运行,代码开源可审计,但 Automattic 的整合计划(WordPress SaaS 端)是否会引入云端处理,值得持续关注。开源不等于未来永远不联网,使用者应当定期检查版本更新日志。
延伸思考
规则引擎的天花板在哪里?Harper 明确拒绝 AI,但语法检查的长尾问题(语义歧义、文风建议)依赖规则引擎几乎无解。随着用户规模扩大、需求变复杂,Harper 是否会被迫引入轻量级本地模型(如 Mistral 7B 量化版)?MiraclePlus 的报道已经提到"下一个版本将包括一个或多个小型 ML 模型"——这与"the only grammar checker that doesn't use AI"的官方宣传直接矛盾,是一个值得追踪的路线分歧。
Automattic 的商业整合会稀释开源精神吗?Harper 被收购后整合进 WordPress 云服务,"完全私有"的承诺能否在 SaaS 场景下保持一致?开源许可证(Apache-2.0)只保障代码可见,不保障云端服务不采集数据——这是一个架构设计问题,而非法律问题。
英语独占是战略选择还是能力边界?Harper 说架构可扩展,但至今没有一个非英语语言实现进入主干。中文、阿拉伯文等形态差异极大的语言,规则引擎的维护成本将指数级上升——这意味着 Harper 的多语言愿景更可能是社区长尾贡献,而非官方主导的近期目标。
📚 参考来源
- GitHub - Automattic/harper: Offline, privacy-first grammar checker. Fast, open-source, Rust-powered · GitHub