Bento là gì? Đánh giá bộ office chỉ với một file HTML
Bento là bộ ứng dụng văn phòng chạy hoàn toàn bằng một file HTML duy nhất. Tìm hiểu cách nó tối ưu tài nguyên trên VPS so với Nextcloud và các hạn chế khi sử dụng thực tế.
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 xuống một file, mở file đó bằng 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ó trình cài đặt và không cần tài khoản. Bento được cấp phép MIT, mã nguồn ở github.com/nyblnet/bento, và bản phát hành đầu tiên xuất hiện vào ngày 21 tháng 7 năm 2026. Tính đến ngày 27 tháng 10 năm 2026, dự án mới hơn 3 tháng tuổi một chút và đã có 26 bản phát hành. Tuổi đời ngắn vẫn là thông tin quan trọng nhất trong bài viết này, đồng thời là lý do phần cuối tập trung vào việc đánh giá thay vì chuyển đổi.
“Gói gọn trong một file” thực sự có nghĩa là gì
Một bộ office tự host thông thường là một stack. Nextcloud chạy bằng PHP phía sau web server, cùng với database, cache và trình chạy background job. Trình chỉnh sửa là một service thứ hai chạy bên cạnh, thường là Collabora Online hoặc ONLYOFFICE Docs trong container riêng. Browser giao tiếp với service này qua HTTP. Tài liệu nằm trong filesystem và một bản ghi trong database. Phiên chỉnh sửa chạy bên trong service trình chỉnh sửa.
Bento loại bỏ stack đó. File tải xuống là Bento_Slides.bento.html, có kích thước khoảng 659 KB trong release v1.0.11 (27 July 2026) và khoảng 706 KB trong v1.2.7 (11 October 2026). Bên trong file duy nhất đó có:
- trình chỉnh sửa, đồng thời cũng là trình xem
- runtime trình chiếu để hiển thị presentation ở chế độ toàn màn hình
- các font và hình ảnh mà presentation sử dụng, được nhúng trong file
- chính tài liệu, dưới dạng một block 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 đè block dữ liệu của chính nó. Trang web yêu cầu browser cấp quyền ghi qua File System Access API (một interface của browser cho phép trang web ghi ngược vào file do người dùng chọn). Với browser không có API này, bạn sẽ nhận được một file tải xuống thay thế. Khi chỉnh sửa presentation, ứng dụng tạo một bản sao mới của cùng 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 nghe cụm “một file duy nhất”. Đây không phải là một server binary chạy cả bộ office suite 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à browser. Vì vậy, nếu dùng VPS, VPS chỉ cần serve một static file và không làm gì khác.
Bộ ứng dụng văn phòng Bento hiện cung cấp những gì
“Bộ ứng dụng văn phòng” là tham vọng của dự án, chưa phải danh sách các ứng dụng 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ó nêu bento/spaces để 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 bạn cần trình xử lý văn bản hoặc ứng dụng bảng tính ngay hôm nay, Bento chưa có.
Tốc độ phát hành rất cao. v1.0.6 vào ngày 21 tháng 7 năm 2026 là bản build đầu tiên được phát hành, còn v1.0.11 được phát hành vào ngày 27 tháng 7 năm 2026, tức 6 bản phát hành trong 7 ngày. Tốc độ này vẫn được duy trì: v1.2.7 vào ngày 11 tháng 10 năm 2026 là bản phát hành thứ 23, còn v1.2.10 vào ngày 24 tháng 10 năm 2026 là bản thứ 26. Đây là dấu hiệu tốt về nhóm duy trì, nhưng cũng là lời 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 và sửa lỗi, đúng như nội dung release notes: 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 bản stylesheet trong các tệp đã lưu và lỗi đường cơ sở của biểu đồ khi giá trị âm. 5 trong 6 bản phát hành từ v1.2.5 đến v1.2.10 khắc phục các vấn đề bảo mật được phát hiện trong quá trình tự rà soát của dự án; chỉ v1.2.8 là không có.
Vì sao một file phù hợp với VPS nhỏ
Đưa một deck lên mạng chỉ là chép một file vào thư mục mà web server đã phục vụ. Không cần orchestration, 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 được công bố của từng service:
Dữ liệu đằng sau biểu đồ này
[
{
"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
}
]Đó là mức tối thiểu được công bố, không phải số liệu đo trên một máy đang chạy. Con số của Collabora là yêu cầu hệ thống 1 GB mà Nextcloud công bố cho Collabora Online. Mỗi user đang kết nối còn cần thêm memory, nên 1,024 MB là mức sàn trước khi user đầu tiên kết nối. Help center của ONLYOFFICE, được kiểm tra vào ngày 27 tháng 10 năm 2026, yêu cầu ít nhất 2,048 MB với package Debian hoặc Ubuntu và 4,096 MB khi chạy bằng Docker. Cả hai trường hợp đều cần ít nhất 4 GB swap và 40 GB disk trống. Backend editing của Bento cần 0 MB vì không có backend editing. Bên dưới một trong hai editor service, bạn vẫn chạy chính Nextcloud cùng database và cache của nó. Vì vậy, trên VPS 2 GB, khoảng cách này quyết định bạn còn có thể host thêm những 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 nhất quán với nhau tại cùng một thời điểm. Khôi phục một deck Bento chỉ 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 tại chỗ và thao tác ghi tại chỗ có thể gặp lỗi: một snapshot restic được lập lịch cho thư mục đó sẽ xử lý việc này.
Có một server component tùy chọn. Live collaboration sử dụng thành phần mà project gọi là blind relay, có thể self-host từ server/sync-worker/ trong repository. Document được mã hóa trong browser bằng AES-GCM (Galois/Counter Mode, một chế độ mã hóa có xác thực). Khóa của room không bao giờ rời khỏi file, còn relay chỉ lưu ciphertext, thời điểm kết nối và hash của khóa đó. Tự chỉnh sửa không cần relay.
Những gì bạn phải đánh đổi so với Nextcloud và Collabora
Kiểm soát truy cập là khoảng cách lớn nhất. Trong Bento, collaboration key được tạo cùng tài liệu và nằm bên trong file, nên ai có file thì là thành viên của phiên. 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, lịch sử phiên bản phía server và mobile client. Nếu 2 người cần mức quyền truy cập khác nhau trên cùng một tài liệu, Bento không hỗ trợ được.
Khả năng tương thích định dạng là khoảng cách thứ hai. Bento lưu JSON riêng, đây chính là lý do file dễ đọc và script có thể chỉnh sửa nó. Collabora và ONLYOFFICE được xây dựng để chuyển đổi OOXML (họ định dạng .docx và .pptx) qua lại với độ trung thực cao, vì đó là định dạng mà những người khác sẽ gửi cho bạn. Bento đã bắt đầu thu hẹp khoảng cách này: v1.2.6 (4 October 2026) thêm tính năng import PowerPoint, còn v1.2.7 (11 October 2026) thêm một trang trong browser để chuyển đổi hai chiều các bản trình bày PowerPoint. Cả 2 tính năng mới chỉ được phát hành vài tuần, nên hãy kiểm tra release notes để biết version bạn đã tải về có thể import và export những gì trước khi xây dựng workflow giả định rằng PowerPoint tương thích.
Mức độ trưởng thành là khoảng cách thứ ba. Dự án mô tả rõ ràng những điểm còn hạn chế của chính mình, đây là một điểm đáng ghi nhận. Undo trong quá trình cộng tác trực tiếp dựa trên snapshot và có thể hoàn tác thay đổi đồng thời của một cộng tác viên trên cùng một thuộc tính. Việc chỉnh sửa ưu tiên desktop, còn điện thoại phù hợp để xem và trình bày hơn là chỉnh sửa. README vẫn liệt kê cả 2 điểm này là các hạn chế đã biết. Hỗ trợ điện thoại đang được cải thiện nhanh: ở v1.0.11, menu save-as không vừa màn hình điện thoại; v1.0.12 cho phép truy cập chức năng lưu bản sao từ điện thoại; và v1.0.19 thêm tính năng chỉnh sửa văn bản bằng thao tác chạm, trước đó một bản trình bày gần như chỉ có thể đọc trên điện thoại. Vì mới hơn 3 tháng, Bento cũng còn những hạn chế chưa được biết đến.
Bạn có nên tin tưởng tài liệu thật cho việc này không?
Hãy chia câu hỏi theo nhu cầu của tài liệu. Một bài nói chuyện tại hội nghị, một sales deck hoặc một bài giảng mà bạn muốn mở lại sau mười năm là lựa chọn 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. Một hợp đồng có ba người review, 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 account và lịch sử phía server.
Có hai biện pháp bảo vệ thực tế. Hãy lưu deck trong version control hoặc trong bản backup có lịch sử, vì một file tự ghi đè khi save cũng có thể bị hỏng trong lúc save và bạn sẽ cần bản của ngày hôm qua. Hãy xem .bento.html từ người bạn không biết như một program thay vì một tài liệu, vì bản chất của nó là như vậy: một web page chứa cả một ứng dụng bên trong. Hãy mở nó giống như cách bạn mở bất kỳ web page không đáng tin cậy nào. Điều tương tự cũng áp dụng theo chiều ngược lại cho các deck của bạn: mỗi file tự chứa một bản sao của editor, vì vậy khi release note ghi “Security: update this file”, như mọi release từ v1.2.5 đến v1.2.10 ngoại trừ v1.2.8, hãy cập nhật các deck bạn chia sẻ. v1.2.7 cũng yêu cầu những ai chia sẻ deck trực tiếp dùng Reset access một lần sau khi cập nhật, còn v1.2.9 yêu cầu bạn unlock và save mỗi deck được bảo vệ bằng password một lần.
Khả năng automation 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ó một skill Claude Code cho việc đó. Nó cũng hoạt động với các model open-weight chạy local, nên một máy đã chạy Ollama để phục vụ model của riêng bạn có thể soạn 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 tính năng đó. Bento cung cấp một file portable mở được ở mọi nơi và không cần server. Dùng Bento khi tài liệu cần tự chứa mọi thứ. Dùng stack Nextcloud 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ỉ liên quan đến 2 việc 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 trực tiếp. Có thể tự host relay từ server/sync-worker/ trong repository của project; 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 thành 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 text editor là 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 này cũng có nghĩa định dạng được lưu không phải OOXML. Tính năng import PowerPoint xuất hiện ở v1.2.6 vào ngày 4 October 2026, nhưng đừng giả định workflow .pptx sẽ hoạt động ổn định cho đến khi bạn đã kiểm thử import và export trên release mình đ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, nên 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 mã hóa AES-GCM. Tên hiển thị trong presence là thông tin do người tham gia tự khai báo, không phải bằng chứng xác thực. Vì vậy, hãy xem danh sách participant 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, project này chưa đầy 2 tuần tuổi và đã có 6 release trong tuần đầu tiên. Đến ngày 11 October 2026, project chưa đầy 3 tháng tuổi và đã có 23 release; 3 release mới nhất trong số đó đã đóng các vấn đề bảo mật. Đến ngày 27 October 2026, project đã có 26 release, trong đó v1.2.9 và v1.2.10 đóng thêm các vấn đề bảo mật. Hãy xem Bento là phần mềm bạn đang đánh giá trong tháng này, chưa phải phần mềm để chuẩn hóa trong quý này. Giữ mọi deck trong một bản backup có history, luôn cập nhật file, kiểm thử đường export mà bạn phụ thuộc vào trước khi phụ thuộc vào nó, và lưu mọi thứ có yêu cầu về compliance hoặc retention trong một system có tài khoản và version history.