OpenAI Workspace Agents 发布:一个开源的 Lark/飞书版本已经替我们跑了半年

OpenAI Workspace Agents 发布:一个开源的 Lark/飞书版本已经替我们跑了半年

封面图:OpenAI Workspace Agents 官方发布页(2026 年 4 月 22 日)。

TL;DR — OpenAI 4 月 22 日发布了 Workspace Agents:共享的、常驻云端的 AI Agent,跑在 Slack 和 ChatGPT 里,为团队日常工作而做。这个形态和我们半年前开源的 Lark/飞书 Bot Marvin 思路几乎一致——只不过 Marvin 是 MIT 开源、接任意模型、能用任何 MCP 工具、跑在你自己的机器上。本文聊聊 Workspace Agents 确认了什么方向、以及一个可以直接自己跑起来的开源参考实现。

一个飞书群里的 30 秒

“上周哪篇博客带来的转化最高?”

市场同事在飞书群里问了这句话。一分钟内,群里多了一张机器人卡片:上周五篇博客按付费转化降序排列,附带跳出率异常标记,末尾一句 “第一名是第二名的 3 倍,可以考虑再开一篇姐妹篇”

这件事如果人自己做:打开 GA4 → 选报告模板 → 加维度 → 加筛选 → 导出 CSV → 粘进表格做对比。十分钟起步。Marvin(我们内部那只 Lark Bot)做这件事时,人只是在群里说了一句话。

这不是什么新技术。只是把 Agent 放进了它该在的地方——你已经在工作的那个 IM 里,而不是让人切到 Agent 的新界面去问。

OpenAI 刚把这件事官宣成了产品类别

昨天(2026 年 4 月 22 日)OpenAI 发布了 Workspace Agents。形态大致是:

  • 由 Codex 驱动,处理”你已经在做的工作”——准备报告、写代码、回消息
  • 常驻云端,你不在的时候它也在跑
  • 组织内共享,一次构建、团队复用,在 ChatGPT 和 Slack 里都能用
  • 支持定时任务 + 审批流
  • 5 月 6 日前免费,之后走 credit 计费
  • 定位是”GPTs 的进化”——很快可以把 GPT 转成 Workspace Agent

这篇发布最有意思的不是功能表,而是反复强调的一句话:Agent 应该进到团队已经在用的工作系统里,而不是把人拉进 Agent 的新界面

这个方向其实早就在收敛

过去两年 AI 产品的重心,正从 “Chat UI” 往 “工作流里的 Agent” 转:

  • Claude Code 把 Agent 放进了终端
  • Cursor / Windsurf / Zed 把 Agent 放进了 IDE
  • Linear Ask Agent 把 Agent 放进了项目管理系统
  • OpenAI Workspace Agents 现在把 Agent 放进了团队 IM

共识已经很明显:人不应该为了用 AI 而切换界面。AI 能用的正确位置,是你已经在那里工作的地方。

对我们来说,这个地方是 Lark/飞书。真实的协作、反馈、决策都发生在飞书群里。如果 AI Agent 不能进来,它等于不存在。

一个开源参考实现:Marvin

我们半年前开源了 Marvin——TypeScript 写的 Lark/飞书 Bot 框架,基于 Claude Code CLI。名字取自《银河系漫游指南》里那只对一切都不屑一顾但能力强到可怕的偏执机器人。

能力对照着 Workspace Agents 看:

Workspace Agents 的承诺Marvin 的实现
常驻运行(Always running)Session 持久化到磁盘,重启后自动恢复中断任务
在 IM 里团队共享Lark/飞书群里 @ 即用,实时进度卡片(⬜ → 🔄 → ✅)
定时 + 事件触发内置 cron 调度 + WebSocket 事件双触发
人工审批管理员可随时追加消息中断任务,Claude 带完整上下文恢复
组织权限 / 安全内置输出过滤:API Key、Token、内部 ID、内网 IP 自动脱敏

架构比想象的简单。Lark WebSocket 事件进 → Claude Code CLI 推理 → 实时进度卡片渲染出。完整架构图在 README

Marvin 已经在替我们干的两件事

一、飞书群里指派一张任务,它走完整个开发闭环

群里有人反馈 “这句文案不对”,或者直接 @Marvin 把事情交给它。Marvin 会:自己 grep 代码找到位置 → 开 feature 分支 → 提 PR → 等 CI → 合到 dev → 再提 PR 到 master → 合并 → 确认部署 → 回群里报告并关掉任务。

脱敏案例:某天飞书群里反馈一句中文 slogan 不合适,全流程从指派到生产上线都是 Marvin 自己跑完的。人只在群里说了一句话。

二、30 秒出一份 GA4 数据分析

就是开头那个场景。Marvin 通过 GA4 MCP 服务器直接调 report API,交叉维度、挑异常、回一份结构化小结。人工做同样的事需要十分钟起步,Marvin 30 秒到 1 分钟。

这件事最大的好处不是快——是把 “问一个数据问题” 的心理成本降到了零。以前你会想 “为了这个小问题值得打开 GA4 吗”,然后往往就不问了。现在直接在群里问一句。问的频次上来,决策自然更有数据支撑。

三、不止这两件

Marvin 能干什么,等于你给它接了哪些 MCP——内容研究(Firecrawl)、财务数据(freee)、文档抓取(Context7)、任意自建服务……今天接进来,明天它就会用。MCP 生态才是它真正的天花板。

四个不同的选择

把 OpenAI Workspace Agents 和 Marvin 并排看,参数对比没意思,形态上的哲学差异才是重点:

维度OpenAI Workspace AgentsMarvin
Agent 和模型的关系绑定 CodexOfox gateway,任意模型随时切
数据边界跑在 OpenAI 云跑在你自己的机器 / 服务器
IM 解耦主要 Slack(与 ChatGPT)lark.ts 是 adapter 层,换 Slack/Discord 不动核心
工具生态Codex + OpenAI 预设集成任意 MCP 服务器
可改性黑盒 SaaS人格、规则、pipeline 都是你 repo 里的文件

对很多团队来说,数据边界可改性是决定性因素。你飞书群里聊什么、代码仓库里有什么、GA4 或财务数据谁看得见——这些是组织的核心信息,大概率你不希望它经过一家外国 SaaS 的云。

Marvin 跑在你自己的机器上。我们这一只跑在办公室的一台 Mac mini 上,launchd 托管,没用任何外部云服务。

怎么跑起来

仓库:github.com/ofoxai/lark-claude-bot

如果你已经装了 Claude Code,把下面这段话直接粘给它,全程交互式引导:

帮我克隆并配置 https://github.com/ofoxai/lark-claude-bot:
1. 克隆仓库并进入目录
2. 运行 npm install
3. 复制 .env.example 为 .env
4. 问我要 Lark App ID、App Secret 和 Encrypt Key,填入 .env
5. 如果我还没有 Lark 应用,告诉我怎么在 open.larksuite.com 或 open.feishu.cn 创建
6. 配置好后运行 npm run dev 启动机器人

几分钟就能在自己的飞书群里 @ 到一只 Marvin。

收尾

OpenAI 的 Workspace Agents 把 “Agent 进工作系统” 这个方向立住了,这件事本身是好事——更多团队会开始认真思考这种形态。但 Agent 的未来不应该是 “一家 SaaS 厂商 + 一个模型 + 一个它帮你选好的 IM”。

Marvin 是这个方向的一个开源参考实现。顺便也是我们 Ofox 作为 AI gateway 的哲学在工作流侧的落地——一个 API 接所有模型,一套 Bot 骨架兼容所有 IM

代码在这:github.com/ofoxai/lark-claude-bot