Harper — Trình Kiểm Tra Ngữ Pháp Nhanh Và Riêng Tư
Harper là trình kiểm tra ngữ pháp tiếng Anh chạy hoàn toàn ngoại tuyến, viết bằng Rust — kiểm tra tài liệu trong mili giây, nhẹ hơn LanguageTool 50 lần.
Grammarly thì đắt đỏ, gửi mọi thứ bạn viết lên máy chủ của họ, và thường đưa ra những gợi ý thiếu ngữ cảnh, nhiều khi sai bét. LanguageTool thì hoạt động tốt, nhưng cần gigabyte RAM và bộ dữ liệu n-gram ~16GB — và mất vài giây để kiểm tra cả một tài liệu vừa phải.
Harper được tạo ra để sửa tất cả những điều đó. Nó là trình kiểm tra ngữ pháp chạy hoàn toàn ngoại tuyến và riêng tư, kiểm tra tài liệu trong mili giây, dùng dưới 1/50 bộ nhớ của LanguageTool, và đủ nhỏ để chạy qua WebAssembly.
Harper là gì?#
Harper là trình kiểm tra ngữ pháp tiếng Anh mã nguồn mở, được xây dựng bằng Rust bởi Automattic ↗. Nó được thiết kế quanh một triết lý đơn giản: nó nên vừa đủ — đủ nhanh để không bao giờ làm gián đoạn dòng công việc của bạn, đủ riêng tư để bài viết của bạn không bao giờ rời khỏi máy, và đủ nhỏ để chạy ở bất cứ đâu.
Tại sao Harper?#
Cực kỳ nhanh#
Harper kiểm tra tài liệu trong ~10 mili giây trung bình, so với ~400ms–4000ms của các giải pháp đám mây. Thời gian kiểm tra quan trọng đến mức dự án coi thời gian kiểm tra lâu là bug.
Riêng tư và ngoại tuyến#
Không telemetry. Không truyền dữ liệu lên đám mây. Mọi thứ chạy cục bộ trên thiết bị của bạn. Điều này khiến Harper lý tưởng cho nhà báo, chuyên gia pháp lý và doanh nghiệp làm việc với tài liệu nhạy cảm không thể gửi cho máy chủ bên thứ ba.
Bộ nhớ siêu nhỏ#
Harper dùng dưới 1/50 bộ nhớ của LanguageTool — không cần gigabyte RAM, không cần tải bộ dữ liệu n-gram 16GB.
Sẵn sàng cho WebAssembly#
Harper đủ nhỏ để biên dịch sang WebAssembly, nghĩa là nó chạy được trong trình duyệt web và extension — kiểm tra ngữ pháp ở bất cứ đâu, không cần máy chủ.
Hỗ trợ ngôn ngữ#
Phương ngữ tiếng Anh#
Harper hỗ trợ nhiều phương ngữ tiếng Anh: Mỹ, Anh, Canada, Úc và Ấn Độ.
Ngôn ngữ host (comment & tài liệu)#
Trong khi engine ngữ pháp kiểm tra tiếng Anh, harper-ls phân tích và kiểm tra comment và tài liệu trên hàng chục ngôn ngữ lập trình và markup:
- Markup: Markdown, AsciiDoc, Org Mode, LaTeX/TeX, HTML, Email/Plain Text
- Lập trình (comment): C, C++, C#, Go, Rust, Python, JavaScript, TypeScript, Java, Ruby, PHP, Swift, Kotlin, Lua, Bash/Shell, Haskell, Scala, Zig, TOML, YAML và nhiều hơn nữa
Cài đặt#
# 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 --lockedbashTích hợp Editor#
Harper có plugin chính thức cho: Visual Studio Code, Neovim, Helix, Emacs, Obsidian, Zed, Sublime Text, và extension Chrome & Firefox.
Kiến trúc#
Monorepo Harper có ba thành phần chính:
| Thành phần | Vai trò |
|---|---|
harper-core | Thư viện Rust cốt lõi — tokenize, phân tích và kiểm tra văn bản |
harper-ls | Server Language Server Protocol (LSP) kết nối engine với editor và IDE |
harper.js / harper-wasm | Bindings JavaScript/TypeScript đóng gói engine qua WebAssembly cho trình duyệt và Node.js |
Pipeline harper-core#
- Document — biểu diễn văn bản có cấu trúc
- Parser — lexes tiếng Anh và ngôn ngữ host (như Markdown) thành luồng token
- Linter — trait kiểm tra tài liệu và tạo ra các
Lintlỗi
Tính năng chính#
Từ điển chi tiết#
Hỗ trợ từ điển cấp người dùng, cấp workspace, cấp file và từ điển tĩnh tích hợp sẵn — quản lý từ vựng của riêng bạn ở mọi cấp độ.
Code Actions & Quick Fixes#
Code actions tích hợp sẵn trong IDE cho phép bạn: thay lỗi bằng gợi ý, bỏ qua lint trong phiên hiện tại, thêm từ vào từ điển tùy chỉnh.
Bỏ qua comment#
Harper tôn trọng các thẻ bỏ qua comment như // harper:ignore và spellchecker:ignore, nên nó sống hòa bình với các công cụ như CSpell.
Luật tùy chỉnh qua Weir#
Viết luật ngữ pháp và phong cách của riêng bạn bằng Weir, ngôn ngữ biểu thức tùy chỉnh của Harper. Tổ chức có thể đóng gói luật thành Weirpacks (tệp .weir nén) để thực thi quy ước thương hiệu, thuật ngữ độc quyền và hướng dẫn viết riêng của nhóm.
Use Cases#
Viết lách bảo mật — Nhà báo, đội pháp lý và doanh nghiệp xử lý dữ liệu nhạy cảm không thể gửi tài liệu cho trình kiểm tra ngữ pháp đám mây.
Tài liệu lập trình viên — Viết README, comment code và tài liệu Markdown sạch sẽ ngay trong IDE với phản hồi tức thì.
Style guide doanh nghiệp — Thực thi thuật ngữ độc quyền và quy ước thương hiệu tự động với luật Weir tùy chỉnh.
Kiểm tra trên web — Bản WebAssembly giúp kiểm tra ngữ pháp hoạt động trong trình duyệt và extension, ngoại tuyến, không cần máy chủ.
Tổng kết#
Harper kết hợp những gì tốt nhất mà trình kiểm tra ngữ pháp nên có: nhanh, riêng tư và mở. Nó là trình kiểm tra ngữ pháp vừa đủ — dù bạn là lập trình viên viết tài liệu, nhà báo bảo vệ nguồn tin, hay doanh nghiệp thực thi giọng văn thương hiệu.
Bằng Rust, sẵn sàng WebAssembly, giấy phép Apache 2.0 và hoàn toàn ngoại tuyến — Harper là trình kiểm tra ngữ pháp hiện đại tôn trọng sự riêng tư và thời gian của bạn.