TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
使用內建 AI 編輯 Word、Excel、PowerPoint 與 PDF 檔案。免費、開源的桌面辦公軟體,支援 macOS、Windows 與 Linux。立即下載 GenOffice。
AI 翻譯
Edit Word, Excel, PowerPoint and PDF files with built-in AI. Free, open-source desktop office apps for macOS, Windows and Linux. Download GenOffice.
生產力TypeScript · CSSGitHub @genspark-ai上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
免費、開源的 AI 辦公套件:Docs、Sheets、Slides、PDF、Markdown 與 HTML 編輯器,內建 AI 代理,另有 `genoffice` CLI 與代理技能,讓 Claude Code、Codex 與 Cursor 能在本機建立與編輯真實的 .docx/.xlsx/.pptx 檔案。自行提供金鑰。支援 macOS、Windows 與 Linux。
AI 翻譯
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.
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
The world's first full-featured open-source AI Office suite.
Word, Excel, PowerPoint and PDF files, edited by you and your AI, saved back in the real formats.
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.檢視完整 README ↗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; the import is open-only — saving writes OOXML, never
ODF.
.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.genoffice command 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.
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.
.docx with an AI you can review.xlsx with live formulas and charts, not pasted numbers.pptx deckSlide 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.
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.
.md, with Ask AILinked 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.
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.
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.
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.
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.
.docx, .xlsx and .pptx, byte-preserving:
the parts of a file you did not touch are copied exactly as they were.SKILL.md, attached from
the + menu of any AI panel.genoffice command 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.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 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, Tavily, Parallel, Keenable, Exa or Firecrawl for web search, and OpenAI, Gemini, Doubao/Seedream, GLM, Grok, Qwen, MiniMax 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.
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.
SKILL.md. Nothing runs on import.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.
| 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.
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, …
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.
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.
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.
| 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 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
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.
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.
GenOffice is in active development and your feedback shapes it.
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.
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.
See SECURITY.md for the process security posture (renderer sandboxing, IPC validation, external-link gating) and the threat models for AI-generated content.
GenOffice would not be possible without these open-source projects:
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.
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.