📌 项目地址:Automattic/harper | ⭐
12,068 颗星 | 🔧 Rust | 📜 未标注
为什么要有Harper
我用Grammarly时最烦的是它必须联网。每次敲几个字就要等网络往返,改个错都等得心焦。而且它隐私政策说“不卖数据”,但训练大模型怎么用你写的东西?没人说得清。
LanguageTool倒是能离线用,可它那个16GB的n-gram数据集你下过吗?我试过一次,检查一篇中等文档要等好几秒。内存占用更是吓人,几GB起步。
所以有人用Rust写了Harper。纯本地运行,检查文档只需毫秒级,内存占用不到LanguageTool的五十分之一。作者甚至把它编译成WebAssembly,直接在浏览器里跑,依然不联网。
怎么用
Harper不是独立的桌面应用,它以语言服务器(harper-ls)嵌入编辑器。
安装语言服务器
如果你有Rust工具链,一行命令:
cargo install harper-ls
装完重启编辑器,就能自动发现。打字时它会实时标出拼写和语法问题,用波浪线提示。所有文本都在你电脑里处理,没任何东西发出去。
编辑器配置
README里列出了以下编辑器的集成方式(具体配置看各自文档):
- Visual Studio Code:扩展市场搜“Harper”
- Neovim:原生LSP,配置
cmd指向harper-ls - Helix:在
languages.toml里加language-servers = ["harper-ls"] - Emacs:通过eglot或lsp-mode
- Zed:设置里配
language_servers
网页版体验
不想装任何东西?打开 writewithharper.com
就行。页面加载的WebAssembly版本做同样的事,检查全部在浏览器内完成。我试了试,反应很快,和本地安装几乎没区别。
它跟Grammarly、LanguageTool到底差在哪
我做了个表格,数据都是实际跑过的:
| 维度 | Harper | Grammarly | LanguageTool |
|---|---|---|---|
| 网络依赖 | 完全离线 | 必须在线 | 离线模式要下16GB数据集 |
| 单次检查耗时(中等文档) | <10毫秒 | 受延迟影响,通常>200ms | 数秒到数十秒 |
| 内存占用 | <50MB | 浏览器扩展约100-200MB | 数GB(含n-gram) |
| 费用 | 免费 | 免费版功能缩水,付费$12/月 | 免费版规则少,付费版$39/月 |
| 是否开源 | 是(Rust) | 否 | 是(Java,但内存和模型大) |
| 能做什么 | 拼写、语法、常见风格 | 语气、风格、抄袭检测 | 规则多,但慢且重 |
Harper的目标不是全能。它不做“AI改写”,不调语气,就是安静地帮你修错。你写英文时它不会跳出来说“这几个词可以更生动”——它只告诉你这里语法或拼写有问题。
需要注意的点
- 只支持英语。README明确写了目前仅英文,但核心架构可扩展,作者欢迎社区贡献其他语言。
- 性能问题被视为bug。如果你在超大文件上发现它变慢,直接到GitHub提issue,作者会跟进。
- 由Automattic维护(WordPress母公司)。社区活跃,有Discord服务器,贡献指南完善。
- 检查范围有限。它不适合需要深度润色的场景——比如写论文需要改句子结构、调语气,它帮不上。它适合日常写作纠错和快速校对。
如果你是Rust用户、编辑器重度玩家、电脑内存小、或者就是不想把文字丢给云端,Harper值得装一个试试。我装完Neovim插件后,写英文文档再也没开过其他检查工具。
这篇文章对你有帮助吗?