夜雨聆风学习资料网

ARTICLE · 1216273

GenOffice:免费开源的 AI Office,还能接进你的智能体

GenOffice:免费开源的 AI Office,还能接进你的智能体
最近在 GitHub 上发现一款免费的 AI Office 开源项目,叫 GenOffice。

一开始我没抱太大期望。这两年打着「AI 办公」旗号的项目太多了,点进去十有八九是网页编辑器旁边硬塞一个聊天框:你在左边写文档,它在右边陪你聊,聊完给你一段文字,你自己复制、粘贴、调格式。这不叫 AI 办公,这叫「把 ChatGPT 开在隔壁」。但是,GenOffice 不太一样。它的 AI 不是一个坐在旁边提建议的顾问,而是一个能直接伸手进文件里改东西的编辑——改完告诉你改了哪几处,不满意一键撤回。

GenOffice 开源项目目前在 GitHub 上 1 万多 Star、1200 多个 Fork,Apache-2.0 协议,TypeScript 写的,macOS / Windows / Linux 全平台都有安装包。

下面展开对它进行简单介绍一下,文章后面也会给出如何在 Windows 上装好,再把它接进你正在用的 AI 编程工具里。

1. 它凭什么不一样

1.1 原生格式,字节级保留

打开一个 .docx 文件,GenOffice 先按 hash 把原文件存档(从此不再改动),把 word/document.xml 解析成块树,每个块锚定到自己那段原始 XML。保存时,只有你真正改过的块会被重写,其余部分逐字节原样写回,zip里其他条目直接拷贝。

结果就是:你改一段话,文件拿到 Word 里打开,批注、修订、公式、墨迹、双栏排版、出血图,全都还在。.xlsx 和 .pptx 同理。

1.2 AI 的改动是可审阅的

每一轮 AI 操作都会留下可回滚的快照;打开「修订」模式,AI 的改动以 Word 风格的修订痕迹呈现,哪里删了、哪里加了,一清二楚。

Sheets 里更明显:你让它做汇总,它新建一张表,写进去的是真正的 SUMIF 公式,不是把算好的数字粘进去;43 项改动作为一个批次一次应用,一个撤销键全部回退。

1.3 本地优先

打开、编辑、保存、格式转换全在本机。PDF 转 Word / Excel / PPT 用的是本机 PDFium 字符级提取 + 基于几何的版面分析,不上传、不排队;扫描件走系统 OCR。

PDF 编辑也是真的在改文字——用原始字体重写页面内容流,而不是拿白色方块盖住原文再写新的。

唯一的联网部分是 AI 调用本身,而且发给你自己选的服务商。

2. 六个应用

应用
一句话
Docs
按 Word 的行度量分页,双栏章节、出血图、页眉页脚都能原样往返
Sheets
自研 Rust 引擎,数据透视表、切片器、条件格式、公式追踪
Slides
一句提示词直接生成到画布,产出真正的 .pptx,可继续用母版调整
PDF
原位改文字;PDF 转 Word/Excel/PPT 全在本机完成
HTML
先出设计简报,再按设计令牌生成单文件网页,可导出 PDF / Word
Markdown
Tiptap 块编辑器,Mermaid、KaTeX 齐全,存回仍是纯 .md

3. Windows 部署

第 1 步:下载安装包

打开 Releases 页面(https://github.com/genspark-ai/genoffice/releases),按你的机器选:

  • 绝大多数 PC:GenOffice-<版本>-x64.exe

  • 骁龙 X 等 ARM 机型:GenOffice-<版本>-arm64.exe

系统要求:Windows 10 及以上。官方说明 Windows 安装程序已签名。

第 2 步:安装并首次启动

双击 exe,按向导走完。首次启动会问你要不要登录 Genspark——可以先跳过,用「自带密钥」也行。

第 3 步:确认命令行工具在不在

GenOffice 安装时会带一个 genoffice 命令。打开 PowerShell:

genoffice --versiongenoffice help

如果提示「无法识别」,说明没进 PATH。去 设置 → 集成,那个页面会打印出本机 CLI 的完整路径——复制它,两种用法(PowerShell执行):

# 用法一:直接用完整路径(路径以设置页显示的为准)& "C:\Users\<你的用户名>\AppData\Local\Programs\GenOffice\resources\cli\genoffice.cmd" --version# 用法二:把所在文件夹加进用户 PATH,然后重开终端$dir = "C:\Users\<你的用户名>\AppData\Local\Programs\GenOffice\resources\cli"[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$dir", "User")

上面的路径是常见安装位置,请以设置页实际显示的为准,不同版本可能不同。

第 4 步:让 CLI 认识你的文件

编辑是原子性的,被拒绝的操作不会改坏文件。先拿一个副本试:

genoffice info .\report.docx --json        # 看结构:标题、段落块genoffice render .\report.docx --out .\shots\   # 每页导一张 PNG,肉眼验收genoffice open .\report.docx               # 交给编辑器打开

第 5 步:配 AI

设置 → AI 里二选一:登录 Genspark(免配置),或填自己的 key。国内用户可直接选 DeepSeek、Kimi、GLM、Qwen、豆包、MiniMax,也可以选「自定义」填任何 OpenAI 兼容端点。

第 6 步(可选):开本地 MCP 服务

在 设置 → 集成 → MCP 里打开「本地 HTTP 服务器」,地址是:

http://127.0.0.1:3093/mcp

默认是关的。打开它,智能体就能在一个可见的编辑器标签页里实时写文档,你亲眼看着它成形——这个后面第 4 部分会用上。

4. 接入智能体:Claude Code / Codex / Cursor / DeepSeek Harness

GenOffice 提供了两条路,选一条就行:

  • 路 A · stdio(推荐):智能体自己拉起 genoffice mcp 子进程,GenOffice 应用不用开着。

  • 路 B · HTTP:连 127.0.0.1:3093/mcp,需要打开 GenOffice 并开启本地服务器,好处是能看见文档成形。

两条路都是 29 个工具:info、convert、create_docx/xlsx/pptx/pdf、docs_read/docs_apply/docs_check、sheet_*、slides_*、render、search、image、media,外加分阶段的 deck_start → deck_page → deck_build → deck_replace。

4.1 Claude Code

stdio 方式,一行命令(PowerShell):

claude mcp add --transport stdio genoffice -- genoffice mcp

Windows 上要注意:裸 .cmd 有时拉不起来,用 cmd /c 包一层最稳:

claude mcp add --transport stdio genoffice -- cmd /c "genoffice mcp"

验证是否接入成功:

claude mcp list

进会话后问它「列出你能用的 genoffice 工具」,能看到工具清单就通了。

4.2 Codex

Codex 走配置文件。编辑 %USERPROFILE%\.codex\config.toml,编辑config.toml文件,写入下面内容:

[mcp_servers.genoffice]command = "cmd"args = ["/c", "genoffice", "mcp"]

如果 genoffice 不在 PATH 上,command 就直接写完整路径(注意 TOML 里反斜杠要转义,或改用正斜杠):

[mcp_servers.genoffice]command = "C:/Users/你的用户名/AppData/Local/Programs/GenOffice/resources/cli/genoffice.cmd"args = ["mcp"]

存盘后重启 codex,会话里让它「用 genoffice 做一份周报 docx」试试。

4.3 Cursor

全局配置放 %USERPROFILE%\.cursor\mcp.json,或项目内放 .cursor\mcp.json,编辑 mcp.json 文件,写入下面内容:

{  "mcpServers": {    "genoffice": {      "command": "cmd",      "args": ["/c", "genoffice", "mcp"]    }  }}

打开 设置 → MCP,能看到 genoffice 亮绿灯就是接上了。Cursor 的 Agent 模式里直接说「把这份 md 转成 pptx,十页」即可。

4.4 DeepSeek Harness(DSH)

DSH 的 MCP 是插件化的,走一个「patch 文件」覆盖层。新建一个 genoffice.cordis.yml,写入下面内容:

# 让 DSH 通过 stdio 拉起 genoffice MCP- insert:    - id: genoffice-mcp      name: '@deepseek-ai/dsh-mcp-client'      config:        serverName: genoffice        transport: stdio        command: cmd        args: ['/c', 'genoffice', 'mcp']        cwd: !!js process.cwd()

然后启动时带上它(PowerShell):

dsh web --patch "E:\path\to\genoffice.cordis.yml"

想长期生效,把这段 insert 合并进用户 patch 层(别覆盖已有文件,里面可能还有别的配置):

  • 只对某个 profile 生效:$DSH_HOME/profiles/<name>/cordis.patch.yml

  • 对本机所有 profile 生效:$DSH_HOME/cordis.patch.yml

其中,$DSH_HOME 默认是 ~/.dsh。

当然,也可以走 HTTP,省掉 stdio 的 Windows 兼容问题(记得先在 GenOffice 里开本地服务器):

- insert:    - id: genoffice-mcp      name: '@deepseek-ai/dsh-mcp-client'      config:        serverName: genoffice        transport: streamable-http        url: http://127.0.0.1:3093/mcp

接好后工具名会以 mcp__genoffice__<工具> 的形式出现。DSH 里还有一条更轻的路子:把 GenOffice 的 skill 放进项目的 .dsh/skills/ 目录,让它按 skill 的说明去调 genoffice 命令——不过对文档类任务,MCP 通常更省心。

4.5 其他 MCP 客户端

Gemini CLI、Claude Desktop、GitHub Copilot、OpenCode、Windsurf 等,凡是支持 MCP 的,配置形状都一样

{ "mcpServers": { "genoffice": { "command": "cmd", "args": ["/c", "genoffice", "mcp"] } } }

4.6 顺带说说 skill(另一条路)

除了 MCP,GenOffice 还带一份 agent skill,教智能体「什么时候该调 genoffice、编辑前先怎么读文件、怎么自查成果」。三种安装方式:

方式
适用
设置 → 集成,一键写入
最省事,会自动识别本机装的智能体
下载 zip,手动解压
claude.ai、Claude 桌面版等接受上传的客户端
npx skills add genspark-ai/genoffice
任何兼容 skills 的智能体

skill 和 MCP 可以共存,让智能体自己挑。

4.7 它们实际会干什么

官方演示里的太阳系 PPT,一句「做一份关于太阳系的八页演示文稿」之后,智能体跑的是这一串:

genoffice guide slides designgenoffice image "八大行星排成一列…" --aspect 16:9 --out deck/assets/cover.jpggenoffice slides check deck/outline.json --jsongenoffice slides check deck/pages/01.json --jsongenoffice create --type pptx --spec deck/pages --outline deck/outline.json --out deck/solar-system.pptxgenoffice slides render deck/solar-system.pptx --out deck/shots --jsongenoffice slides audit deck/solar-system.pptx --json

注意 render 那步——它把每页渲染成 PNG 回传给模型,让模型自己看自己做的幻灯片有没有问题,再 slides replace 修掉不满意的那几页。

关键是:genoffice 内部不发起任何模型调用。思考是智能体的事,构建和检查是 CLI 的事,最后的产物是一份普通 .pptx,PowerPoint 里照常能开。

5. 模型怎么接?国内用户看这段

第一条,登录 Genspark,零配置。 模型调用走它的代理(Claude、GPT、Gemini 系列),附带网页搜索、图片生成、图片/音频/视频解析。

第二条,自带密钥。 支持 Claude、OpenAI、Gemini、DeepSeek、Kimi、GLM、Qwen、豆包、MiniMax、Grok、Mistral、OpenRouter、Requesty、OpenCode Zen/Go,另有一个自定义槽位,可填任何 OpenAI 兼容端点——包括本地跑的 Ollama、vLLM、LM Studio。

也就是说,国内用户完全可以走「DeepSeek 或 Kimi 的 key + 本地模型兜底」,成本可控,数据也基本不出门。

搜索和媒体能力是分开配的:网页搜索可选 Serper 或 Tavily,图片生成和解析可选 OpenAI、Gemini、豆包/Seedream、GLM、Grok、Qwen、MiniMax 等。

最后,想要表达的是:AI 面板必须联网(编辑、转换、PDF 处理倒是全在本机);AI 生成的内容要自己复核——官方 SECURITY.md 里专门写了针对 AI 生成内容的威胁模型,翻译过来就是别把输出直接当终稿;默认有匿名统计,介意就去「设置 → 通用」关掉。它当然还不完美,但在「免费的 AI Office」这个位置上,目前是完成度最高的那一档——大多数同类产品只是在旧工作流外面糊了一层聊天窗口,而它把 AI 放进了编辑器内核,同时保留了人类说「不」的权力:快照、修订痕迹、diff、一键回滚,都是同一个信念的产物。

项目地址:

  • GitHub:https://github.com/genspark-ai/genoffice

  • 官网:https://genoffice.ai/

今天的文章写到这里就结束了,如果有问题,可以公众号留言哈。看到消息,我会发个您。如果本文对你有帮助,麻烦给个关注,一起💪!

相关学习资料