OpenWorkBuddy 是什么
OpenWorkBuddy 是一个跑在自己电脑上的开源 AI 办公工作台:你说一句任务,它自己规划、调用工具、读写文件,最后交给你一个能直接打开的 PPTX / DOCX / XLSX / HTML 文件,而不是一段聊天记录。它的代码在 GitHub 上公开(CatCatUncle/openworkbuddy),既能装在自己电脑上单人用,也能用 Docker 部署到服务器给团队用。
这句话建议直接记住,后面所有判断都从这里出发:它不是"更聪明的聊天框",而是一个会落盘交付文件的执行体。
它和"云端办公助手"的第一个区别:文件在你的磁盘上
判断一个 AI 办公工具是不是真的"本地",不用看宣传语,看三件事就够了:
| 判据 | 怎么看 | OpenWorkBuddy 的实际情况 |
|---|---|---|
| 交付物落在哪 | 生成的文件是给你下载链接,还是直接写进本机目录 | 默认写进项目目录下的workspace/,可在「设置 → 工作目录」改 |
| 服务听哪个地址 | 默认监听0.0.0.0还是127.0.0.1 | 默认只听127.0.0.1,不对外网开放 |
| 配置和密钥存哪 | 存云端账号体系,还是存本机文件 | 存本机~/OpenWorkBuddy,Key 只写在config.json,已在.gitignore |
注意一句:本地部署不等于数据绝对不出机器。你用 DeepSeek、通义这类云模型时,完成任务所需的对话和材料仍然会发给模型服务商;只有接 Ollama 本地模型,这条链路才完全不出本机。这一点下面「FAQ」里还会说。
一、先确认你的机器够不够
| 项目 | 要求 | 说明 |
|---|---|---|
| 操作系统 | macOS / Windows 10、11 / Linux | Linux 只有源码和 Docker 两条路,没有安装包 |
| Node.js | 18 或更高 | 只有源码运行需要。安装版首次打开会自动注册openworkbuddy命令,用内置运行时,不用另装 Node |
| 磁盘 | 留出几百 MB 到 1 GB | Windows 安装包本身两百来 MB(x64 与 ARM 打在一起) |
| 模型 | 一个 API Key,或本机 Ollama,或已登录的 Claude Code / Codex | 三选一即可,不必都配 |
先自查 Node 版本:
node -v # 期望 v18.0.0 及以上低于 18 不用自己对版本号猜——直接启动会当场拦下来,告诉你机器上是哪个版本、该怎么升,不会跑到一半才抛一句fetch is not defined。
二、装法一:下载安装包(最省事,90% 的人走这条)
去 Releases 页面按系统选包:
| 系统 | 下哪个文件 |
|---|---|
| macOS · Apple 芯片(M1/M2/M3/M4) | OpenWorkBuddy-*-mac-arm64.dmg |
| macOS · Intel | OpenWorkBuddy-*-mac-x64.dmg |
| Windows 10/11 x64 与 ARM | OpenWorkBuddy-*-win-setup.exe(同一个包,装的时候自动选架构) |
| Windows 免安装(只在公司电脑不让装软件时用) | -win-x64-portable.exe/-win-arm64-portable.exe |
macOS 第一次打开被系统拦住怎么办
当前 macOS 发行包用的是本地签名(ad-hoc),没有走 Apple 公证,所以 Gatekeeper 会拦。处理顺序:
- 把
.app从 dmg 拖进「应用程序」; - 双击打开,看到提示后关掉它;
- 进系统设置 → 隐私与安全性,在下面找到被拦的条目,点「仍要打开」,按系统要求确认。
「仍要打开」这个按钮通常要先被拦一次才会出现,所以第一步不能省。受 MDM 管理的公司电脑可能需要管理员放行。
如果提示的是「已损坏,应将它移到废纸篓」,先去 Releases 重新下载一遍,不要给来路不明的文件重新签名。仍打不开时,跑这两条命令看是签名问题还是公证问题:
codesign --verify --deep --strict /Applications/OpenWorkBuddy.app spctl -a -vvv -t exec /Applications/OpenWorkBuddy.appcodesign查的是本地签名完整性,spctl查的是公证与 Gatekeeper 策略,两者不是同一项检查——前者过了、后者拒绝,是未公证发行包的正常表现。
Windows 第一次打开被 SmartScreen 拦住
在「Windows 已保护你的电脑」弹窗里点灰色小字「更多信息」,下面才会出现「仍要运行」。如果公司策略直接禁掉了继续按钮,那不是软件问题,得找设备管理员。
三、装法二:源码运行(要改代码、要接自己的模型网关就走这条)
git clone https://github.com/CatCatUncle/openworkbuddy.git cd openworkbuddy npm ci国内网络装 Electron 卡住是最高频的一步失败,先设镜像再装:
export ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ npm ci启动有三种跑法,按需选一个:
npm run app # 桌面版(Electron 窗口),自己用推荐这个 npm start # 纯服务端,浏览器开 http://localhost:3800 npm run cli -- "帮我写一份本周周报" # 命令行,适合塞进脚本和 cron桌面版和npm start的差别只有一层外壳:桌面版多了独立窗口、全局快捷键和内置浏览器渲染,服务端和界面是同一套。所以**桌面版调不通的时候,用npm start开浏览器往往能更快定位问题**——少一层外壳,日志更干净。
macOS / Linux 上还有个一键脚本,把查环境、装依赖、生成配置、起服务全包了:
bash install.sh源码目录跑起来后想用全局命令,执行一次npm link;之后目录改名了,再执行一次就能修复命令链接。
四、装法三:Docker 部署到服务器(企业私有化部署走这条)
给团队用、放内网、要 HTTPS,用仓库自带的部署脚本:
git clone https://github.com/CatCatUncle/openworkbuddy.git && cd openworkbuddy bash deploy.sh --domain buddy.example.com它会拉起 Docker、配好反向 HTTPS。起来之后第一个注册的账号自动是超级管理员,注册完默认就关闭了自助注册,后面的人要管理员开号。
这一步有三个企业环境里的常见坑,先记下来:
- 反代没关缓冲,界面一直转圈。SSE 流被 nginx 攒住了,加一行
proxy_buffering off就好。 - 生成的 Word/PPT 中文变方块。自己精简过 Docker 镜像的话,缺
fonts-noto-cjk,补上中文字体。 - 端口被占。Windows 上 Hyper-V / WSL 会预留成段端口,
netsh interface ipv4 show excludedportrange protocol=tcp能看到保留段,把server.port换到没被占的段(比如 3810)。
多租户、席位、额度、离职一键收权限这些在服务器模式下都有;单机模式则完全隐藏,不会给你一个用不上的后台。
五、五步跑通第一个任务(这一步别跳)
装完不等于能用。按这五步走,每步都有明确的通过标准,任何一步没过就别往下走。
第 1 步:注册第一个账号
打开应用或http://localhost:3800,注册。第一个账号自动是管理员。
第 2 步:配一个模型
进设置 → 模型,从渠道预设里挑一家(OpenAI / Anthropic / OpenRouter / 火山方舟 / 阿里云百炼 / DeepSeek / 智谱 / Kimi / Ollama),接口地址和协议会自动填好,你只需要粘 Key 和确认型号。
配完点「测一下」。这个按钮和真跑打的是同一个地址,测通了就是真能用,不是假握手。
想完全离线,就装 Ollama 拉一个模型,base_url填http://localhost:11434/v1,模型名写qwen3:8b这类你本机真装了的。
第 3 步:切到 Craft 执行模式
输入框上方能选模式。Craft 是执行模式——它会真的动手改文件、跑命令;别的模式更偏问答。第一次跑任务务必确认在 Craft 下,否则你会以为它"只会聊"。
第 4 步:下一条有验收标准的任务
别用「你好,介绍一下你自己」测试。用一条带明确交付物和验收标准的任务:
请做一份 4 页的项目汇报 PPT,保存为 project-update.pptx。 汇报对象:项目负责人。项目:示例网站上线。 第 1 页|封面:示例网站上线——项目进展汇报。 第 2 页|本周完成:上线产品页;修复移动端菜单。 第 3 页|当前进展:正在补充用户指南。 第 4 页|下周计划:完成英文版;收集 5 条试用反馈。 要求:16:9、中文、简洁商务风;正文使用可编辑文本, 每页一个重点、字号适合投屏、无文字溢出;保留原始事实,不补造数据。第 5 步:按四条标准验收
很多人在这里吃亏——看到聊天里回一句「已完成」就算成功,其实文件根本没生成。**成功标准只有一条:磁盘上有非空的project-update.pptx。**
四条一起核对:
- [ ] 文件真的存在,且不是 0 字节;
- [ ] PowerPoint / WPS / LibreOffice 能打开,不报修复;
- [ ] 四页内容和你给的事实一致,没有自己加数据;
- [ ] 文字是可编辑文本,不是整页图片,没有文字溢出。
再加一条进阶验证:让它「把第 4 页的下周计划改成两列表格,保留其他页」。能只改这一页、别的页不动,说明它的文件编辑是真编辑,不是重新生成一份。
六、命令行:同一份配置,三种用法
装完之后openworkbuddy这个命令和桌面版共用同一份配置、技能、记忆、连接器和会话——终端里起的活儿,手机和网页上看得见、插得上话;桌面上做到一半,终端里openworkbuddy resume接着往下走。
openworkbuddy "帮我写一份本周周报" # 单发:跑完就退 openworkbuddy # 交互:连续对话,打 / 出命令菜单 cat error.log | openworkbuddy "这是什么问题" # 管道:管道内容当材料送进去 openworkbuddy -q "生成本周周报" > 周报.md # 只把结果写进文件,不带进度条单发和管道模式下不会反问你,所以塞进 cron 不会卡住。退出码是说实话的:
| 退出码 | 含义 |
|---|---|
| 0 | 成功 |
| 1 | 任务失败 |
| 2 | 参数写错 |
| 130 | Ctrl+C 中断 |
因此可以写成openworkbuddy doctor && npm start——体检不过就不启动,适合放进开机脚本和 CI。
换执行引擎也很直接:
openworkbuddy engines use claude-code # 跑在已付费的订阅上,不烧 API 额度本机装了 Claude Code 或 Codex 的,不用另买 token,直接拿它当发动机。
七、九个常见报错,按这个顺序排
这部分是踩过的坑,按出现频率从高到低排。排错第一步永远是看日志:
~/OpenWorkBuddy/logs/boot.log # Windows: C:\Users\你\OpenWorkBuddy\logs\boot.log连这个目录都建不出来时,会退到系统临时目录写OpenWorkBuddy-boot.log。
| 现象 | 真实原因 | 处理 |
|---|---|---|
| 双击没反应,屏幕上什么都没有 | 启动早期就挂了,界面还没画出来 | 看boot.log最后几行;源码跑的再跑node cli.js doctor |
| Windows 免安装版停在「正在打开…」一两分钟 | 免安装版每次启动都要自解压四千多个文件,Defender 还会逐个扫 | 改用-win-setup.exe安装版,它只解压一次 |
| 双击安装包半分钟没动静 | 两百多 MB 无签名安装包正被 Defender 全量扫描 | 等一两分钟,别连着双击 |
| 双击后右下角闪一下就没影 | 360 / 火绒 / 电脑管家把无签名包拦进隔离区了 | 查安全软件的隔离区记录,核对来源后恢复 |
npm ci卡在 electron 下载 | 国内网络拉不动 GitHub 的二进制 | export ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ |
EADDRINUSE | 3800 被占 | PORT=3801 npm start;桌面版遇到会直接连已在跑的实例 |
| 窗口一直不出现,或出来一整片黑 | 显卡驱动画不出来(虚拟机、远程桌面、老显卡) | config.json的server里加"disable_gpu": true,或设OPENWORKBUDDY_DISABLE_GPU=1 |
| 提示「放数据的文件夹建不起来」 | 公司把用户目录重定向到网络盘,离线时写不了 | 设OPENWORKBUDDY_HOME指到本机可写目录 |
| 发消息报上游错误 | Key、base_url 或型号有一项不对 | 设置 → 模型 → 测一下,那里会当场验活 |
还有一个不是报错但很费时间的:提示「已经在运行了,但窗口没出来」,是上一次启动卡在半路、进程没退占着单实例锁。任务管理器(macOS 活动监视器)结束进程再打开即可。
八、升级与数据搬迁
| 你的装法 | 怎么升 | 数据会不会丢 |
|---|---|---|
源码跑(npm start/npm run app) | 先看 Git 状态;只有工作区干净且分支可快进时才git pull --ff-only && npm install,然后重启 | 不会,不用重装 |
| 安装包装(dmg / setup.exe) | 下新包覆盖安装一次 | 不会,配置和成果都在~/OpenWorkBuddy |
升级前有一条硬规则:**源码目录有本地改动或已分叉时,不要在目录里git pull/git reset/ 覆盖**。正确做法是另建一份干净副本,启动时把OPENWORKBUDDY_HOME指回旧目录,确认会话和成果都在,再整理旧改动。
备份就是拷走~/OpenWorkBuddy这一个文件夹:配置、账号、聊天记录、成果文件、装的技能和插件全在里面。卸载不会删它——里面是你的 PPT 和 Word,卸个软件不该顺手删掉。真要清干净,手动删这个目录。
和竞品比,它在哪一格
客观列一下,不吹不黑。各家定位不同,看你的场景落在哪:
| 维度 | OpenWorkBuddy | 豆包工作 | 千问办公 | Claude Cowork | DeepSeek Harness | Codex |
|---|---|---|---|---|---|---|
| 部署位置 | 本机为主,也可 Docker 上服务器给团队用 | 云侧为主,长任务可云侧持续运行 | 云侧平台 | 本机(访问你授权的文件夹) | 本机(Node 起的 Web UI) | 终端 / IDE / 云端 |
| 模型可选性 | 九家以上云模型 + Ollama 本地 + 本机 Claude Code/Codex 当引擎 | 自家模型 | 自家模型为主 | 绑定 Claude | 支持 DeepSeek / OpenAI / Anthropic 等 | 主要绑定自家模型 |
| 交付物 | 真文件:PPTX/DOCX/XLSX/HTML/图片/视频/音频 | 文档、表格、PPT、图片、视频、网页 | 文档、表格、PPTX、HTML | 文件与项目产出 | 取决于插件 | 代码与提交 |
| 源码与授权 | 源码公开,PolyForm Noncommercial 1.0.0,商用需授权 | 闭源 SaaS | 闭源 SaaS | 闭源订阅 | MIT 开源 | 闭源为主 |
| 二次开发 | 加能力 = 丢一个skill.md;工具、路由、IM 渠道都有明确落位 | 平台内扩展 | 平台内扩展 | 有限 | 「一切皆插件」 | 以代码任务为主 |
| 适合谁 | 要数据留本机、要换模型、要二次开发、要私有化部署的团队和个人 | 重度用飞书、要开箱即用的团队 | 阿里生态内、要企业 IM 打通的组织 | 已订阅 Claude、只要桌面文件操作的人 | 想自己搭 Agent 运行时的开发者 | 以写代码为主的工程团队 |
一句话结论:要开箱即用、在云上协作,选平台型产品;要数据留本机、要能改代码、要私有化部署,选 OpenWorkBuddy 这一类。
常见问题(FAQ)
Q1:OpenWorkBuddy 是免费的吗?
个人非商用、学校、科研机构、公益组织和政府机构免费。公司使用哪怕只在内部用,以及个人接单、给客户干活、做付费产品,都需要商业授权。公司可以先免费试用 30 天,前提是还没用在实际业务上。
Q2:一定要有 API Key 才能用吗?
不一定。三条路任选:云模型 Key、本机 Ollama 跑本地模型、或者本机已登录的 Claude Code / Codex 当执行引擎。完全离线只有 Ollama 那条路走得通。
Q3:本地部署是不是数据就绝对不出去了?
不是。默认只听127.0.0.1、文件写本机,这部分是真的;但你接云模型时,完成任务所需的对话和材料仍会发给模型服务商,接远程连接器同理。要完全不出机器,得配 Ollama 本地模型并断开远程连接器。
Q4:安装版还要装 Node.js 吗?
不用。安装版首次打开会自动注册openworkbuddy命令,用内置运行时。只有源码运行才需要 Node.js 18+。
Q5:Windows 免安装版为什么每次打开都很慢?
它每次启动都要把整个应用自解压到%TEMP%,四千多个文件,Defender 还会逐个扫描。能用安装版就用安装版。
Q6:能装在服务器上给一个团队用吗?
能。bash deploy.sh --domain 你的域名走 Docker + 自动 HTTPS,支持多租户、席位、额度、离职一键收权限,每个人还能绑自己的飞书/企微/微信。
Q7:它会不会乱删我的文件?
它手里确实有 shell,所以有四道闸:命令审批、文件黑名单、URL 白名单、四档权限,还有审计日志。macOS 和 Windows 上命令还套一层系统沙箱,读不到 Key 和账本。默认配置只为本机调,放公网前要先读安全文档。
Q8:装别人的技能安全吗?
装之前会先过一遍静态体检(37 条规则,危险的默认不装),但那不是杀毒软件。装前自己读一眼skill.md更稳。
Q9:更新会不会丢我的会话和成果?
不会。数据都在~/OpenWorkBuddy,覆盖安装不动它。源码升级前先看 Git 状态,有本地改动就另建副本、用OPENWORKBUDDY_HOME指回旧目录。
Q10:它和腾讯的 WorkBuddy 是什么关系?
没有关系。OpenWorkBuddy 是独立开源项目,与腾讯及其 WorkBuddy 产品无任何关联,不含其代码或素材。