GenOffice
Edit Office files, PDFs, and Markdown locally, with built-in agents that make changes inside the document.
The evidence shows locked-down Electron renderers with isolation, disabled Node integration, sandboxing, validated IPC, protocol-gated external links, and a constrained interpreter for AI layout scripts; CI is limited to contents:read. User-supplied API keys are placed in an OS-level settings store, local document processing is distinguished from networked AI, and default analytics are disclosed. Tests cover user cancellation, stale-write protection after manual edits, non-mutating invalid operations, and frozen selection scope. Deductions apply because the files do not establish explicit confirmation before every agent mutation or external tool call; the exact document context sent to cloud models, key-storage mechanics, and full analytics event inventory are not present. Dependency controls include locked installation, commit-pinned CI actions, license checks, and targeted overrides, but no vulnerability scan, SBOM, or dependency-update policy is shown. Snapshots, diffs, and narrow patches support recovery, but a complete undo or restore procedure is not documented. Third-party projects, licenses, corporate copyright, and trademark exceptions are thoroughly attributed.
The README, package scripts, CI workflow, and agent tests consistently describe the workspace, capabilities, and test coverage. Concrete tests show useful errors for invalid inputs, stale indexes, backend search failures, aborted downloads, out-of-range access, and unsupported chart edits, with several failures explicitly preserving the document. The deduction is mainly for dependency availability: platform, Node, npm, Rust, glibc, FUSE, and network requirements are documented and many model providers are supported, but cloud services are outside repository scope and no uniform fallback, retry, or offline substitute strategy is demonstrated.
The source clearly addresses office users and developers across documents, spreadsheets, presentations, PDFs, Markdown, OCR, conversion, and AI editing. It describes application and engine responsibilities, supported platforms and formats, offline-versus-network boundaries, OCR platform differences, available agent tools, and the capability boundary of generated scripts. Installation and development environment fit are detailed. Trigger precision is deducted because tests cover selection freezing, document freshness, and several target validations, but the evidence does not document suite-wide tool-selection rules, confirmation triggers, or a general policy for handling unintended agent activation.
The README has strong organization covering features, applications, engines, installation, development, architecture, FAQ, security, acknowledgements, and licensing. Names align with package and workspace paths, platform installation commands are concrete, and the Apache-2.0 text is supplied with the ee/ enterprise-license exception and trademark restriction explicitly stated. Known limitations receive a deduction because they are dispersed among system requirements, network requirements, OCR differences, and security scope rather than presented as a comprehensive limitations section. Version 0.1.0 and a Releases path exist, but no changelog or compatibility/migration policy is included. Maintenance has private vulnerability reporting, a 72-hour acknowledgement target, releases, auto-update, and Mainfunc copyright attribution, but no general support route, maintainer roster, or long-term maintenance commitment. Unknown registry provenance is treated as neutral.
The evidence describes usable outputs in standard Office formats, local PDF conversion, block-level AI edits, snapshots and diffs, charts, and comment operations, while tests exercise several realistic editing paths. The structured agents provide clear marginal value beyond chat by performing scoped reading, rewriting, formatting, image insertion, chart editing, and comment actions. Cost-benefit transparency is deducted because the applications are free and support local work and BYOK, but potential charges, quotas, latency, and resource costs for Genspark, model providers, search, and generation services are not explained.
Many claims are traceable to named packages, source paths, CI gates, and specific tests, and the README, security policy, package metadata, workflow, and tests provide strong cross-source corroboration. Deductions apply because broad suite-wide claims such as being the world's first, being fully featured, fidelity across every format, and categorical analytics assurances are not each matched by implementation or tests in the supplied excerpts. Marketing claims, design intent, and demonstrated facts are not always explicitly separated. This was a static review only; no tests were executed and no independent reproduction was performed.
- When networked AI, search, image generation, or media analysis is enabled, document context may be sent to Genspark or a user-selected third-party provider; the supplied files do not fully enumerate each provider's data flow, retention policy, or cost.
- Agents can directly modify documents, insert images, edit charts, and act on comments. Snapshots, diffs, cancellation, and stale-write guards are shown, but the evidence does not establish explicit confirmation before every mutation or external effect.
- Official builds send limited analytics by default. The README says reporting is optional and excludes document and identity data, but the referenced PRIVACY.md was not supplied, so the complete event inventory could not be checked.
- Most of the repository is Apache-2.0, but the ee/ directory has a separate enterprise license, and the names and logos are not licensed under Apache-2.0.
- The CI and test configuration is substantial, but this assessment did not execute it and cannot confirm runtime correctness, determinism, or that released binaries correspond exactly to this revision.
What does this agent do, and when should you use it?
GenOffice is an open-source desktop office suite for macOS, Windows, and Linux, comprising Docs, Sheets, Slides, PDF, and Markdown editors hosted by a shared Electron shell. It opens and saves .docx, .xlsx, .pptx, PDF, and Markdown files through format-specific engines designed to preserve untouched content while applying narrow edits. Every editor embeds an AI panel: Docs provides block-level changes, snapshots, and diffs, while the other editors expose tool-calling agents over workbook, slide, or PDF state. Routine editing and PDF-to-Office conversion run locally, although model calls, search, and media tools require a network connection. Users can sign in to Genspark, supply keys for several model providers, or connect an arbitrary OpenAI-compatible endpoint, including a local model server. Most of the repository is Apache-2.0, while the ee/ directory has a separate GenOffice Enterprise License.
The GenOffice shell hosts apps/docs, apps/sheets, apps/slides, apps/pdf, and apps/markdown in tabs. Docs uses packages/docx-engine to parse document.xml into a block tree with docxIndex anchors and original XML slices; on save, it generates OOXML only for dirty blocks and splices those fragments into the original archive. Sheets builds its UI on Univer, imports, exports, and calculates .xlsx files through an in-house Rust sidecar based on calamine and IronCalc, and renders charts with Konva. Slides uses packages/pptx-engine and packages/pptx-render for masters, layouts, charts, cropping, ink, and shaped text. The PDF editor combines pdf.js, pdf-lib, and PDFium wasm to rewrite page content streams for text and image edits; packages/pdf2docx performs character extraction and geometry-based layout analysis to produce editable .docx, .pptx, or .xlsx files locally, with system OCR for scanned pages on macOS and Windows. The Markdown app uses a Tiptap block editor to read and write ordinary .md and .markdown files. Shared packages include packages/agent-core for the agent loop, packages/ai-provider for model adapters and streaming, and packages/ai-search for Genspark-backed web and image search, image generation and editing, media analysis, and transcription.
- An individual or team working across Linux, Windows, and macOS can handle clients' native Word, Excel, and PowerPoint files without making Microsoft Office the required desktop suite.
- A user correcting contracts, forms, or designed documents can edit text and images in the PDF page content instead of simulating changes with cover-up annotations.
- A team handling sensitive files can open, edit, save, and convert PDFs to editable Office formats locally without uploading the documents to a conversion service.
- An editor maintaining complex Word documents can use paragraph-level patching and preservation of untouched content to reduce the chance that a routine save disturbs existing layout.
- A knowledge worker who wants models to alter documents directly can use block-level edits, snapshots, diffs, and tools that inspect the current document state.
- An organization with an existing model strategy can choose Genspark sign-in, configure keys for supported vendors, or point the suite at an internal OpenAI-compatible model server.
What are this agent's strengths and limitations?
- One cross-platform desktop suite covers native .docx, .xlsx, .pptx, PDF, and Markdown editing instead of offering only a chat interface or a single-format editor.
- DOCX saves use paragraph patching that retains untouched XML, while PDF edits rewrite content streams and preserve original fonts rather than relying on cover-up annotations.
- PDF conversion to Word, PowerPoint, and Excel is entirely local, with system OCR for scanned files on macOS and Windows.
- The model layer supports Genspark sign-in, BYOK across numerous vendors, custom OpenAI-compatible endpoints, and local model servers.
- Format-specific engines and state-aware tools let the AI produce actual document changes with snapshots and diffs.
- Model calls, search, image generation, and media analysis require network access; only ordinary editing and local conversion have documented offline operation.
- Documented Linux builds are x86_64 only and require glibc 2.34+; the AppImage additionally requires FUSE 2, excluding some older distributions and other architectures.
- System OCR for scanned PDFs is documented only on macOS and Windows, with no equivalent Linux OCR path stated.
- Source builds of Sheets require a Rust toolchain in addition to the npm-based workspace, increasing development and CI setup.
- Official builds send limited usage analytics by default, although reporting can be disabled and is stated not to include document content, names, paths, account identity, or email addresses.
- Apache-2.0 does not cover ee/, and the GenOffice and Genspark names and logos are not granted by that license, so redistributed forks need separate licensing and branding review.
How do you install or deploy this agent?
Download the appropriate package from https://github.com/genspark-ai/genoffice/releases/latest: an arm64 or x64 .dmg for macOS 11+, an x64 .exe for Windows 10+, a .deb for Debian/Ubuntu, an .rpm for Fedora/RHEL/openSUSE, or an AppImage for another compatible Linux distribution.
Debian/Ubuntu:
sudo apt install ./genoffice_<version>_amd64.debFedora/RHEL:
sudo dnf install ./genoffice-<version>.x86_64.rpmopenSUSE:
sudo zypper install ./genoffice-<version>.x86_64.rpmThe AppImage requires glibc 2.34+ and FUSE 2. Ubuntu users can install libfuse2; Ubuntu 24.04 uses libfuse2t64. Then run:
chmod +x GenOffice-<version>.AppImage
./GenOffice-<version>.AppImageFor source development, run npm install, npm run fixtures, npm test, npm run typecheck, and npm run dev. Building the Sheets xlsx sidecar also requires cargo on PATH; npm run build -w @genoffice/sheets compiles it automatically.
How do you use this agent?
Launch GenOffice, open a .docx, .xlsx, .pptx, .pdf, .md, or .markdown file from the shared shell, edit it in the corresponding tab, and save it. The PDF editor can change text and images directly or convert the file locally to Word, PowerPoint, or Excel; on macOS and Windows, system OCR can turn scanned pages into editable text. To enable AI, either complete the Genspark device-code sign-in or open AI settings and configure BYOK for Claude, OpenAI, Gemini, DeepSeek, Kimi, GLM, Qwen, Doubao, MiniMax, Grok, Mistral, or OpenRouter. A custom provider slot accepts the base URL and key for any OpenAI-compatible endpoint, including a local server. In Docs, review the snapshots and diffs produced by block edits; in Sheets, Slides, and PDF, the agent operates through tools connected to the current file state. Normal document editing works locally, but AI, search, image, and media features require network access.
How does this agent compare with similar options?
GenOffice explicitly presents itself as a free, open-source alternative to Microsoft Office, emphasizing native .docx, .xlsx, and .pptx handling with AI editing integrated into the editors. Compared with cloud conversion workflows, normal document processing and PDF-to-Office conversion remain on the user's machine. The supplied material does not establish complete feature parity with Microsoft Office; its compatibility case rests on dedicated format engines, narrow patches, and preservation of untouched file content.