Harper って何?

Harper は Automattic(WordPress の親会社)がオープンソースで公開しているオフライン英語文法チェッカー。Rust で書かれており、GitHub 上で 12,000+ Stars を獲得、勢いも止まらない。

開発のきっかけは、既存の文法チェックツールへの不満からだった:

  • Grammarly:料金が高く、プライバシー問題が深刻(書いた文章すべてがサーバーに送信される)。提案も文脈を無視しがち
  • LanguageTool:使い勝手はいいものの、数 GB のメモリと約 16GB の n-gram データセットが必要で、動作も遅め

Harper のコンセプトは**「just right(ちょうどいい)」**。速くて、軽くて、プライバシーファースト。

開発者に Harper が選ばれる理由

特性 Grammarly LanguageTool Harper
動作環境 クラウド ローカル/クラウド 完全ローカル
プライバシー ❌ サーバーにデータ送信 ⚠️ オフライン可能 ✅ 完全オフライン
メモリ使用量 — 〜GB 級 〜数十 MB
速度 ネットワーク遅延の影響を受ける 中程度 ミリ秒級
オープンソース ❌ ⚠️ 一部 ✅ MIT
エディタ統合 ブラウザ拡張 プラグイン LSP + 複数プラグイン

開発者にとって Harper の最大の魅力は次の通り:

  1. プライバシー保護:コードや API ドキュメント、技術ブログのドラフトがマシン外に出ない
  2. ミリ秒級のレスポンス:ルールベースのエンジンで、ネットワークリクエストに依存しない
  3. LSP 原生サポート:harper-ls で LSP 対応エディタならほぼすべてに統合可能
  4. Rust のパフォーマンス:メモリ使用量は LanguageTool のわずか 1/50

Harper のインストール

ブラウザから IDE まで、さまざまな使い方がある。

方法 1:ブラウザで手軽に試す

一番簡単な方法。writewithharper.com にアクセスするだけ。WebAssembly でブラウザ上でローカル動作するので、登録不要・オフラインでも OK。テキストを貼り付けるだけでチェックできる。

方法 2:harper-ls(言語サーバー)をインストール

harper-ls は Harper のコアエンジン。LSP プロトコル経由で各種エディタに文法チェック機能を提供する。

cargo 経由でインストール(推奨)

BASH
cargo install harper-ls

インストールが完了したら確認:

BASH
harper-ls --version

バイナリをダウンロード

Harper はコンパイル済みバイナリも提供している。GitHub Releases からプラットフォームに合った実行ファイルをダウンロードすればいい:

BASH
# Linux の例
wget https://github.com/Automattic/harper/releases/latest/download/harper-ls-x86_64-unknown-linux-gnu.tar.gz
tar -xzf harper-ls-x86_64-unknown-linux-gnu.tar.gz
sudo mv harper-ls /usr/local/bin/

エディタ統合の実践

VS Code

  1. VS Code の拡張機能マーケットで Harper を検索
  2. harper-ls プラグインをインストール
  3. Markdown かプレーンテキストを開けば、文法チェックが自動で動く
JSON
// settings.json のオプション設定
{
  "harper-ls.dialect": "American",
  "harper-ls.markdown.ignore": ["code", "inlineCode"]
}

Obsidian

Obsidian 向けの専用プラグインもある:

  1. Obsidian の Community Plugins で Harper を検索
  2. プラグインを有効化
  3. ノート編集中に文法エラーが赤い波線で表示される

英語の技術ドキュメント(README や API ドキュメントなど)を書く日本語ネイティブの開発者には、かなり便利な組み合わせだ。

Neovim

lspconfig で設定:

LUA
-- Mason でインストール済みの場合の設定
require('lspconfig').harper_ls.setup({
  settings = {
    ["harper-ls"] = {
      dialect = "American",
      userDictPath = ""  -- オプション:カスタム辞書パス
    }
  }
})

Helix

Helix エディタにもネイティブ対応。~/.config/helix/languages.toml に追加:

TOML
[[language]]
name = "markdown"
language-servers = ["harper-ls"]

Emacs / Zed

どちらも LSP 対応。詳細は 公式ドキュメント を参照。


上級使い方

方言のカスタマイズ

Harper は複数の英語方言に対応:

JSON
{
  "dialect": "British"   // American | British | Canadian | Australian | Indian
}

特定の範囲を無視する

Markdown ドキュメント内で、特定のブロックを無視したい場合はコメントでマークできる:

MARKDOWN
<!-- harper: ignore -->
This is code-related text that shouldn't be checked.
<!-- harper: end -->

コマンドラインでチェック(harper-cli)

CI/CD パイプラインに文法チェックを組み込みたい場合は harper-cli が使える:

BASH
# インストール
cargo install harper-cli

# 単一ファイルをチェック
harper-cli check README.md

# ディレクトリ配下の全 Markdown ファイルをチェック
harper-cli check docs/

# JSON 形式で出力(CI 統合に便利)
harper-cli check --format json docs/ > report.json

出力例:

README.md:42:5 - "their" should be "there"
README.md:87:12 - Missing article before "documentation"

GitHub Actions で使う

YAML
name: Grammar Check
on: [push, pull_request]

jobs:
  harper:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install Harper
        run: cargo install harper-cli
      - name: Check docs
        run: harper-cli check docs/ --format json > report.json

Harper vs LanguageTool パフォーマンス比較

指標 Harper LanguageTool
起動時間 1 秒未満 数秒(n-gram データの読み込みが必要)
メモリ使用量 〜20-50 MB 〜1-4 GB
1000 文字の文書チェック 10 ms 未満 2-5 秒
インストールサイズ 〜10 MB 〜16 GB(データ込み)
オフライン対応 ✅ 完全オフライン ⚠️ 追加設定が必要

Harper はルールエンジン + 辞書というミニマルな構成で、大規模な統計モデルに依存しない。その分、Grammarly ほどのカバレッジはないが、技術ドキュメントやブログ、メールといった用途では十分すぎる。


誰におすすめ?

✅ おすすめの人

  • 英語の技術ブロガー:コードスニペットがクラウドにアップロードされる心配がない
  • 英語が母語じゃない開発者:英文の文法エラーを素早くチェックできる
  • プライバシー重視のユーザー:すべての処理がローカルで完結する
  • CI/CD パイプライン:harper-cli でドキュメントの品質を自動チェックできる

⚠️ まだ不十分なケース

  • 中国語の文法チェックが必要(現在は英語のみ対応)
  • 深い意味解析やスタイルの提案が欲しい(Harper はルールベースで、AI による意味提案はない)
  • チーム共同作業(共有辞書機能はまだない)

まとめ

Harper は的を絞ったオープンソースの文法チェックツールだ。軽量で、高速で、プライバシーファースト。Grammarly をプロフェッショナルライティングの世界で完全に置き換えるわけではないが、開発者が日常でドキュメントやブログ、メールを書くには十分すぎる性能を持っている。

クイックリファレンス:

項目 値
GitHub Automattic/harper
Stars 12,000+
言語 Rust
ライセンス MIT
対応言語 英語(複数地域方言)
対応エディタ VS Code / Obsidian / Neovim / Helix / Emacs / Zed
公式サイト writewithharper.com

Grammarly のプライバシー問題にうんざりしていて、LanguageTool は重すぎる――そう感じているなら、Harper を試す価値は十分にある。