CO

catcatuncle/openworkbuddy

开发工具
371 stars 质量 62 趋势 45NOASSERTION

Open-source Claude Cowork / Codex alternative — a local-first AI office agent that turns one request into real PPTX, DOCX, XLSX and HTML files.

概览

OpenWorkBuddy 本机优先的 AI 办公工作台,把你的资料和要求变成可打开、可修改的文件。 给经常做周报、PPT、表格和文档的人,也给需要自托管的团队。 使用你选择的模型,查看执行过程,在成果区核对交付文件。 ▶ 做一份项目汇报 PPT · 下载安装包 · 项目网站 · 文档 · English 个人非商用、学校和公益机构免费;公司及个人商用须获 商业授权 。模型与媒体服务的费用由所选服务商决定。 :一台能运行应用的电脑,以及一个可用的模型服务、已安装的本地模型或已登录的本机 CLI。用 API 时需要自己的 Key。本例用文字和简洁图形生成 PPT,不需要生图、视频、消息渠道或额外连接器;准备 PowerPoint、WPS 或 LibreOffice,方便下载后打开检查。 1. macOS / Windows 在 Releases 选择适合芯片的安装包:Windows 安装版 *-win-setup.exe,免安装版 *-win-x64-portable.exe / *-win-arm64-portable.exe;macOS 用 .dmg。Linux 用下方源码方式或 Docker 部署。 2. 首次启动注册账号;在「设置 → 模型」选择服务商、填写准确型号和 API 地址、添加 Key,再测试连接。已有本机 CLI 的用户也可在「设置 → 智能体」选择它。 3. 选择 Craft 执行模式,粘贴下面的任务。完成后在「成果文件」预览或下载 project-update.pptx,用演示软件打开核对四页内容,再试一句“把第 4 页的下周计划改成两列表格,保留其他页”。 :磁盘上有非空的 project-update.pptx;PowerPoint、WPS 或 LibreOffice 能打开,四页内容与输入一致、文字可编辑、排版无溢出;第二次要求能更新同一份文件的第 4 页。看到聊天回复或“安装完成”,都还未达到这次任务的成功标准。可复制的任务文件:中文 / English。 :从开始安装计到首次打开且核对通过,分别记录下载、启动、模型配置和任务等待。“三分钟”是优化目标,实际时间取决于网络、模型准备情况和任务执行,当前没有发布实测成功率。 看到服务已启动后,打开 http://localhost:3800,继续上面的第 2、3 步。

README

OpenWorkBuddy 本机优先的 AI 办公工作台,把你的资料和要求变成可打开、可修改的文件。 给经常做周报、PPT、表格和文档的人,也给需要自托管的团队。 使用你选择的模型,查看执行过程,在成果区核对交付文件。 ▶ 做一份项目汇报 PPT · 下载安装包 · 项目网站 · 文档 · English

个人非商用、学校和公益机构免费;公司及个人商用须获 商业授权。购买授权:[email protected] · 微信:agi_smith。模型与媒体服务的费用由所选服务商决定。 界面流程演示;首次成功耗时按下面的任务实测。


快速开始:做一份项目汇报 PPT

前置条件:一台能运行应用的电脑,以及一个可用的模型服务、已安装的本地模型或已登录的本机 CLI。用 API 时需要自己的 Key。本例用文字和简洁图形生成 PPT,不需要生图、视频、消息渠道或额外连接器;准备 PowerPoint、WPS 或 LibreOffice,方便下载后打开检查。

  1. 安装并启动。 macOS / Windows 在 Releases 选择适合芯片的安装包:Windows 安装版 *-win-setup.exe,免安装版 *-win-x64-portable.exe / *-win-arm64-portable.exe;macOS 用 .dmg。Linux 用下方源码方式或 Docker 部署。
  2. 连接模型。 首次启动注册账号;在「设置 → 模型」选择服务商、填写准确型号和 API 地址、添加 Key,再测试连接。已有本机 CLI 的用户也可在「设置 → 智能体」选择它。
  3. 复制任务,打开结果。 选择 Craft 执行模式,粘贴下面的任务。完成后在「成果文件」预览或下载 project-update.pptx,用演示软件打开核对四页内容,再试一句“把第 4 页的下周计划改成两列表格,保留其他页”。
请做一份 4 页的项目汇报 PPT,保存为 project-update.pptx。
汇报对象:项目负责人。项目:示例网站上线。
第 1 页|封面:示例网站上线——项目进展汇报。
第 2 页|本周完成:上线产品页;修复移动端菜单。
第 3 页|当前进展:正在补充用户指南。
第 4 页|下周计划:完成英文版;收集 5 条试用反馈。
要求:16:9、中文、简洁商务风;正文使用可编辑文本,
每页一个重点、字号适合投屏、无文字溢出;保留原始事实,不补造数据。
写完确认文件存在,并在成果区提供可打开的文件。

成功标准:磁盘上有非空的 project-update.pptx;PowerPoint、WPS 或 LibreOffice 能打开,四页内容与输入一致、文字可编辑、排版无溢出;第二次要求能更新同一份文件的第 4 页。看到聊天回复或“安装完成”,都还未达到这次任务的成功标准。可复制的任务文件:中文 / English。

计时方式:从开始安装计到首次打开且核对通过,分别记录下载、启动、模型配置和任务等待。“三分钟”是优化目标,实际时间取决于网络、模型准备情况和任务执行,当前没有发布实测成功率。

卡住时先看这里

卡在哪 下一步
系统阻止首次打开 按 安装与启动 对应系统的说明处理
npm ci 在 Electron 下载处失败 核对网络与 Node 版本,查看 源码启动排错
服务启动报端口占用 macOS / Linux 用 PORT=3801 npm start;Windows cmd 用 set PORT=3801 && npm start,打开新端口
测试连接失败,或任务报上游错误 核对服务商的 API 地址、型号、Key 和额度,见 模型配置
任务在等批准或答复 查看输入框上方的审批卡或收件箱,处理后继续
回复说完成但找不到文件 确认当前项目,在成果区和工作目录核对文件;让助理检查 project-update.pptx,不要直接把这次计作成功

跑通后再试 核心场景,或阅读 用户指南。觉得有用可以 Star 收藏;要收到新版本通知,设置 Watch → Custom → Releases。

字号、主题和显示密度可在「头像菜单 → 外观」调整。

HTML 内嵌预览使用隔离的临时存储(localStorage、sessionStorage 各最多 64 MiB,关闭后清除)。需要让网页保存业务数据时,点预览上方的「手动在浏览器打开」;它会启动仅本机可访问的服务并打开当前网页,数据可跨页面刷新保留。此时使用浏览器原生存储配额,具体上限因浏览器而异;重要数据仍应使用网页自己的导出/备份功能。

你说一句,它交给你

你说一句 它交给你
帮我出一份 Q3 复盘 PPT,数据用这个 Excel 读表 → 算 → 一个能直接放的 .pptx
调研国内 AI 陪伴产品,出一份报告 联网搜 → 逐个打开读 → Markdown / Word
把这份材料做成手机上能看的网页 写 HTML → 起本机服务 → 扫码就能看(成品)
每天 9 点抓行业新闻,做成晨报发我飞书 定时任务 + IM 推送,错过了会补跑
做个 30 秒产品宣传片,竖版横版各一份 填表挑时长、画幅、声音 → 配音、动效、合成 → .mp4

[!NOTE] 多任务并行、目标验收、👍👎 进自进化、双层记忆、权限档位、IM 远程指挥、桌面宠物…… 全部能力见 功能清单。

为什么是它

长这样

「同一个人,换四个场景,手里举块写着字的牌子——要像随手拍的,别像 AI 图」

难的不是画人,是四张里得是同一个人、牌子上的中文不能糊。它先出一张,再用看图工具真去读自己刚生的那张(不是凭记忆吹),确认了才照这个方向铺开其余三张。

「做个湖南旅游攻略网站,14 个市州一个都不能少」

**** —— 点开就能逛。一个 HTML 加一个图片文件夹,不挂任何外部 CDN,扔到静态托管上就是一个站。这不是截图拼的示意图,是它交出来的那份东西本身。

「我要去北京玩三天,给我做一个旅游规划,用地图组件」

回答里的行程直接画成一张行程卡:按天切换,地图上按顺序标好每个地点,右边是带照片的地点卡片。点「打开路线」,这一天的几站按顺序整条带进地图,站名和卡上一样;国内默认用高德打开,旁边能换成 Google(上面第二张就是),国外开 Google 地图;「发到手机」出二维码,扫了在手机上接着走。右上角切到「时间线」,一天从上午排到晚上。不填 Key 也能用;在 设置 → 地图 填了高德 Key,国内地点更准。

「每天早上七点,把今天的天气和该注意的事发到我飞书」

应用运行时,定时任务可自动执行;每趟过程和通知送达状态都在「自动化 → 运行记录」。飞书主动通知需在助理设置保存机器人凭证和接收 ID;详见 IM 与定时任务。

怎么做到的、本机 Claude Code 当发动机长什么样 → 三个案例,拆开讲

创作无限画布

从一张图、一段视频或一组素材开始:卡片里写描述、连接参考、生成、做变体或继续做视频。短剧工作流还支持剧本、角色、场景、分镜、配音与时间线,连线会成为实际生成输入。

角色定妆照、场景图都能在卡片里填写设定、选择图像模型。未指定型号时跟随当前窗口的默认模型,Agent 写入未配置型号时会被拦下。型号失效时会先提示重新选择;点「默认模型」可覆盖旧的剧本设置。使用与排错。

火山视频的人像审核错误会保留在卡片上;支持已审核素材 ID 的参考生成,首尾帧传输保留原图。人像素材与模式说明。

左侧点「无限画布」就能开始。空白处拖拽平移,Shift+拖拽框选,Shift/⌘ 点节点加选减选,展开底部 Agent 后可 @ 引用节点和素材。

卡片内可改模型、查看参考、对比版本;Agent 按需展开,空提示词不会生成。批量长高只让位一次,未选中的卡片也能看到生成失败原因。支持保留参考的复制、多选整理、小地图,以及画布与素材一起导出。操作与恢复方法见无限画布使用指南。

放服务器给团队用:多人、私有化部署

git clone https://github.com/CatCatUncle/openworkbuddy.git && cd openworkbuddy
bash deploy.sh --domain buddy.example.com # Docker + 自动 HTTPS

多租户、席位、额度、离职一键收权限都有。起来先注册管理员——第一个注册的就是超管。 → 部署 · 运维手册 · 多人协作 · 账号与部署运维

配模型:DeepSeek / 通义 / Kimi / Ollama / Claude Code / Codex

设置 → 模型,挑预设(OpenAI / Anthropic / OpenRouter / DeepSeek / 通义 / 智谱 / Kimi / 火山方舟 / Ollama),粘 Key,保存即生效。生图、配音、生视频另有一张表。对照表 → 配置模型

助理模式也可在模型菜单选择本机 Codex、Claude Code 或已配置的 API 模型;默认沿用当前引擎,单独切换不改变定时任务的设置。

[!IMPORTANT] Key 只存在 config.json,已在 .gitignore 里,别手滑提交。

命令行也能用

openworkbuddy 跟桌面版共用同一份配置、技能、记忆、连接器和会话——终端里起的活儿,手机和网页上看得见、插得上话;桌面上做到一半,终端里 openworkbuddy resume 接着往下走。

默认简洁显示,只保留当前进度、最终回答和本轮实际成果。/details 看工具过程,/usage 看用量,/verbose on 展开详情。生成网页后说“给我打开啊”,会直接交给本机程序打开;也可用 /open 1 或 /open 子目录/index.html。

npm link # 一次性:装成全局命令(也可以直接 node cli.js …)

openworkbuddy "帮我写一份本周周报" # 单发:跑完就退
openworkbuddy # 交互:连续对话,打一个 / 出命令菜单
cat error.log | openworkbuddy "这是什么问题" # 管道:管道内容当材料送进去
openworkbuddy -q "生成本周周报" > 周报.md # 文件里只有周报,没有进度条

openworkbuddy engines use claude-code # 换执行引擎:跑在你已经付过钱的订阅上,不烧 API 额度

单发和管道模式下不会反问你,脚本和 cron 里不会卡住。退出码说实话:0 成功、1 任务失败、2 参数写错、130 Ctrl+C,所以 openworkbuddy doctor && npm start 拦得住没配好的机器。

sessions / resume / engines / doctor / pair(扫码把手机连上来)/ worktree,以及 --mode --perm -C -f --json 等全部参数 → 命令行用法

它是怎么搭的

入口分别在 server.js、cli.js、src/im/;Agent 在 src/agent/agent.js,工具在 src/agent/tools.js 与 src/tools/。会话、配置和用量记在本机 data/,任务文件写入项目工作区。代码分层 → 代码架构;任务流程 → 实现细节

最新动态

  • 10-30 Office 预览增加分页、缩放与展开;DOC/WPS、XLS/ET 内置读取;可选“打开方式”不改默认关联。

  • 10-30 Office、PDF、OFD 可转 Markdown;OFD 上传保留后缀和字节;旧 PPT 提取有效文字,扫描页与截断会提示;CEB 需授权引擎。

  • 10-30 资料库预览接管阅读区域,收紧外框,标题和操作分行;关闭旧对话侧栏,取消过期读取,大表按工作表与每页 100 行显示。

  • 10-30 收件箱改按时间倒序,已读和旧错误不再挤掉最新消息;项目点击只切换选中态,快捷顺序保持稳定。CLI 历史独立保留,按启动目录识别项目,支持 --project。

  • 10-30 临时审批按账号和任务隔离,权限卡明确授权范围;目录外附件可导入工作副本,旧成果仅在路径、大小和时间证据一致时恢复读取。

  • 10-29 资料库分组与显示方式改为本地切换,不再重读目录和任务索引;复用文件行、缩略图及预览,并减少屏外内容排版。

  • 10-29 自动化编辑改用大正文面板,长任务按内容增高并在框内滚动,保存按钮始终可见,适配小窗口。

  • 10-29 项目侧栏展示当前及常用的 5 个项目,支持置顶、最近使用和搜索全部项目;完整列表上移到项目标题旁,编辑、移除收进菜单。

  • 10-27 修复无限画布同名图片串图:缩略图、放大图和右侧预览绑定原文件与项目;文件缺失不换图,切项目后忽略迟到素材。

  • 10-27 手机端应用:输入区适配可视高度,设置改横向导航,文件预览铺满屏幕,侧栏选择后自动收起。

格式支持与限制见文件预览与转换,完整历史见变更记录。

⚠️ 这个 agent 手里有 shell

它能跑命令、读写文件、上网,所以有命令审批、文件黑名单、URL 白名单、审计日志和四档权限;macOS 和 Windows 上,它跑的命令还套一层系统沙箱,读不到 Key 和账本。装别人的技能前会先过一遍静态体检,危险的默认不装——但它不是杀毒,装前自己读一眼 skill.md。 放公网前先读 安全,默认配置只为本机调。

交流群

用崩了、有想法、想一起改,进飞书群直接说:

一起把它做下去

  • 用崩了、卡住了,开个 issue,哪怕只贴一句报错——你以为「只有我遇到」的坑,多半所有人都在踩。贴之前扫一眼,别把 API Key 带上。
  • 10 分钟 写个技能:一个 Markdown 存成 skills//skill.md,存盘即生效,模板在这
  • 一晚上 挑个 issue 改:npm install && npm start 就跑起来,npm test 不用 API Key 也能全绿

项目结构、测试、PR 规范都在 参与贡献。不用先开 issue 问,直接发 PR。

商用授权 · 企业服务

[!IMPORTANT] 个人非商用、学校公益免费;公司使用(哪怕只在内部用)和个人商用,必须买商业授权。 公司可以免费试用 30 天(前提是还没用在实际业务上),长期用必须买。 购买商业授权:发邮件至 [email protected],或添加微信 agi_smith。 请说明公司、使用场景和预计人数,微信备注「OpenWorkBuddy 商业授权」。细则见 COMMERCIAL-LICENSE.md。

你的情况 要不要买授权
个人非商用:自用、学习、研究、业余项目 免费
学校、科研机构、公益组织、政府机构 免费
公司评估试用:最长 30 天,还没用在实际业务上 免费
公司 / 团队用在实际业务里,哪怕只在内部 必须买
个人商用:个人接单、给客户干活、做付费产品或服务 必须买
做 SaaS 对外服务、打包售卖、给客户交付 / 外包 / 定制 必须买

买授权不解锁任何功能:只有这一份代码,没有功能锁、不倒计时,授权不联网验证。软件不向作者或任何第三方回传使用数据;检查更新时会去 GitHub Releases 查有没有新版(GitHub 能看到本机 IP)。 没授权就商用,权利人可以依法追究民事责任;未经许可删改版权声明,还可能单独构成侵权——依据和判例见 未授权商用的法律后果。

除了授权,我们还承接企业 AI 业务:

服务 做什么
企业 FDE(驻场工程) 工程师进你们团队,把 Agent 接进真实业务流程,跑起来再交接
AI 培训 企业内训,让团队把 AI 用进日常工作,不停在尝鲜
AI 落地咨询 挑场景、定方案、算成本;私有化部署、行业智能体都能谈

作者是前大厂 Agent 工程师,服务过跨境电商、制造业、AI 初创、私募金融机构、消费品巨头、国央企等客户。常驻深圳,欢迎来交流和考察。

📮 商业授权与合作:邮箱 [email protected] · 微信 agi_smith

从别家换过来:Claude Cowork、Codex、豆包办公的开源替代

在找 Claude Cowork、Codex、豆包办公、千问办公的开源替代,或者想给 DeepSeek 找一个 agent 外壳(harness)?每一家都写了一页老实对比,也写了什么时候还是用它更合适:

OpenWorkBuddy 是独立开源项目,跟上面这些公司都没有关联。

文档

首次成功的试用流程、计时口径与缺失指标 → 采用与反馈。

在线文档:用户指南 · 开发者指南 · 中英文项目网站

文档 一句话 文档 一句话
功能清单 全部能力、技能与工具 部署 服务器 / Docker / 反代
案例 上面那几张图怎么做出来的 多人协作 多租户、账号、权限、额度
安装与启动 安装包、源码、常见卡壳 安全 审批闸门、黑白名单、审计
配置模型 各家 base_url / 模型名对照 数据同步与搬家 数据存哪、换电脑怎么搬
命令行用法 CLI 参数、管道、--json、cron 开源与商业版边界 买授权到底买到什么
扩展 写技能、接 MCP、装插件、建专家 路线图 接下来做什么、怎么算做完
IM 与定时任务 飞书 / QQ / 企微 / 微信 / 钉钉 变更记录 一句话一条,最新在上
实现细节 agent 主循环怎么转的 参与贡献 项目结构、测试、提 PR
安全基线 数据落在哪、谁看得见、哪些没做到 远程访问 手机/外网连本机,两个开关默认关着
账号与部署运维 开号、离职、找回密码、备份升级、带几家组织 代码架构 代码分几层、谁能引谁、新代码放哪

同一个作者的其他项目

  • toolward —— 给 agent 用的技能 / MCP 连接器静态安检:37 条规则分六族,零运行时依赖。npm i -g toolward 装上,OpenWorkBuddy 自动把它当第二把尺子用,不装也完全不影响。同样是 PolyForm Noncommercial。

协议

个人非商用、学校公益免费;公司使用(哪怕只在内部)和个人商用要买商业授权,公司可先免费试用 30 天。购买商业授权请发邮件至 [email protected],或添加微信 agi_smith(备注「OpenWorkBuddy 商业授权」)。

协议 PolyForm Noncommercial 1.0.0,细则和没授权商用的后果见 COMMERCIAL-LICENSE.md。部署配置、脚本、技能模板另按 MIT(清单);名称和图标不在授权范围内。

复制或分发本软件的任何部分,都要带上协议全文(或网址)和 LICENSE 开头所有以 Required Notice: 开头的行。

官方发布只有 GitHub 上的 CatCatUncle/openworkbuddy 及其 Releases。非官方渠道的安装包不由作者提供更新和支持,使用者的授权以 PolyForm Noncommercial 1.0.0 的条件和商业授权为准。

KylinWork 等项目未经作者许可拿本项目代码二次开发,还擅自改了开源协议,作者已要求其全网下架。

Copyright © 2026 开发者猫叔 (DeveloperCatUncle)

免责声明

独立开源项目,与腾讯及其 WorkBuddy 产品无任何关联,不含其代码或素材;对接的 IM 均走公开接口。借鉴来源见 NOTICE.md。有问题请开 Issue。

支持这个项目

顺手把它转给一个天天手搓 PPT、周报、会议纪要的同事,比一百次曝光管用。

贡献者

感谢每一个动手改过这个项目的人。想加入他们:参与贡献。

Star 历史

在 GitHub 查看完整 README

推荐工具

换一个关键词,或者移除筛选条件。

安装

npx skillfish add catcatuncle/openworkbuddy
新手?先看 mcpskill.org 教程 →