You are currently viewing Ely Office: bộ ứng dụng văn phòng offline viết bằng Rust và GPUI

Ely Office: bộ ứng dụng văn phòng offline viết bằng Rust và GPUI

Ely Office là bộ ứng dụng desktop offline-first, viết bằng Rust và GPUI. Cốt lõi nằm ở chỗ: file vẫn nằm trong thư mục của bạn, không cần tài khoản, không có cloud service nào chen vào giữa. Câu trả lời khá rõ cho những ai ngán việc tài liệu công việc bị kéo lên server của bên thứ ba.

Repo hiện có 630 sao, license MIT, ngôn ngữ chính là Rust. Ngày tạo ghi 2026-10-19, cập nhật 2026-10-20. Dự án còn rất non, nhưng danh sách app bên trong thì không hề nhỏ.

Nó làm được những gì

README liệt kê 7 ứng dụng, trong đó 6 cái đã có mặt ở bản hiện tại và 2 cái (ElyMail, ElyAgent) hẹn ở bản thứ hai. Cụ thể:

  • ElyDoc: soạn thảo văn bản, mở DOCX và ODT. Engine là LibreOfficeKit.
  • ElyTable: bảng tính, mở XLSX, ODS, CSV. Cũng dùng LibreOfficeKit.
  • ElyShow: trình chiếu PPTX, ODP. Dùng LibreOfficeKit cùng media của hệ thống.
  • ElyPDF: đọc và sửa PDF, có OCR và chữ ký số. Engine là MuPDF và Tesseract.
  • ElyTree: Git client.
  • ElyMark: Markdown, dùng markdown-rs, RaTeX và mermaid-rs-renderer.

Về mặt kỹ thuật, Ely Office không tự viết lại engine render DOCX/XLSX/PPTX từ đầu. Nó dùng LibreOfficeKit (LibreOffice dưới dạng thư viện), MuPDF cho PDF, Git cho ElyTree. Lựa chọn này thực dụng, vì định dạng văn phòng phức tạp đến mức tự viết parser tương thích gần như là ác mộng. Cái họ làm là lớp UI và tích hợp bằng Rust + GPUI, phần engine thì tái sử dụng upstream.

Vì sao 630 sao trong một ngày

Con số 630 sao với một repo tạo ngày 19/10 và cập nhật ngày 20/10 cho thấy repo vừa được đẩy lên và lan nhanh trong cộng đồng Rust. Không có gì lạ: một bộ app văn phòng viết bằng Rust, dùng GPUI (framework UI của Zed), lại tuyên bố offline-first, không tài khoản, không cloud. Đúng combo mà nhiều dev đang tìm.

Nhu cầu thì có thật. Một bên là người dùng ngày càng khó chịu với việc tài liệu bị sync lên cloud mặc định, tài khoản bắt buộc, tính năng AI cài sẵn không tắt được. Bên kia là cộng đồng Rust muốn có ví dụ thực tế về app desktop hoàn chỉnh, không chỉ là CLI hay thư viện. Ely Office chạm cả hai.

Khác với các bản “thay thế Office” khác: họ không giấu việc dùng LibreOfficeKit. Nhiều dự án tương tự hay quảng cáo “engine riêng” rồi thực chất cũng bọc LibreOffice hoặc dùng thư viện đọc file. Ở đây README ghi thẳng engine của từng app, kèm cả script build LibreOffice bản patch. Minh bạch kiểu này đáng tin hơn.

Build và chạy thử

Hiện tại hướng dẫn build chỉ dành cho macOS. Các recipe cho Linux và Windows có trong packaging/linux và packaging/windows nhưng README nói rõ chúng chưa được chạy trên hệ thống đó. Ai dùng Linux hay Windows thì coi như đang tự bơi.

Quy trình build trên macOS, giữ nguyên lệnh từ README:

scripts/doctor.sh # toolchain versions
scripts/fetch-references.sh # upstream sources at pinned commits
scripts/build-libreoffice.sh # patched LibreOffice 26.2.6.3 (about an hour)
scripts/build-mupdf.sh # patched MuPDF 1.28.5
scripts/build-git.sh && scripts/fetch-git-lfs.sh
scripts/fetch-tessdata.sh
cargo build -p ely-lok --bins -p ely-pdf-engine --bins
cargo run -p ely-doc # or ely-table, ely-show, ely-pdf, ely-tree, ely-mark

Chú ý dòng build LibreOffice: khoảng một tiếng. Đây không phải kiểu “clone rồi cargo run” trong 2 phút. Bạn cần cài sẵn toolchain, tải source upstream ở commit đã pin, build từng engine. Nếu chỉ muốn xem UI trông thế nào thì cân nhắc kỹ trước khi bỏ một buổi chiều.

Đóng gói:

packaging/macos/release.sh

Script này ghi file .app, .dmg của từng app, kèm source archive và upstream source archive (MuPDF, Git bản patch) vào thư mục dist/.

Test thì có ba lớp: cargo test --workspace, các window script trong tests/scripts (cần quyền Accessibility trên macOS), và benchmark tests/perf/bench.py.

Ai nên dùng

Nếu bạn là dev macOS, quan tâm Rust, và muốn một bộ app văn phòng mở file DOCX/XLSX/PPTX mà không đụng cloud, đây là thứ đáng thử. ElyMark cũng là lựa chọn nhẹ nhàng cho người viết tài liệu Markdown cần render công thức (RaTeX) và sơ đồ (mermaid-rs-renderer) ngay trên máy.

ElyTree hợp với ai muốn Git client GUI viết bằng Rust, nhẹ hơn các client Electron. ElyPDF thì nhắm vào nhu cầu đọc và sửa PDF kèm OCR, một mảng mà nhiều app miễn phí xử lý khá tệ.

Còn nếu bạn cần một bộ Office chạy production trên Linux hoặc Windows ngay bây giờ, câu trả lời là chưa. Recipe chưa được kiểm chứng, và đây là dự án mới ra lò, chưa có lịch sử ổn định nào để dựa vào.

So sánh nhanh

Với LibreOffice thuần: Ely Office dùng chính LibreOfficeKit làm engine, nên khả năng tương thích file về lý thuyết same same. Khác biệt nằm ở UI (GPUI thay vì toolkit truyền thống) và cách đóng gói từng app riêng lẻ thay vì một suite nặng. Nhưng LibreOffice đã ổn định hàng chục năm, còn Ely Office mới có một ngày tuổi trên GitHub. Đừng so sánh độ chín.

Với các app Electron như Obsidian hay Notion desktop: Ely Office không phải web app bọc Electron, nên nhẹ hơn về RAM và không có telemetry mặc định. Nhưng đổi lại, số lượng tính năng và hệ sinh thái plugin ít hơn rất nhiều. Đánh đổi rõ ràng.

Ưu, nhược và những thứ cần biết

Ưu điểm: offline thật, không tài khoản, không cloud. License MIT cho phần code của dự án. Viết bằng Rust, dùng GPUI, nên nếu bạn đang học cả hai thứ này thì đây là codebase thực tế để đọc. Engine rõ ràng, có tài liệu compatibility và benchmark trong docs/.

Hạn chế: build tốn thời gian (LibreOffice khoảng một tiếng). Chỉ macOS được xác nhận chạy. Dự án mới, 630 sao nhưng chưa có bề dày. Hai app ElyMail và ElyAgent mới chỉ là lời hẹn. README cũng thừa nhận có “offline limits”, bạn nên đọc docs/help.md trước khi kỳ vọng quá cao.

License: code dự án là MIT, nhưng third-party component giữ license riêng. MuPDF là AGPL, đây là điểm cần kiểm tra kỹ nếu bạn định dùng thương mại hoặc nhúng vào sản phẩm đóng. Đọc docs/licenses.md trước khi quyết định. LibreOfficeKit cũng có license riêng (MPL/LGPL). Đừng thấy chữ MIT ở đầu repo rồi tưởng cả bộ là MIT.

Tài liệu: có docs/help.md, docs/compatibility.md, docs/accessibility.md, docs/perf/ và docs/licenses.md. Khá đầy đủ cho một dự án mới, nhưng chưa có hướng dẫn đóng góp hay roadmap công khai trong phần README rút gọn.

Một điểm tôi thấy đáng nghi: ngày tạo 2026-10-19 và cập nhật 2026-10-20, tức là repo mới một ngày. 630 sao trong 24 giờ là con số có thể xảy ra nếu được share mạnh trên Hacker News hoặc Reddit, nhưng cũng có thể là dấu hiệu cần chờ thêm vài tuần để xem commit có đều không. Cứ star thì không sao, nhưng đừng vội đưa vào workflow công ty.

Kết luận

Ely Office là dự án đáng theo dõi nếu bạn quan tâm Rust desktop apps hoặc cần một bộ công cụ văn phòng offline thật sự. Build mất khoảng một tiếng và hiện chỉ chạy ổn trên macOS, nên hãy coi đây là bản thử nghiệm. Còn nếu bạn chỉ cần một app Markdown nhẹ hay Git client bằng Rust, thử luôn cũng được. Repo ở đây: ELY-Open-Source/ElyOffice.

Đăng ngày 21/10/2026
Giang Na
Về tác giả: Giang Na
Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.

Giang Na

Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.