写代码注释老被吐槽语法?试试这个毫秒级响应的离线英语语法检查工具 Harper

写代码注释老被吐槽语法?试试这个毫秒级响应的离线英语语法检查工具 Harper

【免费下载链接】harper Offline, privacy-first grammar checker. Fast, open-source, Rust-powered 【免费下载链接】harper 项目地址: https://gitcode.com/GitHub_Trending/har/harper

你肯定遇到过这种场面:写完一段代码注释,推上去,同事在 PR 下面回一句"English, please"。或者自己重读技术文档时,发现 teha couple of more 这种低级错误已经发布了好几天。语法检查工具不是没有,但要么贵、要么慢、要么把你的文字悄悄传到云端。今天要聊的 Harper,就是为解决这些糟心事而生的离线英语语法检查工具,而且它免费、开源、快得离谱。

先交代一个背景:一个被 Grammarly 和 LanguageTool 逼疯的开发者

Harper 的诞生故事挺朴素。作者自己常年被两类工具折磨:

Grammarly 贵,还"管得太多"——给出的建议经常脱离上下文,甚至直接是错的。更要命的是隐私:你写的一切都要发到它的服务器上,即便官方承诺不卖数据,谁也无法保证这些内容不被拿去训练大模型。再加上网络请求的往返延迟,改一段文字要等半天。

LanguageTool 倒是开源,但想吃下它得先掂量自己的内存——官方推荐的 n-gram 数据集有大约 16GB,跑起来动不动吃掉几个 G 的内存,lint 一篇中等长度的文档要等好几秒。

于是作者决定自己写一个:检查毫秒级完成、内存占用不到 LanguageTool 的五十分之一、完全本地运行不出网。这就是 Harper。

它凭什么是"快"的?聊聊 Rust 和那套聪明的检查架构

很多人一听"语法检查器"就以为它要联网调大模型,其实 Harper 走的是另一条路:纯本地规则引擎 + Rust 原生性能

项目核心 harper-core 用 Rust 编写,整体可以编译成 WebAssembly,小到能直接在浏览器里跑(官方网页版就是这么干的)。Rust 带来的收益很直接:内存占用极小,lint 一篇文档只需几毫秒,你敲字的间隙结果就出来了。

架构上也很有讲究。检查逻辑被拆成两大类:Linter 和更细化的 PatternLinter,后者的职责更单一、更容易组合和扩展。

Harper 的 Linter 与 PatternLinter 架构关系示意图,展示离线英语语法检查工具的分层设计

规则库本身是亮点。项目内置了 700 多条检查规则,而且很多规则用自定义的 weir 描述语言写成,一条规则就是一个文件,普通人也能看懂。比如 harper-core/src/linting/weir_rules/ 下有个 ACoupleMore.weir,内容大致是:

expr main (a couple of more)
let message "The correct wording is `a couple more`, without the `of`."
let becomes "a couple more"

意思很直白:把 a couple of more 纠正成 a couple more。想新增规则,照着这个格式写一个文件就行,不需要碰核心逻辑。这就是它能覆盖大量常见错误、又容易长期维护的原因。

别急着装,先看看它适合谁、不适合谁

适合用的人:

  • 写代码注释、PR 描述、commit message 的开发者,尤其是非英语母语者
  • 需要经常在 GitHub、WordPress、Gmail 这类网页上输出英文内容的人
  • 对隐私敏感,写的内容涉及机密或不想让第三方看见的文档
  • 用 Obsidian 记笔记、希望写作过程顺带纠错的知识工作者

不适合用的人:

  • 需要完整润色、改写、生成风格化长文的用户——Harper 定位是纠错,不是 AI 写作助手
  • 只写中文、完全用不到英文的场景
  • 追求"联网大模型式"语感建议、能接受数据上云的朋友

说白了,Harper 是替你"查漏"的,不是替你"代笔"的。搞清楚这一点,期望值就对上了。

装好、跑起来、玩出花样:一条实在的上手路径

第一步:挑一个趁手的入口

Harper 的生态覆盖得很全,你大概率能找到已经在用的平台:

  • VS Code / Neovim / Helix / Emacs / Zed:装对应扩展,注释、文档随手可查
  • Chrome 扩展:GitHub、Gmail、Reddit 这些网页的输入框自动生效
  • 桌面客户端harper-desktop,适合不依赖编辑器的独立写作
  • Obsidian 插件:笔记边写边改
  • WordPress 插件:发博客前先扫一遍

第二步:让它在 GitHub 评论里"自动上岗"

把 Chrome 扩展装上之后,最直观的体验发生在 GitHub:你在评论框里打字,它实时标红拼写和语法问题,光标挪过去就有修正建议。从此 PR 交流里少一句"Sorry for my English"。

Harper 在 GitHub 评论区实时标出拼写错误的界面,体现离线英语语法检查工具的网页集成能力

桌面版还能看到更完整的检查面板:左边是正文,右边是问题列表,点一下就能采纳建议或忽略。

Harper 桌面版界面,左侧为待检查文本、右侧列出拼写问题并提供修正建议

第三步:按你的脾气调规则

700 多条规则不可能条条都合你胃口,好在每条都能单独开关。在 Chrome 扩展的选项页或桌面版设置里,可以按主题浏览规则分组(专有名词、首字母缩写、复合词……),也可以用搜索框直接定位某一条。

Harper 的规则设置页,按主题列出 700 多条可开关的检查规则,方便定制离线英语语法检查工具的检查范围

写 WordPress 博客的话,插件侧边栏会逐条给出替换建议,页面底部还特意强调:"你的数据在你点 Publish 之前不会离开站点"——这大概就是离线工具最好的广告语。

几个常见疑问,一并说清

它会联网吗? 不会。所有检查都在本地完成,断网也能用。这也是它叫"隐私优先"的原因。

中文支持吗? 目前只支持英文,但核心架构预留了扩展其他语言的可能,社区欢迎相关贡献。

开源吗?怎么拿到源码? 完全开源免费。想自己部署或研究实现,可以 git clone https://gitcode.com/GitHub_Trending/har/harper 拉取整个仓库,核心检查逻辑都在 harper-core/src/ 下。

它会不会像某些工具那样"越改越糟"? 规则是人工可读、可审计的(就是前面那种 weir 文件),每条建议都有明确的修正对象,你可以随时禁用不喜欢的规则,把主动权攥在自己手里。

下一步,去把第一条波浪线消掉

Harper 的哲学很朴素:语法检查应该快、准、不偷看你的文档。它不打算取代你的写作,只负责在你敲下每一个字符时,轻声提醒一句"这里不对"。挑一个你天天在用的平台装上它,下一次同事再说"English, please"的时候,你可以直接回他一个截图。

【免费下载链接】harper Offline, privacy-first grammar checker. Fast, open-source, Rust-powered 【免费下载链接】harper 项目地址: https://gitcode.com/GitHub_Trending/har/harper

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值