TopGit
Đánh giá repo GitHub

Harper: trình kiểm tra ngữ pháp ngoại tuyến, riêng tư

Automattic/harper
HTopGit review image for Automattic/harper
Review by Topgit.dev for Automattic/harper, with GitHub repository stats and README context.
Nhận định nhanh

Harper là trình kiểm tra ngữ pháp ngoại tuyến chạy bằng Rust, xử lý hoàn toàn trên máy bạn thay vì gửi gợi ý về server. Hãy dùng nếu bạn viết tiếng Anh trong editor hoặc terminal và muốn kiểm tra nhanh, riêng tư mà không cần trả phí subscription; bỏ qua nếu bạn viết ngôn ngữ khác, hoặc cần các gợi ý sửa văn phong sâu như Grammarly cung cấp.

Sao
★ 14.2k
Fork
⑂ 547
Ngôn ngữ
Rust
Giấy phép
Apache-2.0
Chủ đề
Backend
Cập nhật
Aug 2026
Trang chủ
GitHub

Vì sao Harper ra đời

Các trình kiểm tra ngữ pháp tiếng Anh hiện có buộc người dùng đánh đổi — điều mà tác giả của Harper gặp phải trực tiếp: Grammarly kiểm tra văn bản trên server từ xa, tốn phí, và theo README, gửi mọi thứ bạn viết qua mạng — chính sách riêng tư của họ chỉ cam kết không bán dữ liệu, chứ không cam kết không dùng nó để huấn luyện mô hình. LanguageTool tránh được việc gửi dữ liệu lên cloud, nhưng theo README, nó cần hàng gigabyte RAM và một bộ dữ liệu n-gram khoảng 16GB, và mất vài giây để kiểm tra ngay cả một tài liệu cỡ vừa. Người tạo ra Harper viết công cụ này để nằm giữa hai thái cực đó: nhanh và chạy tại chỗ.

Harper là gì?

Harper là một trình kiểm tra ngữ pháp tiếng Anh viết bằng Rust, được đóng gói thành Language Server, một bản dựng WebAssembly, và một thư viện JavaScript tên harper.js, thay vì là một ứng dụng độc lập duy nhất. Harper tích hợp vào các editor như VS Code, Neovim, Helix, Emacs và Zed qua Language Server harper-ls, cùng Obsidian qua một tích hợp riêng, kiểm tra văn bản tiếng Anh tại chỗ thay vì gửi lên server.

Tính năng cốt lõi và nguyên tắc thiết kế

  • Lõi viết bằng Rust được biên dịch thành một bản WebAssembly nhỏ gọn, nhờ đó trình kiểm tra ngữ pháp có thể chạy trong trình duyệt hoặc extension của editor mà không cần gọi về server.
  • Chạy dưới dạng harper-ls, một cài đặt Language Server Protocol, nên bất kỳ editor nào hỗ trợ LSP đều có thể tích hợp Harper giống như tích hợp một linter thông thường.
  • harper.js đóng gói cùng engine đó thành thư viện JavaScript để nhúng khả năng kiểm tra ngữ pháp và cú pháp vào một web app hoặc dự án Node.js.
  • Có tài liệu tích hợp cho VS Code, Neovim, Helix, Emacs, Zed và Obsidian, cùng một Chrome extension được liệt kê trong các topic GitHub của repo.
  • Toàn bộ phân tích ngôn ngữ diễn ra tại chỗ bằng Rust thay vì qua một API trên cloud.
  • Cấp phép Apache-2.0 và mã nguồn mở, nên engine kiểm tra ngữ pháp cùng các rule của nó có thể được kiểm tra công khai thay vì là hộp đen.
Số sao GitHub của repo này thay đổi thế nào theo thời gian. Nguồn: star-history.com.Xem lịch sử sao

Tích hợp Harper vào quy trình làm việc

  • Kiểm tra ngữ pháp cho file Markdown hoặc plain-text trước khi commit docs hay README, mà không cần tải bản nháp lên bên thứ ba.
  • Gắn harper-ls vào editor qua Language Server Protocol để kiểm tra ngữ pháp trực tiếp khi bạn viết comment hoặc tài liệu.
  • Nhúng harper.js vào web app hoặc công cụ Node.js để thêm phản hồi kiểm tra văn bản tiếng Anh do người dùng nhập, xử lý ngay tại chỗ.
  • Kiểm tra ghi chú trong Obsidian qua tích hợp Obsidian đã được Harper tài liệu hóa.

Ưu điểm về hiệu năng và quyền riêng tư

  • README nói Harper kiểm tra một tài liệu chỉ trong vài mili giây, trong khi LanguageTool có thể mất vài giây cho một tài liệu cỡ vừa.
  • README nói bộ nhớ Harper sử dụng ít hơn 1/50 so với LanguageTool — công cụ mà README mô tả là cần hàng gigabyte RAM và một bộ dữ liệu n-gram khoảng 16GB.
  • Việc kiểm tra diễn ra hoàn toàn tại chỗ, biến Harper thành một công cụ ưu tiên quyền riêng tư — không có network round trip, không văn bản nào rời khỏi máy, khác với một trình kiểm tra chạy phía server.
  • Đủ nhỏ để biên dịch thành WebAssembly, theo README, nên vẫn dùng được trong trình duyệt mà không cần một backend riêng.

Hỗ trợ ngôn ngữ hiện tại và các vấn đề đã biết

  • Hiện tại chỉ hỗ trợ tiếng Anh; README nói lõi engine có thể mở rộng nhưng việc hỗ trợ ngôn ngữ khác phụ thuộc vào đóng góp cộng đồng, và điều đó chưa xảy ra.
  • README không đưa ra lệnh cài đặt hay tên package cho harper-ls, harper.js hay CLI — bạn phải theo các link tài liệu bên ngoài để tự cài đặt.
  • Đây là công cụ kiểm tra ngữ pháp và cú pháp, không phải một trợ lý viết đầy đủ với gợi ý sửa văn phong hay độ rõ ràng — README định vị Harper chặt vào phạm vi ngữ pháp.
Xem trên GitHubTrang chủ

Các trình kiểm tra ngữ pháp khác

LanguageTool — trình kiểm tra mã nguồn mở mà README của Harper tự so sánh về mức dùng bộ nhớ và tốc độ kiểm tra.Grammarly — trình kiểm tra chạy trên cloud mà README của Harper phê bình về chi phí, chất lượng gợi ý và quyền riêng tư.

Câu hỏi thường gặp

What languages does Harper support?

Harper hiện chỉ hỗ trợ tiếng Anh. README nói lõi engine có thể mở rộng và chào đón đóng góp cho ngôn ngữ khác, nhưng chưa ngôn ngữ nào khác được tích hợp sẵn.

Is Harper free to use?

Harper miễn phí sử dụng — dự án được cấp phép Apache-2.0 và công bố mã nguồn mở trên GitHub.

How does Harper ensure user privacy?

Harper chạy hoàn toàn trên thiết bị của bạn, nên việc kiểm tra ngữ pháp không tạo ra request mạng nào gửi văn bản đi — khác với các công cụ gửi văn bản lên server từ xa.

Can Harper be integrated into my code editor?

Harper tích hợp vào editor qua harper-ls, bản triển khai Language Server Protocol của nó, với hướng dẫn cho VS Code, Neovim, Helix, Emacs và Zed.

Is Harper suitable for large documents?

README không đưa ra benchmark theo kích thước tài liệu, nhưng nói Harper kiểm tra trong vài mili giây so với vài giây của LanguageTool trên tài liệu cỡ vừa — đây là claim về tốc độ, không phải giới hạn kích thước được công bố.

How does Harper compare to Grammarly?

Harper chạy tại chỗ và không gửi văn bản đi đâu cả, trong khi Grammarly kiểm tra phía server; README cũng nói người tạo Harper thấy gợi ý của Grammarly nhiều lúc thiếu ngữ cảnh và sai.

Cách cài đặt / dùng thử

README không đưa ra lệnh cài đặt — không có `cargo install`, `npm install`, hay bước tải về nào được nêu. README chỉ link tới các trang tài liệu riêng cho Language Server (harper-ls), harper.js, và từng editor được hỗ trợ (VS Code, Neovim, Helix, Emacs, Zed) cùng Obsidian, nên bản thân bước cài đặt không được tài liệu hóa rõ ràng ở đây.

Cách sử dụng

Cách sử dụng cũng không được tài liệu hóa rõ ràng trong README — không có lệnh ví dụ hay đoạn cấu hình mẫu nào trong đó. README trỏ tới hướng dẫn thiết lập Language Server Protocol cho editor qua harper-ls, tài liệu harper.js cho thư viện JavaScript, và một trang FAQ chung, nhưng không có quick-start tự đầy đủ.

Ai nên dùng — và ai nên bỏ qua

Dùng thử Harper nếu bạn viết tiếng Anh trong editor, terminal, hoặc các file Markdown của một codebase và muốn có gợi ý ngữ pháp mà không gửi gì lên server. Bỏ qua nếu bạn viết ngôn ngữ khác tiếng Anh, cần các gợi ý sửa văn phong kiểu Grammarly, hoặc muốn một công cụ có sẵn lệnh và cấu hình ngay trong README chính thay vì phải theo link tài liệu bên ngoài.

Repo liên quan

Nguồn & ghi công

Dựa trên repository GitHub Automattic/harper (https://github.com/Automattic/harper), README và metadata của repo.

Dữ liệu GitHub · đồng bộ lần cuối 5 thg 8, 2026Đánh giá bởi Henry
Về TopGit