Grammarlyは高価で、書いたものすべてがサーバーに送られ、文脈のない間違った提案をすることがよくあります。LanguageToolは動作しますが、ギガバイト級のRAMと約16GBのn-gramデータセットが必要で、中規模のドキュメントでも数秒かかります。
Harperはそれらすべてを解決するために作られました。完全にオフラインでプライバシーファーストの文法チェッカーで、ドキュメントをミリ秒で検査し、LanguageToolの50分の1以下のメモリ使用量、WebAssemblyでも実行できるサイズです。
Harperとは#
HarperはAutomattic ↗がRustで構築したオープンソースの英語文法チェッカーです。シンプルな哲学に基づいて設計されています:ちょうどいいこと — ワークフローを妨げない速さ、文章がマシンの外に出ないプライバシー、どこでも動く小ささ。
Harperの利点#
圧倒的な速さ#
Harperは平均約10ミリ秒でドキュメントを検査します(クラウド系は約400ms〜4000ms)。検査時間が非常に重要で、プロジェクトでは遅い検査時間はバグと見なされます。
プライバシーファースト&オフライン#
テレメトリなし、クラウド送信なし。すべてデバイス上でローカルに実行されます。第三者サーバーに送信できない機密文書を扱うジャーナリスト、法務専門家、企業に最適です。
小さなメモリフットプリント#
LanguageToolの50分の1以下のメモリ使用量 — ギガバイト級のRAMも16GBのn-gramデータセットも不要です。
WebAssembly対応#
HarperはWebAssemblyにコンパイルできるほど小さいため、Webブラウザやブラウザ拡張機能で動作します — サーバーなしでどこでも文法チェック可能。
言語サポート#
英語の方言#
アメリカ英語、イギリス英語、カナダ英語、オーストラリア英語、インド英語に対応。
ホスト言語(コメントとドキュメント)#
文法エンジンは英語を検査しますが、harper-lsは数十のプログラミング言語とマークアップ言語のコメントとドキュメントを解析・検査します:
- マークアップ: Markdown、AsciiDoc、Org Mode、LaTeX/TeX、HTML、Email/Plain Text
- プログラミング(コメント): C、C++、C#、Go、Rust、Python、JavaScript、TypeScript、Java、Ruby、PHP、Swift、Kotlin、Lua、Bash/Shell、Haskell、Scala、Zig、TOML、YAMLなど
インストール方法#
# macOS / Linux
brew install harper
# Windows
scoop install harper
# Arch Linux
sudo pacman -S harper
# Nix
nix shell 'nixpkgs#harper'
# Rust
cargo install harper-ls --lockedbashエディタ統合#
Visual Studio Code、Neovim、Helix、Emacs、Obsidian、Zed、Sublime Text、Chrome・Firefoxブラウザ拡張機能の公式プラグインがあります。
アーキテクチャ#
Harperモノレポには3つの主要コンポーネントがあります:
| コンポーネント | 役割 |
|---|---|
harper-core | コアRustライブラリ — テキストのトークン化、解析、分析、検査 |
harper-ls | エディタとIDEをエンジンに接続するLanguage Server Protocol(LSP)サーバー |
harper.js / harper-wasm | WebAssembly経由でエンジンをブラウザとNode.js向けにパッケージ化するJS/TSバインディング |
harper-coreパイプライン#
- Document — 構造化されたテキスト表現
- Parser — 英語とホスト言語(Markdownなど)をトークンストリームに変換
- Linter — ドキュメントを検査してエラー
Lintを生成するトレイト
主な機能#
細かい辞書管理#
ユーザーレベル、ワークスペースレベル、ファイルローカル、組み込みの静的辞書をサポート — あらゆるスコープで自分の語彙を管理できます。
コードアクションとクイックフィックス#
IDEの組み込みコードアクションで、間違いを提案に置き換え、セッションのlintを無視し、カスタム辞書に単語を追加できます。
コメント無視#
// harper:ignoreやspellchecker:ignoreなどのコメントスキップタグを尊重するため、CSpellなどのツールと共存できます。
Weirによるカスタムルール#
Harper独自の表現言語Weirで、独自の文法・スタイルルールを作成できます。組織はルールをWeirpack(圧縮された.weirファイル)にバンドルし、ブランド命名規則、独自用語、チーム固有のライティングガイドラインを強制できます。
ユースケース#
プライバシー重視の執筆 — 機密データを扱い、クラウド文法チェッカーに文書を送信できないジャーナリスト、法務チーム、企業。
開発者ドキュメント — IDE内でREADME、コードコメント、Markdownドキュメントを即座にフィードバックを得ながら作成。
エンタープライズスタイルガイド — カスタムWeirルールで独自用語とブランド規則を自動的に強制。
Web上でのチェック — WebAssemblyビルドにより、サーバーなしのオフラインでブラウザと拡張機能で文法チェックが可能。
まとめ#
Harperは文法チェッカーが本来あるべき姿を体現しています:速く、プライベートで、オープン。ドキュメントを書く開発者、情報源を守るジャーナリスト、ブランドボイスを守る企業 — 誰にとってもちょうどいい文法チェッカーです。
Rust製、WebAssembly対応、Apache 2.0ライセンス、完全オフライン — Harperはプライバシーと時間を尊重するモダンな文法チェッカーです。