# ZIZIYI Office: Local-First Office Editing in the Browser

> ZIZIYI Office is a TypeScript and Next.js web application for opening, previewing, and editing DOCX, XLSX, and PPTX files in the browser. Its IndexedDB storage and WebAssembly-based document processing support a local-first workflow, but compatibility guarantees and cloud file handling are not documented.

**baotlake/office-website** — Web Office: Local-First & Private. Professional-grade Word, Excel, and PowerPoint editing powered by WebAssembly. Zero data uploads, 100% client-side for uncompromising privacy. 🛡️ 纯本地浏览器 Office，数据零上传，隐私安全。⚡️ Wasm 採用、ローカル完結で究極のプライバシー。🚀 Полная приватность: Wasm-офис без загрузки данных.

- Repository: https://github.com/baotlake/office-website
- Website: https://office.ziziyi.com
- Stars: 1,487 · Forks: 197
- Language: TypeScript
- License: AGPL-3.0
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/baotlake-office-website

## ZIZIYI Office's Local-First Document Workflow

ZIZIYI Office targets people who need to open or modify common Office files without sending document contents to a conventional server-side editing service. The supported document types are `.docx`, `.xlsx`, and `.pptx`, covering Word, Excel, and PowerPoint files. The hosted application offers quick-create links for each format through the `editor?new=docx`, `editor?new=xlsx`, and `editor?new=pptx` paths.

Its central design choice is processing in the browser. The README describes this as local-first and says files are processed locally, while the acknowledgements identify `onlyoffice-x2t-wasm` as the source of in-browser document conversion. That project position matters because local processing keeps the editing path away from a remote document server during normal file handling. It does not, by itself, prove that every browser permission, cloud picker, or deployment component is offline.

The intended audience includes users who want a browser-based Office interface and organizations that place a high value on keeping documents on the client. It is also relevant to self-hosted deployments, since the repository includes Cloudflare Pages, EdgeOne, Vercel, Wrangler, Caddy, and Docker configuration. The documentation does not provide a formal fidelity matrix showing which Word, Excel, or PowerPoint features match Microsoft Office, so complex files should be treated as a compatibility risk.

## Next.js, WebAssembly, and IndexedDB Document Flow

Based on the repository layout, ZIZIYI Office is a Next.js application with interfaces under `app/`, reusable UI under `components/`, state under `store/`, browser and conversion utilities under `lib/` and `utils/`, and internationalization under `i18n/` and `messages/`. The `package.json` names Next.js 16.1.6, React 19.2.3, TypeScript 5, Zustand, IndexedDB access through `idb`, and Uppy integrations for Dropbox, Google Drive, and OneDrive.

The documented local data path starts with a document selected or created in the browser. The application processes Office content through WebAssembly components associated with ONLYOFFICE, including `onlyoffice-x2t-wasm` for document conversion. For locally managed files, IndexedDB provides persistence across browser sessions. This is separate from server-side workspace storage and means an engineer may need to consider browser profile, device, storage quota, and data-retention behavior before adopting it.

The application also uses `@uppy/react`, `@uppy/dashboard`, and `@uppy/drag-drop`. Cloud connectors are listed for Dropbox, Google Drive, and OneDrive. The README calls this “Cloud Integration” and says it provides file selection, but it does not specify whether selection only transfers a handle or copies bytes into the page, what authentication flow is used, or whether network activity can be disabled. Those details should be verified in the relevant connector configuration before a privacy-sensitive deployment is approved.

The Dockerfile adds a second technical layer. It starts from `onlyoffice/documentserver:${DS_VERSION}`, generates the font and theme assets during the image build, builds the Next.js site in a Node.js 22 Alpine stage, and sets `NEXT_PUBLIC_APP_ROOT` from the DocumentServer version and `HASH`. The visible configuration shows that the browser application is coupled to versioned ONLYOFFICE assets, not merely a generic ZIP parser.

## Running ZIZIYI Office Locally for the First Document

The README lists Node.js 22 or later and recommends pnpm. Its clone example contains the placeholder `<repository-url>` rather than the concrete repository URL, so the checkout step must be completed before the other commands can be used. The rest of the local startup sequence installs dependencies and starts the Next.js development server.

The documented clone and directory commands are:

```bash
git clone <repository-url>
cd website
```

The README then installs the project dependencies with pnpm:

```bash
pnpm install
```

Start the development server with:

```bash
pnpm dev
```

The documented address for the first launch is `http://localhost:3000`. At that address, the reader should see the ZIZIYI Office site. A first document can be created through the format-specific links listed in the README, rather than relying on an undocumented toolbar path.

The repository's production and preview deployment scripts build the site before invoking Wrangler Pages. Cloudflare Pages uses the `office-website` project name:

```bash
pnpm deploy
pnpm deploy:preview
```

The README presents Cloudflare Pages as the standard deployment target. It also lists separate hosted access at `office.ziziyi.com` for global users and `o.ziziyi.com` for Asia-Pacific access.

## Format Support and Browser Storage Boundaries

Opening `.docx`, `.xlsx`, and `.pptx` files is ZIZIYI Office's clearest functional boundary. These are modern Office formats, but successful parsing does not mean every embedded object, transition, formula, chart, macro, font, or layout will survive an editing and export cycle. The README does not publish a compatibility list for Microsoft Office versions, LibreOffice files, legacy binary formats, or documents containing macros.

IndexedDB is useful because it keeps local file management inside the browser, but it also changes the operational model. Local files can be tied to one browser profile and device unless the user exports or moves them. The documentation does not describe quota handling, recovery after browser data is cleared, backup policy, encryption at rest, or behavior in private browsing. It also does not say whether IndexedDB records can be selectively removed from the interface. An organization considering this as a document system must inspect those behaviors rather than treating the phrase “persistent storage” as a backup guarantee.

Font availability is another boundary. The Dockerfile explicitly generates `AllFonts.js` and `themes.js` from ONLYOFFICE DocumentServer assets. That packaging step indicates that fonts and themes are part of the deployment model, but the visible documentation does not state which fonts are included or whether users can add licensed fonts. Layout fidelity can therefore vary with a custom deployment's font set.

## Uppy Cloud Pickers Versus Fully Offline Editing

Uppy gives ZIZIYI Office a file-selection interface rather than limiting users to files already present on the device. Its dependency list includes plugins for Dropbox, Google Drive, and OneDrive, which makes ZIZIYI Office a browser front end for several common file locations.

That choice creates a clear difference between document processing and document acquisition. Once a file reaches the editing environment, the README says processing occurs locally. Selecting it through a cloud connector may still involve authentication, metadata requests, or file transfer through that provider. Because the README does not document the connector settings or network policy, “zero data uploads” should not be interpreted as proof that enabling a cloud provider produces no outbound requests.

For a fully disconnected workflow, the narrower use case is local file selection and IndexedDB storage. For users who keep documents in Dropbox, Google Drive, or OneDrive, engineers need to inspect the Uppy configuration, OAuth behavior, browser permissions, and provider API requests. This project is the wrong fit when “local-first” must be proven by network policy rather than inferred from where conversion runs.

## ONLYOFFICE Assets, Release Alignment, and Upgrade Work

ZIZIYI Office does not implement every Office capability as an independent TypeScript engine. Its acknowledgements point to ONLYOFFICE Web Apps, `onlyoffice-x2t-wasm`, ONLYOFFICE SDKJS, and Office Converters. The Dockerfile makes that dependency more explicit by deriving both its source image and the public asset path from `DS_VERSION` and `HASH`.

That structure gives operators a cache-busting control, but it also creates upgrade work. Changing the ONLYOFFICE DocumentServer version can require a new container build, regenerated assets, and a matching `NEXT_PUBLIC_APP_ROOT`. The repository currently defaults `DS_VERSION` to `9.3.1` and `HASH` to `1` in the visible Dockerfile configuration. An upgrade should therefore be treated as coordinated frontend and asset work rather than a routine dependency bump.

Release metadata also needs careful reading. The repository entry lists `v9.3.0.24` with the package label `onlyoffice-editor-v9.3.0.24`, while `package.json` and the README badge show application version `0.1.0`. The documentation does not explain whether the release label tracks the embedded ONLYOFFICE component or the ZIZIYI application. That distinction should be resolved before an operator assigns an upgrade based on a version number.

The repository is not archived, and the last push was on 2026-04-25. Its AGPL-3.0 license is important for network-deployed use and modification, although this review does not provide legal advice. Organizations should review source-offer, notice, and deployment obligations with qualified counsel.

## Desktop Office Suites as the Functional Alternative

ZIZIYI Office instead packages a web interface around browser-side ONLYOFFICE and conversion components. Its advantage is architectural rather than editorial: a user can reach the editor through a web address, and local documents can be processed in the browser without a server-side editing session. Its trade-off is that browser storage, web runtime constraints, bundled fonts, and versioned WASM assets become part of the deployment.

ZIZIYI Office is more relevant when a browser-based interface, local processing, and browser-based file management are required. The repository does not provide a direct feature comparison or compatibility report, so adoption should begin with representative files rather than broad claims of Office parity.

## Conclusion

Adopt ZIZIYI Office when browser access, local document processing, and the three supported Office formats are primary requirements. Do not assume desktop-suite compatibility or a complete absence of external file access without checking your documents first. For a self-hosted deployment, verify the ONLYOFFICE asset build, AGPL-3.0 obligations, browser storage policy, and export fidelity before replacing an established Office workflow.

## FAQ

### Which document formats can ZIZIYI Office open and edit?

ZIZIYI Office supports `.docx`, `.xlsx`, and `.pptx` files. Its quick-create links also open new Word, Excel, and PowerPoint documents by format.

### Does ZIZIYI Office upload Office files to a server?

The README states that files are processed locally in the browser. It also lists Google Drive, Dropbox, and OneDrive connectors, but does not document the exact network behavior of those connectors.

### How do I run ZIZIYI Office locally?

The documented requirements are Node.js 22 or later and pnpm. After cloning the repository, run `pnpm install`, then `pnpm dev`, and open `http://localhost:3000`.

## Sources

- [baotlake/office-website on GitHub](https://github.com/baotlake/office-website)
- [License: AGPL-3.0](https://github.com/baotlake/office-website/blob/main/LICENSE)
- [Project website](https://office.ziziyi.com)
- [README](https://github.com/baotlake/office-website/blob/main/README.md)
- [Releases](https://github.com/baotlake/office-website/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/baotlake-office-website
