Bento: bộ office trong một file HTML
Bento là bộ office MIT chỉ gồm một file HTML 571 KB. Tìm hiểu lợi ích trên VPS nhỏ và đánh đổi khi so với stack Nextcloud, database và editor riêng.
Bento là gì
Bento là một bộ ứng dụng văn phòng được phát hành dưới dạng một file HTML duy nhất. Bạn tải một file, mở file đó trong bất kỳ trình duyệt hiện đại nào, và file đó vừa là trình soạn thảo vừa là tài liệu. Không cần trình cài đặt hay tài khoản. Bento được cấp phép theo MIT, mã nguồn có tại github.com/nyblnet/bento, và bản phát hành đầu tiên xuất hiện vào ngày 21 July 2026. Bài viết này được viết vào ngày 1 August 2026, tức Bento chưa tồn tại được 2 tuần. Đây là thông tin quan trọng nhất trong bài viết và là lý do phần cuối tập trung vào việc đánh giá thay vì chuyển đổi.
“Tất cả nằm trong một file” thực sự có nghĩa là gì
Một bộ ứng dụng văn phòng tự host thường là một stack. Nextcloud chạy PHP phía sau web server, cùng với database, cache và trình chạy background job. Trình soạn thảo là một service thứ hai đi kèm, chẳng hạn Collabora Online hoặc ONLYOFFICE Docs, thường chạy trong container riêng để trình duyệt giao tiếp qua HTTP. Tài liệu nằm trong filesystem và một bản ghi trong database, còn phiên chỉnh sửa nằm bên trong service trình soạn thảo.
Bento loại bỏ stack này. File tải xuống là Bento_Slides.bento.html, có kích thước khoảng 571 KB trong bản release v1.0.11 (27 July 2026). Bên trong file duy nhất đó có:
- trình soạn thảo, đồng thời cũng là trình xem
- runtime trình chiếu để hiển thị bài trình chiếu ở chế độ toàn màn hình
- các font và hình ảnh được nhúng trong bài trình chiếu
- chính tài liệu đó, dưới dạng một khối JSON có thể đọc được ở gần đầu file
Phần lưu file mới là điểm khác thường. File tự ghi đè khối dữ liệu của chính nó. Trang yêu cầu trình duyệt cấp quyền ghi thông qua File System Access API (một giao diện trình duyệt cho phép trang ghi trở lại file mà người dùng đã chọn); với các trình duyệt không có API này, bạn sẽ nhận được một file tải xuống. Việc chỉnh sửa bài trình chiếu tạo ra một bản sao mới của chính file tự chứa đó. Không có dữ liệu nào được upload, vì không có nơi nào để upload.
Đây là chi tiết thường bị hiểu sai khi mọi người nghe cụm “một file duy nhất”. Đây không phải là một server binary chạy cả bộ ứng dụng văn phòng dưới dạng một process duy nhất trên VPS của bạn. Thực tế không có process nào cả. Runtime là trình duyệt, nên nếu bạn dùng VPS, VPS chỉ phục vụ một static file và không làm gì khác.
Bộ ứng dụng văn phòng Bento hiện phát hành những gì
“Bộ ứng dụng văn phòng” là mục tiêu của dự án, chưa phải danh sách sản phẩm hiện có. Hiện chỉ có một ứng dụng: bento/slides, một trình chỉnh sửa bản trình bày. Lộ trình có bento/spaces cho ghi chú, bento/dash cho bảng tính và bảng dữ liệu, cùng bento/vault; mỗi ứng dụng dự kiến sẽ là một tệp .bento.html độc lập. Nếu hiện tại bạn cần một trình soạn thảo văn bản hoặc ứng dụng bảng tính, Bento chưa có.
Tốc độ phát hành rất cao. v1.0.6 ngày 21 July 2026 là bản build đầu tiên được phát hành, còn v1.0.11 xuất hiện ngày 27 July 2026, tức sáu bản phát hành trong bảy ngày. Đây là dấu hiệu tốt về những người duy trì dự án, nhưng cũng là cảnh báo về phần mềm. Phần mềm thay đổi nhanh như vậy vẫn đang tiếp tục phát hiện lỗi. Nội dung ghi chú phát hành cũng phản ánh điều đó: sửa lỗi văn bản lớn làm hỏng cộng tác trực tiếp, lỗi nhân đôi stylesheet trong các tệp đã lưu và lỗi đường cơ sở của biểu đồ khi giá trị âm.
Vì sao một file phù hợp với VPS nhỏ
Để publish một deck, bạn chỉ cần copy một file vào directory mà web server đã serve. Không cần điều phối, không cần duy trì container đang chạy và không cần migrate database khi upgrade. Hãy so sánh với các service editor, dựa trên mức tối thiểu do từng vendor công bố:
The data behind this chart
[
{
"label": "bento/slides (no backend)",
"min_ram_mb": 0
},
{
"label": "Collabora Online CODE",
"min_ram_mb": 1024
},
{
"label": "ONLYOFFICE Docs, Debian package",
"min_ram_mb": 2048
},
{
"label": "ONLYOFFICE Docs, Docker",
"min_ram_mb": 4096
}
]Đây là các mức tối thiểu do vendor công bố tính đến tháng 8 năm 2026, không phải số liệu đo trên một máy đang chạy. Collabora công bố 1 GB cho system cộng thêm khoảng 50 MB cho mỗi user, nên 1024 MB là mức sàn trước khi user đầu tiên kết nối. ONLYOFFICE Docs yêu cầu 2048 MB khi cài từ Debian package và 4096 MB khi chạy trong Docker, cùng với 4 GB swap và 40 GB disk. Backend editor của Bento cần 0 MB vì không có backend editor. Bên dưới mỗi editor service, bạn vẫn chạy chính Nextcloud cùng database và cache của nó, nên trên VPS 2 GB, chênh lệch này quyết định bạn còn có thể host thêm gì.
Backup cũng đơn giản hơn theo cách tương tự. Khôi phục Nextcloud nghĩa là khôi phục các file và database khớp với nhau tại cùng một thời điểm. Khôi phục một deck Bento chỉ có nghĩa là khôi phục một file. File này vẫn cần backup thực sự có history, vì editor ghi đè file trực tiếp và việc ghi trực tiếp có thể gặp lỗi: một snapshot restic được schedule cho directory đó sẽ xử lý việc này.
Có một server component tùy chọn. Tính năng cộng tác realtime sử dụng thành phần mà project gọi là blind relay, và bạn có thể self-host thành phần này từ server/sync-worker/ trong repository. Tài liệu được mã hóa trong browser bằng AES-GCM (Galois/Counter Mode, một chế độ mã hóa có xác thực), room key không bao giờ rời khỏi file, còn relay lưu ciphertext, thời điểm kết nối và hash của key đó. Bạn không cần relay khi tự chỉnh sửa.
Những gì bạn phải đánh đổi so với Nextcloud và Collabora
Kiểm soát quyền truy cập là khoảng cách lớn nhất. Trong Bento, collaboration key được tạo cùng document và nằm bên trong file, nên ai có file thì là thành viên của session. Xoay vòng key là cách thu hồi quyền của một người. Mô hình này không có account, group, single sign-on hay audit trail. Nextcloud cung cấp user, share link có ngày hết hạn, quota, version history phía server và mobile client. Nếu hai người cần mức quyền truy cập khác nhau trên cùng một document, Bento không thể biểu diễn được điều đó.
Khả năng tương thích định dạng là khoảng cách lớn thứ hai. Bento lưu JSON riêng, và đó chính là lý do file có thể đọc được cũng như script có thể chỉnh sửa file. Collabora và ONLYOFFICE được xây dựng để chuyển đổi qua lại OOXML (họ .docx và .pptx) với độ trung thực cao, vì đó là định dạng phần còn lại của thế giới sẽ gửi cho bạn. Hãy xem release notes để biết version bạn đã tải xuống có thể import và export những gì trước khi xây dựng workflow dựa trên giả định rằng nó tương thích với PowerPoint.
Mức độ trưởng thành là khoảng cách thứ ba. Project công khai các điểm còn chưa hoàn thiện của chính nó, và đó là một điểm đáng ghi nhận. Tính năng undo trong live collaboration dựa trên snapshot, nên có thể hoàn nguyên chỉnh sửa đồng thời của collaborator trên cùng một property. Việc chỉnh sửa ưu tiên desktop; điện thoại phù hợp hơn để xem và trình chiếu thay vì chỉnh sửa. Menu save-as hiện vẫn chưa vừa màn hình điện thoại. Đó là các giới hạn đã biết ở v1.0.11. Sau hai tuần tồn tại, project vẫn có những giới hạn chưa biết.
Có nên tin tưởng tài liệu thực tế cho việc này không?
Hãy chia câu hỏi theo yêu cầu của tài liệu. Bài nói tại hội nghị, bộ slide bán hàng hoặc bài giảng mà bạn muốn mở lại sau 10 năm là trường hợp phù hợp, vì file tự chứa editor và không cần project vẫn còn tồn tại vào năm 2036. Hợp đồng có 3 người xét duyệt, chính sách lưu giữ và người phê duyệt được chỉ định lại không phù hợp, vì tài liệu đó cần các account và lịch sử được lưu ở server.
Có 2 biện pháp bảo vệ thực tế. Lưu bộ slide trong hệ thống quản lý phiên bản hoặc bản backup có lịch sử, vì file tự ghi đè khi lưu cũng có thể bị hỏng trong lúc lưu và bạn sẽ cần bản của ngày hôm qua. Đồng thời, hãy xem một .bento.html từ người bạn không biết như một program thay vì tài liệu, vì bản chất của nó là như vậy: một trang web chứa đầy đủ một application bên trong. Hãy mở nó như cách bạn mở bất kỳ trang web không đáng tin cậy nào.
Cách dùng automation này thực sự hữu ích và đáng được nhắc đến. Vì tài liệu là JSON thuần bên trong file, coding agent có thể chỉnh sửa .bento.html ngay tại chỗ, và project có cung cấp skill Claude Code cho việc đó. Nó cũng hoạt động với các model open-weight chạy cục bộ, nên một máy đã chạy Ollama để phục vụ model của bạn có thể tạo bản nháp slide mà không gửi dữ liệu ra khỏi máy.
Bento phù hợp ở đâu trên một máy chủ nhỏ
Bento thuộc nhóm các công cụ đơn nhiệm khác có chỗ trên một VPS nhỏ vì giữ footprint nhỏ: một RSS reader tự host hoặc Actual Budget cho quản lý tài chính cá nhân. Mỗi công cụ chỉ làm một việc, chiếm ít tài nguyên và lưu dữ liệu ở định dạng bạn có thể đọc mà không cần ứng dụng. Những người thay notes app bằng một trong các lựa chọn Notion tự host cũng đang đưa ra cùng một đánh đổi, còn hướng dẫn tổng quan về những gì nên tự host bao quát các mục còn lại.
Nếu bạn cần một nền tảng tài liệu đầy đủ với user, tính năng chia sẻ và lịch sử phiên bản, Nextcloud trên VPS với Docker, TLS và backup vẫn là lựa chọn phù hợp. Bento không cạnh tranh ở vị trí đó. Bento là công cụ để bạn gửi cho người bên ngoài server dưới dạng một file duy nhất; họ có thể mở file mà không cần login hoặc plugin.
FAQ
Bento có thay thế được Nextcloud và Collabora không?
Không cho cùng một mục đích. Nextcloud kết hợp với Collabora hoặc ONLYOFFICE cung cấp tài khoản, thư mục dùng chung, quyền truy cập và lịch sử phiên bản phía server, nên cần một server stack thực sự để cung cấp các chức năng đó. Bento cung cấp một file portable có thể mở ở bất kỳ đâu và không cần server. Dùng Bento khi tài liệu cần tự chứa mọi thành phần. Dùng Nextcloud stack khi nhiều người cần các quyền truy cập khác nhau vào cùng một tài liệu theo thời gian.
Bento có cần server hoặc VPS không?
Không. File .bento.html mở được từ ổ đĩa cục bộ trong mọi trình duyệt hiện đại và có thể chỉnh sửa offline. VPS chỉ cần cho 2 mục đích tùy chọn: cung cấp file qua HTTPS để người khác tải xuống và chạy sync relay cho cộng tác thời gian thực. Có thể tự host relay từ server/sync-worker/ trong repository của dự án. Relay lưu ciphertext cùng metadata kết nối, nên không bao giờ thấy nội dung của bạn.
Bento lưu tài liệu ở định dạng nào?
Bento dùng JSON riêng, được ghi dưới dạng một block dễ đọc gần đầu file HTML, cùng với font và hình ảnh được nhúng bên cạnh. Mở file bằng trình soạn thảo văn bản, bạn có thể đọc cấu trúc tài liệu. Vì vậy, script và AI agent có thể chỉnh sửa deck trực tiếp trong file. Điều đó cũng có nghĩa định dạng lưu trữ không phải OOXML. Không nên giả định workflow .pptx sẽ hoạt động ổn định cho đến khi bạn kiểm thử import và export trên release đang chạy.
Nếu không có tài khoản người dùng thì cộng tác hoạt động thế nào?
Collaboration key được tạo khi tài liệu được tạo và nằm bên trong file. Vì vậy, bất kỳ ai giữ file đều có thể tham gia session. Các chỉnh sửa được hợp nhất bằng CRDT (conflict-free replicated data type, một cấu trúc hợp nhất các thay đổi đồng thời mà không cần authority trung tâm) và được truyền bằng AES-GCM dưới dạng mã hóa. Tên hiển thị khi tham gia chỉ là claim, không phải bằng chứng xác thực. Vì vậy, hãy xem danh sách người tham gia như nhãn nhận diện, không phải bước kiểm tra danh tính. Thu hồi quyền truy cập nghĩa là xoay key rồi phân phối lại file.
Bento đã sẵn sàng cho các tài liệu quan trọng chưa?
Bento được cấp phép MIT và phát triển công khai. Đến ngày 1 August 2026, dự án mới chưa đầy 2 tuần tuổi và đã có 6 release trong tuần đầu tiên. Hãy xem đây là phần mềm cần đánh giá trong tháng này, không phải phần mềm có thể chuẩn hóa trong quý này. Lưu mỗi deck trong một bản backup có history. Kiểm thử đường dẫn export mà bạn phụ thuộc vào trước khi sử dụng nó trong thực tế. Với mọi nội dung có yêu cầu về compliance hoặc retention, hãy dùng một hệ thống có tài khoản và lịch sử phiên bản.