GitHub Explorer
📰 公众号已发布 2026-07-31

GitHub推荐:6.5 月 19K stars:一个 YC 团队怎么把「Claude Cowork」做成可团队共享的开源桌面 Agent

GitHub: https://github.com/different-ai/openwork

一句话总结

OpenWork 是 YC S21 团队 Different AI 在 OpenCode 执行引擎之上搭出的开源桌面 Agent「团队共享层」——一个本地优先、可一键打包成 URL 丢给同事复用、还能通过 MCP 喂给 Codex/Claude Code/Cursor 的「跨客户端 AI 工作流底座」。

值得关注的理由

  1. AI Agent 时代少见的「架构可解释」工程:4,103 commits / 870 commits past 30d / 19k+ stars / 270+ 评估用例——这不是「demo 项目」,是一套把桌面 Agent 落地的完整范式(Local-first / Composable / Ejectable / Sharing-oriented),可逐层拆解
  2. 真正稀缺的是「团队共享 / 组织治理」这一层:竞品(Claude Cowork 闭源、Open Interpreter 单机、OpenDevin 偏 SWE、OpenClaw 偏单机)都没做透「一个链接把 skills + MCP + plugins 共享给整个团队」——OpenWork 把这一层做成 first-class 抽象(Den API + Workspace Bundle URL),并把 session-permission / SSO / SCIM 全跑通
  3. 三项可抄的工程机制:Fraimz(用 CDP + 视觉模型做 agent 任务的 frame-by-frame 验证,过 release gate)、MCP-OAuth 闭环(RFC 7591 + 8705,audience 隔离路由,外部 IDE 接入零摩擦)、EdDSA JWS 邀请 URL(0 运行时依赖的桌面互通 token)——这三条任意一条搬走都能立竿见影

项目展示

OpenWork desktop app

桌面应用主界面截图——单窗口装下聊天、计划、Diff 审阅、终端执行、连接管理。

OpenWork Den organization control plane

Den 组织控制面截图——团队管理员视角,能看到成员、连接的服务、发布的 capabilities。

仓库另有 app-demo.gif(1.5 MB)演示端到端操作,但因体积过大未直接嵌入;可在 README 顶部体验。

项目画像

维度数据
GitHubhttps://github.com/different-ai/openwork
Star / Fork19,444 / 1,998
Watcher / Open PRs76 / 272
代码行数844,419 行(TypeScript 33.2% + TSX 12.6% = 46% 真业务、JSON 37% 主要是 pnpm-lock、i18n 与 Tauri 配置、JavaScript 13.2%、其余 4%)
文件数2,823 个源码文件
项目年龄6.5 个月(2026-01-14 至今)
开发阶段密集开发期(近 30 天 870 commits / 月均 631)
贡献模式单人主导 + 协作(CEO Benjamin Shafii 占 45%、前 5 名 ~50% 含 release-bot / GitHub Action)
热度定位大众热门(6.5 个月达成 19k+ stars,属 2026 上半年爆发型)
默认分支dev(非常规,非 main)
部署档位Desktop / Cloud(Den)/ Enterprise 三档
质量评级代码[良好] 文档[优秀] 评测[突出(270+ flow + Fraimz 视觉验证)]

作者视角:为什么存在这个项目

创始人/作者背景

Different AI 是 YC S21 批 AI 创业公司(注册组织 different-ai,账号 2022-11-18,bio 「Fun with LLMs「,US)。联合创始人是 Benjamin Shafii(CEO,事实核心 maintainer,4,943 commits = 64% 全部 commit)和 Nis Frome。早期产品是 AI 内容生成 / 营销自动化,2026 年初整体转向桌面 Agent 赛道——以 openwork 为旗舰,重新组织技术栈(fork OpenCode 当执行引擎、自建 Den 做组织平面、自造 Fraimz 做评测),把 44 个公开仓库几乎全部围绕 openwork 生态分仓(openwork-station、opencode-browser 527★、agent-bank 243★、handsfree、agent-watch、the-factory、owpenbot 等)。

CEO 亲自写 64% commits 这一信号非常少见——意味着项目是 founder-driven,不是「雇人做的开源项目」。Benjamin Shafii 同时持有 YC 背书与极强的工程 commitment,是这个项目最值得信任的赌点之一。

问题判断

Different AI 看到了三件事别人没合并起来做:

  1. Anthropic 推出的 Claude Cowork 是闭源、锁定单模型、不支持团队共享——100% 把用户钉死在自己的 Claude API 与自己的 Workspace 里。这等于把 2026 年最大的桌面 Agent 红利窗口让出去给开源生态
  2. Open Interpreter / OpenDevin 都没有「GUI + 团队 + 治理」这一层——你可以本地跑 agent,但你没法把它「交付给团队里不写代码的同事」
  3. 没有一个桌面 Agent 平台认真处理「与现有 IDE 互操作」——大家都在抢「一个客户端打天下「,Different AI 反过来想:「我的价值不在客户端本身,而在客户端之间的’能力层’」

时机上,2026 上半年 MCP 生态刚被 Anthropic 推火、Claude Cowork 刚出、Windows 是 16 亿台 PC 的未开发市场——这三件事同时发生,给了一个 6 个月的爆发窗口。这就是为什么 6.5 个月能冲到 19k stars。

解法哲学

Different AI 明确选择了以下 5 条(来自官方设计哲学文档),同时明确不做:

做:

  • Local-first——文件留在本机,prompts 直连 LLM provider
  • Composable——skills + plugins + MCP + commands + templates 是 first-class 抽象,可任意组合
  • Ejectable——任何时刻「弹出」到 OpenCode CLI,不锁死在 GUI 里(这是给技术用户的退路)
  • Sharing-oriented——「One link for the whole team「,把整个 workspace 打包成 URL 丢出去
  • Evaluated——270+ 评估 flow + Fraimz 视觉验证,不让任何一个 PR 没经过可视化验证就上线

不做:

  • 不做自家模型——深度绑定 OpenCode 作为执行引擎,把模型层完全交给上游(Anthropic / OpenAI / 自部署)
  • 不做闭源商业版——ee/apps/ 是 enterprise edition 但代码仍开源
  • 不做单模型锁定——50+ LLM BYOK,从 Claude 到本地 Ollama 都行
  • 不做「应用商店式发布「——Extensions 是 source + resources + setup + contributions + lifecycle 五元组统一抽象,不同于 VS Code marketplace 的形态

战略意图

OpenWork 在 Different AI 更大图景里是「桌面 Agent 入口公司」的旗舰产品。商业化路径三条腿:

  1. OpenWork Den(Cloud 档)——托管 workers、Organization Control Plane、Marketplace
  2. OpenWork Enterprise(EE 档)——SSO / SCIM / 自定义 inference / 私有部署
  3. OpenWork Share(URL bundle)——非工程团队也能消费 agent 能力,零终端、零安装

这跟「开源是个营销手段「的范式不同——开源是产品形态本身(Desktop / Den / Enterprise 三档均开源),Den / Enterprise 的运营服务收费。CEO 50% 兼任 head of engineering + head of BD 是这个商业模式的硬证据。

官方文档完整覆盖在 openworklabs.com,DeepWiki 索引了 15 大节架构(含 Fraimz、Runtime Modes、Permission System、Internationalization)。

核心价值提炼

创新之处

按「新颖度 × 实用性」排序:

  1. Fraimz — 用 CDP + 视觉模型做 agent 任务的 frame-by-frame 验证
    • 通过 Chrome DevTools Protocol 在浏览器 agent 跑任务时逐帧抓图,与预设 success criteria 比对,作为 PR gate
    • 代码位置:evals/packages/fraimz/src/validate.ts:1-130 + evals/packages/cdp/src/cdp.ts:1-120 + evals/runner/runner.ts:1-100
    • so what:agent 产品最大的「我不知道它是不是真的做对了「的盲区,Fraimz 把「对/不对「做成可验证信号,是 agent 工程化的关键一步
  2. MCP-OAuth 闭环 + audience 隔离路由
    • https://api.openworklabs.com/mcp/agent 同时支持 RFC 7591 动态客户端注册(任何 IDE 都能接)+ RFC 8705 资源指示器(OAuth token 按 audience 路由到 /mcp / /mcp/agent / /mcp/admin 三个独立作用域)
    • 代码位置:ee/apps/den-api/src/mcp/{index,agent,auth,search}.ts
    • so what:让 Codex / Claude Code / Cursor / ChatGPT 用同一个 endpoint 接进来,把 OpenWork 从「另一个客户端「变成「客户端之间的能力层「——这是生态护城河的根
  3. EdDSA JWS 邀请 URL
    • 用 Ed25519 自签 JWS 编码 invite token(payload = 权限 + 过期 + 双方 ID),0 运行时依赖(packages/connect-link/src/node.ts:1-180),且带 replay guard 文件 + loopback-only insecure allowance
    • so what:桌面应用之间互通常用方案是 OAuth redirect 或 deep link token,前者重、后者的安全责任散落各处;自签 JWS 把「权限声明「和「签名「打成一个 URL,零配置安装、不可伪造、可审计
  4. Ejectable 架构
    • apps/app 不是「一个大 React 写死一切「,而是一个薄 IPC 代理——所有真实操作都路由到 OpenCode CLI
    • so what:用户可以随时刻 opencode 命令行绕回底层,不被 OpenWork 锁死。这不是营销话术,是真在 runtime.mjs 层级把 CLI / GUI 写成同一份抽象
  5. Extension Manifest 五元组
    • 不管是 Claude plugin / OpenCode plugin / MCP directory / 手工配置,全部抽象成 source + resources + setup + contributions + lifecycle 同一份 schema
    • 代码位置:apps/app/src/app/extensions.ts:1-180
    • so what:开发者写一个 extension 自动在所有 IDE / 所有客户端生效——这是「能力市场「的工程前提

可复用的模式与技巧

可直接搬到其他项目:

  1. Electron 工厂模式——apps/desktop/electron/main.mjs 把 BrowserWindow / Tray / Menu / IPC / deep link / keychain 拆成 18 个 satellite factory,主进程成「组装器」而非上帝类
  2. Desktop-as-Bridge——桌面应用不是大前端,而是 同进程 HTTP/SSE bridge(runtime.mjs:1-1932),把 GUI、CLI、远程 Den 三者挂到同一条事件总线下,崩溃隔离 + 远程复用兼得
  3. Meta-MCP Facade——一个仅暴露 search_capabilities + execute_capability 两个工具的 MCP,对接整个 OpenAPI Catalog;IDEs 不需要为每个能力单独接 MCP
  4. CDP-Frame Proof——任何「agent 任务「都可以 puppeteer.connect → Page.captureScreenshot → 视觉模型比对,把 agent 正确性做成可验证信号
  5. EdDSA Self-Implemented JWS——把 crypto.sign('Ed25519', ...) 拼成紧凑 JWS,0 npm 依赖,桌面端邀请 token 不再依赖 jsonwebtoken
  6. desktop-bootstrap.json + 激活门控——三档 Desktop SKU(个人 / Den / EE)共用一个 binary,靠 desktop-bootstrap.json + 启动时检查激活
  7. 零运行时依赖的 Electron mirror——主进程把 connect-link.mjs 等关键脚本 静态镜像到 electron/dist,不再走 node_modules,减少升级断裂
  8. 资源隔离的 MCP 路由——/mcp /mcp/agent /mcp/admin 三个 endpoint 各自带 audience check,token 不可跨档位复用
  9. __ 前缀私有桥接方法——主进程 ↔ 渲染进程通过 bridge.on('__foo:action', ...) 暴露,私有方法约定前缀,零类型噪声
  10. Atomic Write + Replay Guard——所有配置文件写入都用「临时文件 → rename + fsync」并维护单文件 replay guard,避免毒丸配置把整个桌面弄崩

关键设计决策

值得学习的 trade-off:

决策选了什么放弃什么理由
桌面壳Electron 35(非 Tauri)小 binary、低内存放弃体积换 CDP / node-pty / keychain / deep link 一等公民支持
进程模型Desktop-as-Bridge(主进程是 HTTP 桥而非大前端)单进程简单放弃简单换崩溃隔离 + 远程 Den workers 复用
MCP 设计Meta-MCP(只暴露 search + execute)一个能力一个 MCP(更细)放弃细化换 schema 收敛、外部 IDE 接入摩擦为 0
邀请 Token自实现 EdDSA JWS(不用 jsonwebtoken)生态成熟度放弃生态换 0 runtime deps,桌面端 token 不带脆弱依赖
验证Fraimz = LLM 视觉验证 + release gate单元测试 / E2E 脚本放弃 fast feedback 换「agent 任务正确性「的硬信号
双轨开发apps/(OSS)+ ee/apps/(EE)单仓放弃统一换商业化分叉,monorepo 仍可共享 packages/
Extension五元组 Manifest(source/resources/setup/contributions/lifecycle)VS Code marketplace 那种放弃现成生态换 4 种 IDX(Claude/OpenCode/MCP/Manual)一处抽象

竞品格局与定位

竞品对比矩阵

维度OpenWorkClaude CoworkOpen InterpreterOpenDevinOpenClaw
开源✅ MIT-style(Other)❌ 闭源✅ BSD/MIT✅ MIT✅ MIT
GUI 桌面✅ Tauri+Electron✅ 仅 Anthropic 桌面❌ CLI only⚠️ Web✅ Electron
团队共享✅ Workspace URL Bundle❌ 限个人❌ 无⚠️ 弱❌ 无
MCP 互操作✅ 自建 + 暴露 Meta-MCP❌ 不暴露❌ 无⚠️ 部分❌ 无
多 LLM BYOK✅ 50+ 模型❌ 锁定 Claude✅ 多数✅ 多数✅ 多数
组织控制面✅ Den + SSO/SCIM❌ 无❌ 无❌ 无❌ 无
本地执行可审计✅ Local-first❌ 云端为主✅ 强✅ 强✅ 强
可视化 agent 验证✅ Fraimz gate❌ 无❌ 无⚠️ 弱❌ 无
三档部署Desktop + Den + EE❌ 单档❌ 单档❌ 单档❌ 单档
Stars / 社区19.4k / 1.3M dlN/A(闭源)59k30k数千

差异化护城河

  1. 「Meta-MCP + Fraimz + Workspace URL」三件套组合——这是竞品最难抄的。MCPOAuth 闭环已经有先发优势(Codex / Claude Code / OpenCode 官方文档已推荐 api.openworklabs.com/mcp/agent);Fraimz 是 agent 评测工程化的稀缺资产;URL bundle 是非工程团队消费 agent 能力的最低门槛
  2. EE/OSS 双轨 + 44 个生态 repo——是工程化深度的护城河,单人创业公司抄不动
  3. CEO 直接写 64% commits 的 founder commitment——竞品如果只是几个工程师拼凑,看不到这种强度

竞争风险

  • Anthropic 哪天把 Claude Cowork 的团队共享 + MCP 暴露做出来——openwork 最大的概念优势(开源 + 团队共享)会被一锅端
  • OpenCode 上游 fork 策略风险——如果 sst/opencode 自己做了桌面壳,openwork 的执行引擎层价值会被稀释
  • OpenWorker(吴恩达团队 2026-07-24 才公布)——品牌效应强 + DeepLearning AI 生态圈资源,长期最大变量,但当前没 GA
  • 国产 Cowork——本地化 / 中文用户体验有可能吃下中国市场

生态定位

OpenWork 在 2026 上半年的「桌面 Agent 入口之争」里定位为 「B2B 团队市场 / 跨 IDE 互操作层」——避开与 Open Interpreter(CLI 极客)、OpenDevin(SWE 工程师)、OpenClaw(单机用户)正面交锋,吃最稀缺的「多 LLM + 多客户端 + 团队治理」组合位的需求。

套利机会分析

  • 信息差:❌ 低——19k stars / 270 PR / HackerNews 已被广泛讨论,没有「发现窗口」
  • 技术借鉴:✅ 高——尤其 Fraimz(任何 agent 项目都该有的可视化 gate)、Meta-MCP(任何要做 AI 平台的项目都该学的 facade pattern)、EdDSA 自签 JWS(桌面应用之间互通的轻量方案)
  • 生态位:✅ 稀缺——「桌面 Agent 团队共享层」是个空白市场,竞品都没做透
  • 趋势判断:✅ 对路——MCP 生态 + Windows 16 亿台 PC + 多 LLM 这三件事的趋势都还没走完,openwork 已经站住位置

风险与不足

  1. Fix 占比 45.5% > Feature 28.0%——结合 issue 列表(#1103 infinite session loop、#612 v0.11.99 macOS session lost、Windows 安装失败 saga),稳定性是当前阶段最不稳定的环节。是 6.5 个月项目的常见痛,但对企业用户是 blocker
  2. Win/Mac/Linux 跨平台坑——PKGBUILD 270 次修改 + Windows session 历史 bug + AUR/Windows installer 反复 bump,说明「四端打包「是日常维护负担,未来一年会持续烧时间
  3. CEO 单点风险——64% commits 集中在 Benjamin Shafii,bus factor = 1,企业客户会问
  4. dev 分支 + CI 滚动 tag(2,353 tag / 100 release)——正式版本靠人工挑 milestone,自动化没完全收口;这条对生产环境选型是个信号
  5. AGPL-like / Other 许可证——LICENSE 非标准 OSI 标识,企业法务会卡(这是最高优先级的隐患)
  6. ee/apps/ 4,139 commits ——商业版与开源版同时跑,分叉维护成本高,未来融合/分叉压力会越来越大

行动建议

如果你要用它

  • 场景:3 人以上团队用 AI Agent 做运营/数据/客户支持,且团队里有非工程师——选 OpenWork Den(Cloud 档),让运营同事通过 Workspace URL 直接消费已经搭好的 agent
  • 场景:个人本地 agent + 想换模型 + 想用同一套到 Codex/Claude Code/Cursor——选 OpenWork Desktop,注意不要用最新版(dev 分支滚动),用 Releases 页面的稳定版
  • 场景:100+ 人企业 / 金融 / 政府——选 OpenWork Enterprise,先让法务核 license,再验 SCIM/SSO 集成
  • 不建议的场景:纯命令行极客(直接 Open Interpreter)、纯 SWE(直接 OpenDevin或 Aider)、Windows-only 重度用户(bug 密度仍高)

如果你要学它

重点关注以下 6 个文件/模块(按可学性排序):

  1. apps/desktop/electron/runtime.mjs:1-1932 — Desktop-as-Bridge 架构范本(runtime abstraction 怎么把 GUI/CLI/远程 worker 接到同一条事件总线)
  2. evals/packages/fraimz/src/validate.ts:1-130 + evals/packages/cdp/src/cdp.ts:1-120 — CDP-frame 视觉验证(agent 产品正确性工程化)
  3. ee/apps/den-api/src/mcp/{index,agent,auth,search}.ts — Meta-MCP facade(任何 AI 平台项目都该学的「薄 API 层「思路)
  4. apps/app/src/app/extensions.ts:1-180 — Extension Manifest 五元组(跨 IDE / 跨客户端抽象)
  5. packages/connect-link/src/node.ts:1-180 — EdDSA 自签 JWS 邀请 URL(桌面应用互通的 0 依赖方案)
  6. evals/runner/runner.ts:1-100 — 270+ flow 的评测 runner 范本(「评测驱动开发「工程化)

如果你要 fork 它

按可改进方向排序:

  1. 把 LICENSE 改清楚——当前 「Other「 是法律纠纷隐患,换 AGPL-3 或 Apache-2.0 都是方向
  2. session persistence + cross-platform 一致性——这是当前最大工程债(issue #612 反复 reopen),如果你能稳定复现并修好,可以成为 fork 的差异化点
  3. 回退 dev → main 为默认分支 — 当前非主流习惯对企业 onboarding 是 friction
  4. 补 README 一张端到端架构图——AGENTS.md + DeepWiki 的 15 节对新手不友好,一张图能省一周 onboarding
  5. 抽 Fraimz 成独立 npm package —— 这是 agent 产品通用的可视化 gate,本仓库用户只用到 den-api 没法独立 install,泛化后能反哺社区
  6. EE/OSS 边界文档化 — ee/apps/ 与 apps/ 的 split 边界目前在 PR review 里有歧义,做成 AGENTS.md 的「什么是 EE、什么不是「清单

知识入口

资源链接
DeepWikihttps://deepwiki.com/different-ai/openwork(已收录,15 大节架构文档齐全,含 Fraimz、Runtime Modes、Permission System、Internationalization)
Zread.ai未收录(403)
官方文档https://openworklabs.com(含 docs 子站 + start.md 一键安装指引)
关联论文无(应用层产品,无 arXiv)
在线 Demo无官方 Playground;安装脚本 curl openworklabs.com/start.md 一键落地

相关报告