- 让编码 Agent 批量改文档:需要 Agent 在仓库里直接改 .docx/.xlsx 并保留未触及部分的字节时用它,换成纯文本转换工具会丢掉格式和未编辑内容。
- 文档变更需要可审计:AI 改动以修订和 diff 呈现、可回滚,适合把文档纳入类似代码评审的流程;直接让模型重写整个文件则无法追溯。
- 本地格式互转:PDF/Markdown/HTML 与 Office 格式在本地转换,适合离线或不能把文件传到外部服务的场景。
- 用 CLI 编排批处理:genoffice 提供读写、比对、渲染、审计子命令,适合在脚本或 CI 里跑文档检查;但它本身不调模型,模型调用要自己接。
genoffice
genspark-aiApache-2.0活跃维护 有专家点评开源 AI 办公套件,内置 AI 智能体,支持文档、表格、幻灯片、PDF 等编辑,并提供 CLI 和 agent skill,让 Claude Code、Codex、Cursor 在本地直接生成和修改 Office 文件。
Free, open-source AI Office suite: Docs, Sheets, Slides, PDF, Markdown and HTML editors with a built-in AI agent, plus a `genoffice` CLI and agent skill so Claude Code, Codex and Cursor can create and edit real .docx/.xlsx/.pptx files locally. Bring your own key. macOS, Windows & Linux.
专家点评
上手难度:进阶更新于 2026-11-11让 Claude Code、Codex 这类编码 Agent 直接读写真实 docx/xlsx/pptx 的本地办公套件与 CLI
适用场景
踩坑
- Linux 支持是 issue 里反复出现的主题(官方 Linux 支持、Linux release、原生构建目标、X11 下最大化窗口尺寸异常),在 Linux 桌面上当主力编辑器用之前先确认你需要的发行版和显示协议是否覆盖。
- 格式边界:ODF、旧版 .doc、Hancom 文档只能导入,保存一律写成 OOXML,工作流里如果下游依赖原格式会被静默改写。
- AI 能力需要自备各家 API Key 或登录 Genspark 账号,CLI 自身不调用模型;想纯本地跑 Agent 流程的话,模型这一层要自己搭。
同类对比
只做格式转换、不需要 Agent 编辑和修订追踪的话,LibreOffice headless 更成熟;纯 Markdown/HTML 写作不需要 Office 格式往返的话,没必要引入这一层。
genoffice --version
genoffice info report.docx --jsonREADME 未说明具体硬件要求;支持 macOS(Apple Silicon 与 Intel)、Windows(x64 与 Arm)、Linux(deb、rpm、AppImage)。
项目说明
由 README 自动翻译提炼开源 AI 办公套件,本地读写真实 docx/xlsx/pptx,并让编码 Agent 直接创建和编辑
开源 AI 办公套件,内置 AI 智能体,支持文档、表格、幻灯片、PDF 等编辑,并提供 CLI 和 agent skill,让 Claude Code、Codex、Cursor 在本地直接生成和修改 Office 文件。
核心能力
- 只重写被编辑部分,其余内容按字节保留
- AI 改动以修订和 diff 呈现,可一键回滚
- PDF、Markdown、HTML 与 Office 格式在本地互转
- 内置 genoffice CLI,支持读写、比对、渲染和审计
- 提供 Agent skill 与 MCP 工具,接入 Claude Code 等
容易踩的坑
AI 调用需要自备各家 API Key,或登录 Genspark 账号;ODF、旧版 .doc 和 Hancom 文档只能导入,保存时一律写成 OOXML;CLI 本身不调用模型,需要配合 Agent 或自行编排流程。
- v0.12.852GenOffice v0.12.852最新正式版2026-11-04 · 2026-11-04 15:37 UTC
GenOffice v0.12.852 stable desktop installers.
What's New
- Docs: legacy .doc import rounds out — nested and floating tables, text columns, page numbering and borders, cell shading, picture crops, fonts and bidi text; formatting marks show page, wrap and section breaks (reported by @soulmate543748); cover pictures behind text can be clicked and stay on their page, and pictures anchored in a table cell stay inside it (reported by @hwang824); Word-style Styles button and Styles pane; double-click selects the word like Word; nested PAGE fields keep their parent (@tokg-venv, reported by @lkopenec); untouched tables stay byte-identical on save (@tokg-venv); mail merge gains labels and envelopes (@tokg-venv); Thai, Korean, Hebrew and Arabic faces, table borders, anchored pictures and CJK spacing lay out closer to Word across a 100-document comparison.
- Sheets: legacy .xls workbooks keep cell formatting (reported by @emrahoksak); saving refreshes every formula cache (@tokg-venv, reported by @NoeFaucher); sorted formulas keep pointing at their own row (@NoeFaucher); external links panel and query refresh (@tokg-venv); freeze panes survive streamed scrolling.
- Slides: legacy .ppt import, stage 1 with editable text (@tokg-venv); MathType equation previews render correctly (reported by @soulmate543748); Word-style pen gallery on the Draw tab; print dialog offers printer, copies and duplex (@tokg-venv).
- PDF: PNG/JPG export moves into the PDF Converter menu; annotations carry the user as author (@NoeFaucher); large files load in slices (@tokg-venv); pdf2docx keeps repeated headers and running page numbers (@NoeFaucher).
- Markdown: wiki links resolve every wanted key (@aniruddhaadak80).
- App: Stability AI, FLUX and Microsoft MAI image providers; SiliconFlow, PPIO and Command Code model providers; SearchApi search (@gabsferreira); per-model thinking effort (@tokg-venv); MCP registration for DeepSeek Harness (@tokg-venv, asked by @Junesgone); macOS silent print goes through CUPS (@tokg-venv, reported by @wojakmark-Tana); ChromeOS Crostini guide (@tokg-venv).
Thanks to @tokg-venv, @NoeFaucher, @Junesgone, @aniruddhaadak80, @gabsferreira, @Mohith26 for the contributions, and to everyone who filed reports and requests.
Downloads
- macOS Apple Silicon:
GenOffice-0.12.852-arm64.dmg - macOS Intel:
GenOffice-0.12.852.dmg - Windows x64 (most PCs, Intel/AMD):
GenOfficeSetup-v0.12.852-x64.exe - Linux AppImage:
GenOffice-0.12.852.AppImage - Linux Debian/Ubuntu:
genoffice_0.12.852_amd64.deb - Linux Fedora/RHEL:
genoffice-0.12.852.x86_64.rpm - Windows on Arm only (Snapdragon X and other ARM64 PCs):
GenOfficeSetup-v0.12.852-arm64.exe. Not sure which you have? Check Settings → System → About → "System type"; if it says x64-based processor, use the x64 installer above.
macOS installers are signed with the GenSpark company certificate; Windows installers with DigiCert EV.
- v0.12.600GenOffice v0.12.6002026-11-02 · 2026-11-02 16:20 UTC
查看更新说明
GenOffice v0.12.600 stable desktop installers.
What's New
- Docs: legacy .doc/.dot files open as converted .docx copies — text, styles, tables, lists, pictures, text boxes, footnotes, comments, headers/footers and multi-section documents (@tokg-venv, asked by @technoblack1); .hwp/.hwpx open the same way (@larrabee-kor); Word-style Page Border, Insert Watermark and Draw-tab pen gallery; Save As works when the default folder is unusable (@widechaos, reported by @wubwu33); CJK fonts apply when the family name is not recognized as East Asian (@widechaos, reported by @Dcryfm); DOCX to PDF resolves SECTIONPAGES, TOC leaders and Type3 CJK fonts (@pblsketch, reported by @kookhyun0020-ctrl); header pictures move and resize like Word (@ThallesCosta-dev); comments can carry a picture, typed custom properties, content-control and metadata-scrub tools (@tokg-venv); TOC lines, East Asian fonts, anchored pictures and page breaks lay out closer to Word across a 100-document comparison.
- Sheets: live values for external-workbook links and a sheet links tool in the CLI and MCP (@tokg-venv); Queries & Connections pane and sideways wheel scrolling on a wide ribbon (@DuBearte, asked by @tuo21); font commands apply to the selected characters inside a cell; the formulas indicator says when a sheet shows formulas (@tokg-venv).
- Slides: context menus stay usable on small screens and flyouts scroll in place; setText keeps paragraphs together (@tokg-venv).
- PDF: scanned documents no longer go blank after OCR (reported by @caochuansong); one broken page no longer blanks a large document and reopened files keep their bytes (@tokg-venv, @widechaos).
- Markdown: printed tables split between rows (@lizen); mind map switches between top-down and left-right layouts (@tokg-venv).
- App: updates download quietly and install on quit, with an opt-in silent-install switch (@tokg-venv, asked by @earthjasonlin); legacy-import dialog remembers "convert without asking"; macOS silent print goes through CUPS (@tokg-venv); KDE Dolphin Create New templates on deb/rpm (@tokg-venv); file-parse fixes for XLSX text, dates, shared formulas and DOCX numbering (@Zhangs-11); MCP fill_template and read_docx_properties (@tokg-venv).
Thanks to @tokg-venv, @widechaos, @Zhangs-11, @catPaw-s, @DuBearte, @larrabee-kor, @pblsketch, @lizen, @ThallesCosta-dev for the contributions, and to everyone who filed reports and requests.
Downloads
- macOS Apple Silicon:
GenOffice-0.12.600-arm64.dmg - macOS Intel:
GenOffice-0.12.600.dmg - Windows x64 (most PCs, Intel/AMD):
GenOfficeSetup-v0.12.600-x64.exe - Linux AppImage:
GenOffice-0.12.600.AppImage - Linux Debian/Ubuntu:
genoffice_0.12.600_amd64.deb - Linux Fedora/RHEL:
genoffice-0.12.600.x86_64.rpm - Windows on Arm only (Snapdragon X and other ARM64 PCs):
GenOfficeSetup-v0.12.600-arm64.exe. Not sure which you have? Check Settings → System → About → "System type"; if it says x64-based processor, use the x64 installer above.
macOS installers are signed with the GenSpark company certificate; Windows installers with DigiCert EV.
- v0.12.446GenOffice v0.12.4462026-10-30 · 2026-10-30 14:41 UTC
查看更新说明
GenOffice v0.12.446 stable desktop installers.
What's New
- Docs: Track Changes now follows Word end to end — a Reviewing Pane, Show Markup filters and balloon modes, per-author colors, a Track Changes Options dialog, moves recorded as move pairs, and reviewable table, numbering, section, footnote, header and text-box revisions; rejecting a change restores the original text and run formatting (reported by @zidaliu32-hue, @speckofthecosmos, fix by @widechaos); comment cards and the Comments toggle match Word, and AI edits are credited to the Settings user name; non-contiguous selections format, copy and delete every range (asked by @wisnia2168); the font menu no longer freezes on large documents (reported by @elizeu5678); floating shapes rotate and take an outline width (@tokg-venv, asked by @Bembengs); pictures move, resize and reselect like Word (@ThallesCosta-dev); a page break stays put when the text beside it is edited (@ThallesCosta-dev); new tables take Word's Insert Table look; dozens of pagination and font-metric fixes from a 100-document Word comparison.
- Sheets: spelling check for workbooks, What-If data tables, combo-chart Select Data, PivotCharts, x14 data validation, persisted table filters, the remaining Show Values As modes and passwords on allow-edit ranges (@tokg-venv); pictures, merges and sizes come out of legacy .xls files (@tokg-venv); workbooks with absolute OPC targets or a missing xfId open and recalc (@tokg-venv, reported by @lepetitprince716-prog, @elysoto); headless PDF export prints every sheet with formulas settled and add_chart accepts formula ranges (@tokg-venv, reported by @elysoto); saving to SMB shares tolerates a refused fsync (reported by @Bohanfree); Ctrl+Y repeats the last action.
- Slides: JPG page export (@tokg-venv); slide edits stop re-sending inline media and full decks to the AI (@HThanh-how).
- PDF: password-protected documents open (@tokg-venv); editable bookmarks, Bates numbering, attachments panel, calibrated measure tool, page-by-page compare, reduce file size, baked OCR text, squiggly/caret/polygon annotations and JPG export (@tokg-venv, @aniruddhaadak80).
- Markdown: block ids and block references, a tags sidebar, aliased wiki links, headings and block ids in the [[ suggester, and pasted links go live at once (@tokg-venv); long tokens wrap in table cells (@lizen); cross-folder picture embeds and the wiki graph close button (@aniruddhaadak80).
- AI: Claude Sonnet 5.5, Gemini 4 Argon and GPT-6 tiers over the OpenAI Responses API; CloudGPU (@mrhy7176) and Runcrate (@heydryft) as providers; AI file naming in every app and in the macOS File menu (@tokg-venv); MCP insert_picture into the open Docs document (@aniruddhaadak80, asked by @w363572934-lgtm); skills install into the shared ~/.agents directory (@tokg-venv).
- App: asset names with a colon survive on Windows (@aniruddhaadak80); hex color inputs are trimmed across the engines (@aniruddhaadak80); GenOffice keeps its own credentials apart from the shared CLI ones.
Thanks to @tokg-venv, @aniruddhaadak80, @ThallesCosta-dev, @widechaos, @HThanh-how, @lizen, @mrhy7176, @heydryft for the contributions, and to everyone who filed reports and requests.
Downloads
- macOS Apple Silicon:
GenOffice-0.12.446-arm64.dmg - macOS Intel:
GenOffice-0.12.446.dmg - Windows x64 (most PCs, Intel/AMD):
GenOfficeSetup-v0.12.446-x64.exe - Linux AppImage:
GenOffice-0.12.446.AppImage - Linux Debian/Ubuntu:
genoffice_0.12.446_amd64.deb - Linux Fedora/RHEL:
genoffice-0.12.446.x86_64.rpm - Windows on Arm only (Snapdragon X and other ARM64 PCs):
GenOfficeSetup-v0.12.446-arm64.exe. Not sure which you have? Check Settings → System → About → "System type"; if it says x64-based processor, use the x64 installer above.
macOS installers are signed with the GenSpark company certificate; Windows installers with DigiCert EV.
- v0.12.115GenOffice v0.12.1152026-10-26 · 2026-10-26 12:50 UTC
查看更新说明
GenOffice v0.12.115 stable desktop installers.
What's New
- Docs: a Mailings tab merges a local data source into letters, envelopes and labels (@tokg-venv, asked by @hou0); compare two documents into a tracked-changes redline and read/write block-level content controls (@tokg-venv); accepting or rejecting a formatting change on inserted text or a paragraph mark no longer leaves residue (reported by @ZLGBoss); a pasted Zotero citation keeps its field code and never locks the paragraph (reported by @Keeptg); inline equations no longer inherit the first-line indent (@widechaos, reported by @Keeptg); bullets, numbering and indent inside textbox and shape editors, folding outline handles, floating pictures that keep their position across a save and a heading that survives in a document without heading styles (@tokg-venv); a merged group crossing a page keeps its rows at content height (@tokg-venv); caption labels are escaped in the SEQ matcher (@aniruddhaadak80); focus stays in the find field when switching to Replace.
- Sheets: encrypted workbooks open, save and change their password (@barathrajd); restyling an existing table from the Home gallery no longer overlaps it (@widechaos, reported by @putude); superscript and subscript actually raise and lower the text (@tokg-venv, reported by @putude); hide cells from the model and keep them out of the trace tools (@tokg-venv); stdDev/var family in pivot Summarize By, pictures in notes (@tokg-venv); .xls formula columns come back in the right place (@aniruddhaadak80); the Excel selection and editing chords Univer lacked (Shift+Home, Ctrl+Shift+*, Ctrl+2/3/4, Ctrl+Shift+Enter, Ctrl+', Alt+↓, Ctrl+Backspace and more); numbers spill into the cell margins before turning into ####, column-default borders stop bleeding through styled cells and shrink-to-fit budgets the merged span.
- Slides: A4/A3 paper sizes, portrait and a custom slide size (@DuBearte, asked by @JieqiangHe); an editing ribbon for the slide master (@tokg-venv, asked by @HUyoshis); a save that dies mid-stream leaves the previous deck intact (@tokg-venv, reported by @bruce0817kr); chart data tables draw under horizontal bar charts; table-style hex colors are trimmed before validation (@aniruddhaadak80).
- PDF: text and images drawn inside Form XObjects (templates) can be selected and edited (reported by @Abejo); add and edit hyperlinks, a comments panel listing every note, match-case and whole-word search (@tokg-venv).
- Markdown / HTML: footnotes, ==highlight==, word and character counts in the status bar, and a wiki link creates the note it names (@tokg-venv); the HTML AI can search and generate images and justify joins the alignment controls (@tokg-venv); md-asset URL decoding is guarded (@aniruddhaadak80).
- AI: Keenable as a web-search backend (@ilya-bogin-keenable); Kimi K3.1 Pro and OpenAI's Decisions API as model routes (@tokg-venv).
- App: reopen the last session's documents at launch (@DuBearte, asked by @rickygai) and a setting to turn off automatic update checks (@DuBearte, asked by @yhsun060421); Turkish UI (asked by @emrahoksak); the macOS update feed carries the right checksums after stapling, so auto-update works again (reported by @zhanning68-stack); Linux deb installs keep the chrome-sandbox setuid bit and AppArmor profile (reported by @1103409364); a file saved to an SMB share no longer ends up hidden (reported by @Bohanfree); the theme surface paints before the renderer loads and the folder-tree menu opens beside the pointer (@HThanh-how); the AI PDF icon shows at 100% DPI (@aniruddhaadak80, reported by @ibeey); Electron updated to 43.8.3 (asked by @toyamarinyon).
Thanks to @tokg-venv, @aniruddhaadak80, @DuBearte, @widechaos, @barathrajd, @HThanh-how, @ilya-bogin-keenable for the contributions, and to everyone who filed reports and requests.
Downloads
- macOS Apple Silicon:
GenOffice-0.12.115-arm64.dmg - macOS Intel:
GenOffice-0.12.115.dmg - Windows x64 (most PCs,
- v0.12.29GenOffice v0.12.292026-10-22 · 2026-10-22 14:11 UTC
查看更新说明
GenOffice v0.12.29 stable desktop installers.
What's New
- Docs: page breaks land where Word puts them across a 50-document production sample (headings stay with their table, rows split at legal cuts, contextual spacing crosses table boundaries, TOC entries and numbered indents follow the style chain, Aptos/Malgun/Calibri-substitute/Nirmala UI metrics, Korean autospace); DOCX→PDF export no longer drops content (reported by @jeff-jiang-pointures) and body text no longer overlaps a header picture (reported by @x86law-dev); edit header/footer table cells in place, insert a picture from the Header & Footer tab and resize inline pictures in headers, footers and cells; the table corner handle scales row heights too; custom (w14) list formats survive reuse and re-save (reported by @lkopenec); read and write document properties and a pasted field keeps its instruction (@tokg-venv); saved Zotero citations stay editable in Word and WPS (@tokg-venv) and Mendeley fields fold like Zotero's.
- Sheets: VLOOKUP over a table or defined name no longer goes blank after a save (reported by @putude), same for DOLLAR and other locale functions; CSV export writes the real values instead of width-fitted displays; one Increase Decimal click no longer jumps to 10 places; Convert to Number survives the save; the status bar shows Sum/Average again; keyboard focus returns to the grid after a ribbon command; the View tab shows every display toggle (@tokg-venv); a password-protected workbook is reported as such (@charan-rathore); XML spreadsheets under a legacy name open (@tokg-venv); a picture in a note survives the next save (@tokg-venv); opening a large workbook uses a fraction of the memory.
- Slides: chart data labels, data tables, secondary-axis formats, CJK category wrapping and legend placement match PowerPoint; a chart carries its workbook so PowerPoint's Edit Data works (@MidsummerYU); real 3D models, stored as PowerPoint stores them (@MidsummerYU); table-style fonts and "X Variable" font names resolve correctly; opening a deck no longer parses every system font, cutting memory on open.
- PDF: saving retries a locked rename and falls back to an in-place write on Windows (reported by @hou0).
- Markdown / HTML: the open file reloads when another program changes it on disk (asked by @ch-ynn); the theme menu stays inside the window (reported by @qgzln, fixed with @tokg-venv); paper themes keep their own ink colour in a light UI; disabled quick-access buttons look disabled.
- AI: Home Ask AI builds and edits real files through the bundled CLI, with a task card, attached files and labelled tool chips; skills: import from a folder, zip or a single SKILL.md, a Skills section in Settings with 40 recommended document skills, and a composer menu to attach them (import groundwork by @tokg-venv); Keenable as a web-search backend (@ilya-bogin-keenable); MiniMax defaults to M3.1 Flash (@octo-patch); loopback providers skip the proxy (@tokg-venv); the knowledge-base panel lists its conversations (@tokg-venv).
- App: long-idle background tabs sleep to free memory and the file indexer retires when idle; Cmd+Q quits on the first press with a Docs tab open (reported by @luolenbin); Linux deb/rpm installs keep per-type file icons (reported by @Pojlekc); one Settings entry with ⌘, in every app's menu (@tokg-venv); the resource watchdog no longer re-prompts for a stable document.
Thanks to @tokg-venv, @MidsummerYU, @ilya-bogin-keenable, @octo-patch, @charan-rathore for the contributions, and to everyone who filed reports and requests.
Downloads
- macOS Apple Silicon:
GenOffice-0.12.29-arm64.dmg - macOS Intel:
GenOffice-0.12.29.dmg - Windows x64 (most PCs, Intel/AMD):
GenOfficeSetup-v0.12.29-x64.exe - Linux AppImage:
GenOffice-0.12.29.AppImage - Linux Debian/Ubuntu:
genoffice_0.12.29_amd64.deb - Linux Fedora/RHEL:
genoffice-0.12.29.x86_64.rpm - Windows on Arm only (Snapdragon X and other ARM64 PCs): `GenOfficeSetup-v0.12
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
GenOffice is a free, open-source alternative to Microsoft Office for macOS,
Windows and Linux. It opens and saves native .docx, .xlsx and .pptx
files, edits PDF, Markdown and HTML, and puts an AI agent next to every
document — not a chat box bolted on the side, but an editor that reads the
file, makes the change, and shows you exactly what it touched. ODF files
(.odt, .ods, .odp and the .ott/.ots/.otp templates) open as
editable OOXML copies, and so do legacy Word .doc/.dot files and Hancom
documents (.hwp, .hwpx); the imports are open-only — saving writes OOXML,
never the source format.
- Real formats, byte-preserving. Only what you edit is rewritten. Everything else in the file survives byte-for-byte, so documents keep working in Word, Excel and PowerPoint.
- AI you can review. Edits land as tracked changes and diffs with one-click rollback. Spreadsheets get live formulas, not pasted numbers. Decks and pages are generated onto the canvas and stay fully editable. Hide a Docs selection or a Sheets cell range from the model and the AI sees only a named placeholder; the original words stay in the file and come back. Hiding covers this app's AI — the CLI, MCP tools and headless export read the file directly and still see these words.
- Local by design. Files open, edit, save and convert on your machine. PDF → Word / Excel / PowerPoint, Markdown → Word and HTML → Word all run on-device. Only the AI calls leave the machine, to the provider you choose.
- Find files by what they say. The home screen searches the names,
folders and full text of your
.docx,.xlsx,.pptx, PDF, Markdown and HTML files from a local SQLite index, CJK included. Optionally, the top hits are reranked by TypeSafe Jev, the System One judgment model, so the file that answers your question comes first. - Ask your files, with sources. Star a set of documents and Ask AI on the home screen answers questions across them, citing the file behind every claim so you can open it and check.
- Your keys or none. Sign in with Genspark and skip keys, or bring your own key for Claude, OpenAI, Gemini, DeepSeek, Kimi, GLM, Qwen, Doubao, MiniMax, Grok, Mistral, OpenRouter, Requesty, Opper, Cheaper Inference, Atlas Cloud, or any OpenAI-compatible endpoint, local servers included.
- Scriptable and agent-ready. The app ships a
genofficecommand line and a skill for Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf, so a coding agent can create, convert, read and edit real Office files on your machine without opening a window.
Get it: macOS (Apple Silicon and Intel) · Windows (x64 and Arm) · Linux (deb, rpm, AppImage) — details and requirements in Download.
Demo
Six apps, one AI panel, a file search reranked by TypeSafe Jev, an Ask AI that answers from your starred files with sources, and a command line for your coding agent. Every screenshot is the real app on macOS, with the AI driven from the prompt you can read in the panel.
1 · Docs — open and edit .docx with an AI you can review
2 · Sheets — .xlsx with live formulas and charts, not pasted numbers
3 · Slides — from a prompt to a .pptx deck
Slide Show → Record narrates the deck slide by slide, with pause and
resume. The narration and the auto-advance timings it measures are saved into
the .pptx, and PowerPoint plays them back the same way.
4 · PDF — edit PDF text in place, convert PDF to Word on-device
5 · HTML — an AI page and UI builder, design brief first
Say what the page is for and who it is for. The AI proposes a design brief
first — hook, palette, typography and style directions — then builds a single
self-contained .html file against those tokens.
6 · Markdown — a block editor over plain .md, with Ask AI
Linked notes, the way Obsidian does it. [[wiki links]] click through to
the note they name, typing [[ offers note-name completion, and ![[…]]
embeds a note or a picture inline. A Backlinks panel lists every note that
points at the open one, and the Graph view maps the links of the whole
vault.
7 · Search — find the file that answers the question, with TypeSafe Jev
Every file in your work folder is indexed on-device: names, folders and the extracted text of Word, Excel, PowerPoint, PDF, Markdown and HTML files, in a SQLite full-text index with CJK-aware tokenizing. Switch on Jev search reranking and the top 20 local hits are judged by TypeSafe Jev, the System One model that returns one calibrated relevance score per document in a single call instead of generating text. The list is reordered by that score; if the call fails or times out, the local order stays.
8 · Ask AI — your starred files, answered with sources
Star the files you work with and the home screen's Ask AI treats them as a knowledge base. Ask a question in plain language; the agent searches the starred files, reads the ones it needs and answers with a citation after every claim. Click a citation and the file opens in the right app. Attach files to the question by dragging, pasting or from the + menu — images go to the model as visual input — and every question is kept as its own conversation: switch between them, start a new one, delete one, the list survives a restart.
Ask AI searches the same on-device full-text index as
Search
and reads files in pages, so the model only sees the hits and the passages it
asked for, through the provider you chose. It can also call the built-in
genoffice CLI to build files outright; each one appears as an artifact card
under the answer, and a click opens it.
9 · CLI — your coding agent drives GenOffice, on your machine
GenOffice ships a genoffice command line and an agent skill. Install the
skill and Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode or
Windsurf can create, convert, read and edit real Office files through the
same engines as the apps, without opening a window.
10 · MCP — the same tools over the Model Context Protocol
Every genoffice command is also an MCP tool. Claude Code, Claude Desktop,
Cursor and any other MCP client can start genoffice mcp themselves, with no
skill to install and no window open, and get 29 tools plus the op references
as resources. A second, HTTP server inside the app lets an agent build a Word
document in a visible editor tab while you watch.
Why GenOffice
- Open source, Apache-2.0, built in the open on GitHub.
- Yours to run. Native apps for macOS, Windows and Linux; files stay on your disk and every edit, save and conversion happens on your machine.
- Real Office files. Native
.docx,.xlsxand.pptx, byte-preserving: the parts of a file you did not touch are copied exactly as they were. - An AI that edits the document itself. Tracked changes in Docs, live formulas and charts in Sheets, slides drawn onto the canvas, every AI turn a snapshot you can roll back.
- Your model, your key. Sign in with Genspark, or bring a key for Claude, OpenAI, Gemini, DeepSeek and more, local servers and any OpenAI-compatible endpoint included.
- PDF done properly. Edit text inside the page, and convert PDF to Word, Excel or PowerPoint on-device, with system OCR for scans.
- Markdown and HTML too, with the same AI panel and local export to Word.
- Search that finds the answer, not the keyword. Full-text search over every document in your folders, indexed on-device, with optional reranking by TypeSafe Jev, the System One judgment model.
- Ask AI across your files. Star the files that matter and ask questions in plain language; every answer cites the file it came from, one click away.
- Skills. Ready-made skills, or your own
SKILL.md, attached from the + menu of any AI panel. - Scriptable. A
genofficecommand line, an agent skill and an MCP server put every engine at the service of Claude Code, Claude Desktop, Codex, Cursor and other agents, still on-device. - Free, for individuals and teams alike.
AI backends
Sign in with Genspark and there is nothing to configure: model calls route through the Genspark proxy (Claude, GPT and Gemini families) and the agents get web and image search, image generation, and image/audio/video analysis.
Or bring your own key. Settings → AI lists Claude, OpenAI, Gemini, DeepSeek, Kimi, GLM, Qwen, Doubao, MiniMax, Grok, Mistral, OpenRouter, Requesty, Opper, Cheaper Inference, Atlas Cloud, SiliconFlow, PPIO, Command Code and OpenCode Zen/Go, plus a custom slot for any OpenAI-compatible endpoint (base URL + key), including local model servers. Search and media have their own per-capability providers under AI Media & Search: Serper, Serply, SearchApi, Tavily, Parallel, Keenable, Exa or Firecrawl for web search, and OpenAI, Gemini, Doubao/Seedream, GLM, Grok, Qwen, MiniMax, Stability, FLUX or any OpenAI-compatible images endpoint for image generation and image/video analysis, plus DeepSeek V4.1 Flash for image analysis.
TypeSafe Jev reranks the home screen's file search. Under AI Media & Search →
Local file search, switch on Jev search reranking and pick an endpoint:
OpenRouter (model typesafe/jev-1.13) or
TypeSafe's own API. The key is stored only on this device. It is off by
default; when on, the excerpts of the top 20 local hits are sent for judgment
and nothing else leaves the machine.
Parallel works without an account: its free Search MCP (rate-limited) is the default web search whenever no Genspark login or search key is configured, and it runs ahead of the DuckDuckGo scrape. Select Parallel under Web search and enter a Parallel key to use the Search API instead. Keenable is keyless too; a key only raises the rate limits.
The whole suite ships light, dark and system themes. Themes only change what is on screen: exports, prints and saved files always keep the document's own colors.
Skills
A skill is a SKILL.md that tells the AI how to do one job well: a weekly
report, an NDA, a lesson plan. GenOffice ships a set of them and takes your own,
in the same format coding agents use.
- Settings → Skills. Install a recommended skill, or Import a
folder, a zip or a single
SKILL.md. Nothing runs on import. The All tab lists the whole recommended catalog in one place, with descriptions that follow the app language. - In a chat. Open the + menu next to the composer of any AI panel, pick Skills, tick one, send. The skill goes along with that message only.
Command line and agent skill
Everything the apps can do to a file, the genoffice command line can do from
a terminal: inspect, convert, create, read and edit Word, Excel, PowerPoint,
PDF, Markdown and HTML on the same engines, headless. It installs with
GenOffice, needs no runtime of its own, and never sends a document anywhere.
Paired with the bundled agent skill, it turns a coding agent into a
document worker that produces real Office files instead of Markdown
approximations.
Works with: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf out of the box, any other agent that reads skills, and, through the MCP server, Claude Desktop and every MCP client.
Install the skill
| How | What happens |
|---|---|
| Settings → Integrations in the app | Lists the agents found on this computer; one click writes the skill into each one you choose. An Update button appears when a GenOffice release ships a newer skill. |
| Download as zip on the same page | The layout claude.ai, the Claude desktop apps and other assistants accept as an uploaded skill. |
npx skills add genspark-ai/genoffice | Installs from this repository into any skills-compatible agent. |
Then start a new chat and ask for a document. The skill teaches the agent when
to reach for genoffice, how to read a file before editing it, and how to
check its own work.
Quickstart from the terminal
genoffice --version
genoffice info report.docx --json # headings and blocks; or sheets, slides, pages
genoffice convert report.md --to pdf # md/html/docx/xlsx/pptx → pdf, pdf → docx/xlsx/pptx/md/html, odt/ods/odp → docx/xlsx/pptx, doc/dot → docx, …
genoffice create --type docx --from notes.md --out notes.docx
genoffice create --type xlsx --from table.json --out sales.xlsx # "=SUM(B2:B9)" cells stay live formulas
genoffice docs read report.docx --range 0-9 --json # then `docs apply --ops edits.json` edits in place
genoffice docs compare original.docx revised.docx --out redline.docx # the differences as tracked Word revisions
genoffice render report.docx --out shots/ # one PNG per page, to look at what you made
genoffice open sales.xlsx # hand the result to the editor
Every command prints a one-line summary, or a single JSON object with
--json. Edits are atomic: a rejected op leaves the file untouched and comes
back with a guided error. genoffice help lists the current command surface;
the full reference is packages/cli/README.md.
What the agent actually runs
The Solar System deck in the demo took one prompt in Claude Code. Behind it, the agent followed the skill's staged workflow and the CLI checked every stage before the next one started:
genoffice capabilities --json # which cloud tools GenOffice has configured
genoffice guide slides design # the deck workflow and layout library
genoffice image "the eight planets in a row …" --aspect 16:9 --out deck/assets/cover.jpg
genoffice slides check deck/outline.json --json # 8 pages, no findings
genoffice slides check deck/pages/01.json --json # builds one slide, audits overflow and overlap
… # one page file per slide, fixed until each check is clean
genoffice create --type pptx --spec deck/pages --outline deck/outline.json --out deck/solar-system.pptx --json
genoffice slides render deck/solar-system.pptx --out deck/shots --json
genoffice slides audit deck/solar-system.pptx --json # 8 slides, no layout issues
genoffice slides replace deck/solar-system.pptx --slide 4 --spec deck/pages/05.json --json
genoffice open deck/solar-system.pptx
No model call happens inside genoffice: the agent does the thinking, the CLI
does the building and the checking, and the result opens in GenOffice or
PowerPoint as an ordinary .pptx.
MCP server
The same commands are available as Model Context Protocol tools, for assistants that cannot run a terminal or that you would rather not give one. There are two ways in, both shown with copy-ready snippets in Settings → Integrations → MCP:
| Way | What it is |
|---|---|
A · genoffice mcp (recommended) | A stdio server the assistant starts itself; GenOffice does not need to be open. One tool per command (info, convert, create_docx, create_xlsx, create_pptx, create_pdf, docs_read / docs_apply / docs_check, sheet_*, slides_*, render, guide, search, image, media, open) plus the staged deck flow deck_start → deck_page → deck_build → deck_replace. Ops, specs and Markdown are passed inline, so a client without a file system still works. |
| B · Local HTTP server | Runs inside the GenOffice app on http://127.0.0.1:3093/mcp (Streamable HTTP, with legacy SSE). Its tools drive a visible Word editor tab: create_session, insert_content, replace_blocks, apply_ops, read_document, save_session, and you watch the document take shape. Off by default; switch it on in the same settings pane. |
C · genoffice mcp --http | The stdio tool set as a Streamable HTTP server for clients on other machines: a container, a sandbox, a shared box on your network. Files travel with the calls: PUT /files/<name> uploads one and returns a URL, every file parameter takes an http(s) URL, and a tool that writes a file hands it back as a download URL plus, when small, the bytes as an MCP resource. --host 0.0.0.0 opens it to the network, --token protects it. |
# Claude Code
claude mcp add --transport stdio genoffice -- genoffice mcp
// Cursor, Claude Desktop or any other MCP client
{ "mcpServers": { "genoffice": { "command": "genoffice", "args": ["mcp"] } } }
# On the machine that has GenOffice (private network; add --token for a shared box)
genoffice mcp --http 3093 --host 0.0.0.0 --token "$GENOFFICE_MCP_TOKEN"
# From the client: upload, then use the URL wherever a tool takes a file
curl -T report.docx -H "Authorization: Bearer $GENOFFICE_MCP_TOKEN" http://server:3093/files/
# → { "url": "http://server:3093/files/<id>/report.docx", ... }
# docs_read({ "file": "http://server:3093/files/<id>/report.docx" })
# docs_apply(...) → output_url, downloadable with curl -o
Over HTTP every session gets a private scratch folder, relative paths and deck
folders resolve inside it, open is not offered, and with
GENOFFICE_ALLOWED_ROOTS unset the tools cannot leave the server's own file
store. render, convert to PDF and create_pdf still start a hidden
GenOffice process, so a headless host needs the app installed and a virtual
display (xvfb-run).
genoffice here is the CLI shipped inside the app (on macOS
/Applications/GenOffice.app/Contents/Resources/cli/genoffice; the settings
pane prints the exact path for your install). The server carries its own
workflow instructions and exposes the op references as genoffice://guide/*
resources, so no skill is needed; the skill and the MCP server can coexist and
the assistant picks one. Cloud features (search, image, media) still go
through the provider configured in GenOffice; everything else runs locally, and
GENOFFICE_ALLOWED_ROOTS confines every tool to the folders you list.
The renewable-energy deck in the demo is what one prompt in Claude Code
with only the genoffice MCP server attached looks like from the protocol
side:
capabilities · guide(slides, spec) · guide(slides, design)
search(query) ×4 → IEA, BNEF and IRENA figures for the slides
search(query, images) ×7 · media(url, ask) ×7
→ candidate photos, each one checked to be a real photograph
deck_start(dir, style, outline) → outline checked: 8 pages to write
deck_page(dir, 0, page) … deck_page(dir, 7, page)
→ each page checked against the outline and the palette; one page sent again
deck_build(dir, out) → renewables-2026.pptx, no image failures
slides_audit(file) · slides_render(file, out)
→ no layout findings; 8 PNGs come back as image content
deck_replace(dir, n, page) ×3 · slides_render(file, out)
→ three pages fixed after looking at the renders
Thirty-eight calls, about thirteen minutes, and the assistant never touched a
shell: the figures, the photos, the guides, the checks and the renders all
travelled as MCP tool results. Only search and media left the machine, to
the provider configured in GenOffice.
Download
| Platform | Requirements | Download |
|---|---|---|
| macOS — Apple Silicon (arm64) | macOS 11+ | Latest .dmg (arm64) |
| macOS — Intel (x64) | macOS 11+ | Latest .dmg (x64) |
| Windows (x64, most PCs) | Windows 10+, Intel/AMD | Latest -x64.exe installer |
| Windows on Arm (ARM64) | Windows 11 on Arm (Snapdragon X and similar) | Latest -arm64.exe installer |
| Linux — Debian / Ubuntu | x86_64, glibc 2.34+ (Ubuntu 22.04 or newer) | Latest .deb |
| Linux — Fedora / RHEL / openSUSE | x86_64, glibc 2.34+ (Fedora 35+, RHEL 9+, Leap 15.6+) | Latest .rpm |
| Linux — other distributions | x86_64, glibc 2.34+, FUSE 2 | Latest .AppImage |
All builds come from main; the macOS and Windows installers are signed.
Older versions are on the Releases page.
The deb installs with apt — it pulls in the dependencies and adds GenOffice to the applications menu:
sudo apt install ./genoffice_<version>_amd64.deb
On Fedora / RHEL-family / openSUSE, install the rpm instead:
sudo dnf install ./genoffice-<version>.x86_64.rpm # Fedora / RHEL family
sudo zypper install ./genoffice-<version>.x86_64.rpm # openSUSE
The deb and rpm also add blank templates for KDE Plasma's Dolphin: right-click
in a folder → Create New lists GenOffice Document, GenOffice Spreadsheet
and GenOffice Presentation. They live in /usr/share/templates and are
removed with the package.
The AppImage runs in place: install the FUSE 2 runtime
(sudo apt install libfuse2; on Ubuntu 24.04 the package is libfuse2t64),
make the file executable, then run it:
chmod +x GenOffice-<version>.AppImage
./GenOffice-<version>.AppImage
On a Chromebook, the same packages run inside the Linux environment (Crostini) — docs/platforms/chromeos.md has the details.
How it works
Seven Electron apps — Docs, Sheets, Slides, PDF, Markdown, HTML and the
tabbed shell — share one engine layer of pure TypeScript packages plus a Rust
sidecar for .xlsx. The original file is always the source of truth: edits
are applied as narrow patches, and everything the editor did not touch
survives the round trip untouched.
open docx ─► archive original by hash (never touched)
─► parse word/document.xml into a block tree, each block anchored to its original XML
─► Tiptap editor (manual + AI editing, dirty tracking)
save ─► dirty blocks → OOXML fragments (referencing existing styles only)
─► splice into the original document.xml; untouched blocks keep their bytes
─► repack the zip; every other entry is copied byte-for-byte
The package-by-package tour (docx/pptx engines, pdf2docx, html2docx, the
agent core and providers) lives in CONTRIBUTING.md.
Legacy and ODF files open as converted copies
Formats GenOffice cannot write back — legacy Word .doc/.dot, Hancom
.hwp/.hwpx, Excel 97 .xls, .tsv, legacy PowerPoint .ppt, and the
OpenDocument family (.odt, .ott, .ods, .ots, .odp, .otp) — are
imports, not native files.
Opening one converts it on your machine into a .docx, .xlsx or .pptx
copy and opens that copy; the original is never read again and never written.
- Docs and Slides ask where to put the copy first (the sibling
.docx/.pptxnext to the original by default), so every later Save lands there. A.pptconverts with its text as editable boxes in the original slide order and size; shape geometry, images and text formatting are not carried over yet. - Sheets opens the converted workbook straight away and routes the first Save
through Save As to a fresh
.xlsx..csvis the exception: it keeps its identity and Save writes values back to the.csv, as Excel does. - The conversion is one-way and can drop features the source format carries
but OOXML does not.
.doc,.hwpand the ODF formats show a confirmation dialog saying so; tick "Convert without asking next time" to skip it, and "Ask before converting legacy files" in Settings → General turns it back on.
Development
npm install
npm run fixtures # generate test .docx fixtures
npm test # engine + app unit tests (docs/sheets/slides need no display)
npm run typecheck # tsc --noEmit across every workspace
npm run dev # all six editors + shell against Vite dev servers
npm run dev:docs # a single app (same pattern works per workspace)
npm run dist:mac # package macOS dmg (regenerates third-party notices)
npm run dist:win # package Windows nsis installer
npm run dist:linux # package Linux AppImage + deb + rpm
The sheets app additionally needs a Rust toolchain for its xlsx sidecar
(cargo on PATH); npm run build -w @genoffice/sheets compiles it
automatically. See CONTRIBUTING.md for the checks every
change must pass and how pull requests land.
Community
GenOffice is in active development and your feedback shapes it.
- Report a bug or request a feature in GitHub Issues.
- Join the GenOffice group chat on GenTeam to talk to the team and other users.
- Follow @merrickbuilds on X for release notes, demos and what is being built next.
- Star the repo if GenOffice is useful to you — it is the best way to support the project.
FAQ
Yes. GenOffice is free and open-source under the Apache-2.0 license — no trial, no paid tier for the apps themselves.
Yes. GenOffice opens and saves native .docx, .xlsx and .pptx files.
Saving is byte-preserving: parts of the file you didn't touch are written
back byte-for-byte, so documents keep working in Microsoft Office.
Legacy .doc/.dot, .xls and .ppt files open too, as converted
.docx/.xlsx/.pptx copies — see Legacy and ODF files open as converted
copies.
Document editing is fully local — files never leave your machine to be opened, edited, saved or converted. The AI features (agents, search, image tools) need a network connection, with either a Genspark sign-in or your own model API key.
Yes — real PDF text and image editing that rewrites the page content stream with the original fonts preserved, not cover-up annotations.
Yes — entirely on-device: PDFium character-level extraction plus geometry-based layout analysis, no cloud service, no upload. Scanned pages are covered too: on macOS and Windows the system OCR reads them, so they convert to editable text rather than a page image.
Yes. Besides the keyless Genspark sign-in, GenOffice supports bring your own key for Claude, OpenAI, Gemini, DeepSeek, Kimi, GLM, Qwen, Doubao, MiniMax, Grok, Mistral, OpenRouter, Requesty, Opper, Cheaper Inference, Atlas Cloud and OpenCode Zen/Go, plus any OpenAI-compatible endpoint — including local model servers. Search, image generation and image/video analysis take their own keys under Settings → AI Media & Search.
Yes. Settings → AI carries a Show the AI sidebar switch. Off, and every editor hides the sidebar; new documents stop opening it on their own. An explicit AI action — a ribbon button, a menu item — still opens the panel for that document, and closing it returns to hidden.
Yes — Export as Word in the HTML app produces a native, editable .docx
entirely on-device. The page is rendered in the built-in Chromium and reduced
to real Word structures: headings, paragraphs, lists, tables, cards, KPI rows,
form fields and page backgrounds; only visuals with no Word counterpart
(charts, icons, decorated boxes) are embedded as pictures.
Yes. GenOffice installs a genoffice command line that runs the same engines
headless: inspect, convert, create, read and edit documents from a terminal or
a script, with --json output for programs. The bundled agent skill teaches
Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf
to use it; install it from Settings → Integrations. See
Command line and agent skill.
Official packaged builds send limited usage analytics by default, and you can disable reporting at any time under Settings → General. Analytics never sends document content, file names, file paths, account identity or email addresses. See GenOffice Privacy for the complete event and data disclosures.
Security
See SECURITY.md for the process security posture (renderer sandboxing, IPC validation, external-link gating) and the threat models for AI-generated content.
Acknowledgements
GenOffice would not be possible without these open-source projects:
- Electron — the desktop runtime for every app.
- Univer (Apache-2.0) — the spreadsheet UI core that Sheets extends.
- PDFium (BSD-3-Clause, bundled via @embedpdf/pdfium) — the content-stream engine behind true PDF text and image editing.
- pdf.js (Apache-2.0) and pdf-lib (MIT) — PDF rendering and document assembly.
- Tiptap / ProseMirror — the block editors in Docs and Markdown.
- CodeMirror (MIT) — the source editor in HTML.
- Konva — canvas rendering for Slides and Sheets charts.
- HarfBuzz (wasm) — text-shaping metrics for complex scripts.
- calamine and IronCalc — the read and calc layers of the Rust xlsx sidecar.
- libeot (MPL-2.0) — the MicroType Express decoder for embedded PowerPoint fonts, ported to TypeScript.
- rhwp (MIT) — reads binary
.hwpdocuments into HWPX for the Hancom import; its WebAssembly build carries the Rust crates and the Volexity hwp-extract port listed in the third-party notices. "한글", "한컴", "HWP" and "HWPX" are registered trademarks of Hancom Inc.; GenOffice is not affiliated with Hancom. - React (MIT) — the UI layer of every app.
- Mermaid (MIT) and KaTeX (MIT) — diagrams and math in Markdown and Docs.
- opentype.js (MIT) — font parsing for metrics and glyph lookup.
- JSZip (MIT) and fast-xml-parser (MIT) — the OOXML container and XML layers.
- Fluent UI System Icons (MIT) — the icon set across the ribbons.
- electron-updater (MIT) — in-app updates.
- Liberation, Carlito, Caladea, and Noto CJK fonts (OFL/Apache-2.0) — bundled document fonts.
npm run notices regenerates the bundled third-party license summary
(tools/gen-third-party-notices.mjs); all runtime dependencies are
MIT/Apache-2.0/BSD-3-Clause/OFL.
License
GenOffice is licensed under the Apache License 2.0, with one
exception: the ee/ directory is reserved for future enterprise modules and
is covered by the GenOffice Enterprise License.
The GenOffice and Genspark names and logos are trademarks of Mainfunc, Inc. The Apache-2.0 license does not grant permission to use them (see section 6); forks should use their own branding.