OpenWork:2 万 Star 的开源版 Claude Cowork,一个 MCP 复用所有技能
OpenWork:2 万 Star 的开源版 Claude Cowork,一个 MCP 复用所有技能
看完你会发现,你之前的理解可能要更新了。
用 Claude Code 的时候配了一堆 Skill 和 MCP,切到 Codex 又得重来一遍。团队里每个人都在各自搭环境,技能没法共享,MCP 连接各配各的。这不是个别问题--现有的 Agent 生态里,"复用"这件事基本靠手动复制。
OpenWork 的解法很直接:加一个 OpenWork MCP 到任何 Agent,你的 skills、MCPs、连接的服务就能跨工具、跨团队、跨机器复用。2 万 Star,免费开源,macOS/Windows/Linux 全平台,定位是 Claude Cowork 和 Codex 的开源替代。
本文提纲
- OpenWork 是什么
- 核心问题:Agent 之间的能力孤岛
- 一个 MCP 统一一切
- 三种使用方式
- 技术架构:三层 monorepo
- OpenWork Den:团队级控制面
- 五个设计原则
- 上手体验
OpenWork 是什么
OpenWork 是 different-ai 开发的免费开源桌面应用,用于分享 AI 工作流。基于 OpenCode 驱动,是 Claude Cowork 的开源替代方案。
项目关键数据:
| 项目 | 值 |
|---|---|
| 仓库 | different-ai/openwork |
| Stars | 21,018 |
| Forks | 2,061 |
| 语言 | TypeScript (React 19 + Electron 35 + Bun) |
| 平台 | macOS, Windows, Linux |
| 官网 | https://openworklabs.com |
| 创建时间 | 2026-01-14 |
| Agent 引擎 | OpenCode SDK (v1.17.11) |
一句话定位:创建一次,分享给同事或朋友,或者留着自己用。
核心问题:Agent 之间的能力孤岛
现在的 Agent 工具链有个结构性问题:能力不流通。
你在 Claude Code 里写了一个好用的 Skill,Codex 用户用不了。你连了个 Google Workspace 的 MCP,换个 Agent 又得重新授权。团队里五个人用三个不同的 Agent,每个环境都是孤岛,靠手动复制粘贴勉强桥接。
OpenWork 要解决的就是这个。不是再造一个 Agent,而是做一个能力共享层--不管你用什么 Agent,你的 skills、MCPs、连接的服务都通过 OpenWork 统一管理和分发。
一个 MCP 统一一切
OpenWork 的核心是一个 MCP(Model Context Protocol)服务器。加到任何兼容 MCP 的 Agent 里之后,它暴露两个工具:
search_capabilities- 搜索你可以用什么execute_capability- 执行某个能力
就这么简单。你的 skills、plugins、MCP 连接、Google Workspace、Microsoft 365 能力,全部通过这两个工具访问。不管你用的是 Claude Code、Codex、Cursor 还是 OpenCode,都是同一套能力。
添加方式因 Agent 而异:
Codex:
codex mcp add openwork --url https://api.openworklabs.com/mcp/agentClaude Code:
claude mcp add --transport http openwork https://api.openworklabs.com/mcp/agentOpenCode(opencode.json):
{
"mcp": {
"openwork": {
"type": "remote",
"enabled": true,
"url": "https://api.openworklabs.com/mcp/agent",
"oauth": {}
}
}
}任何 MCP 客户端,直接用这个 URL:
https://api.openworklabs.com/mcp/agent添加后客户端会打开浏览器让你登录、选择 OpenWork 组织。一次登录,所有 Agent 共享。
三种使用方式
OpenWork 不强制你用它的桌面应用。三种模式按需选择:
| 模式 | 工作方式 | 适合谁 |
|---|---|---|
| Agent 优先 | 加 OpenWork MCP 到现有 Agent,用 search_capabilities 和 execute_capability |
Claude Code / Codex / Cursor / OpenCode 用户 |
| 桌面应用 | 下载原生应用,完整工作区带会话管理、终端、文件浏览器和聊天 | 想要可视化的重度用户 |
| 服务器模式 | 本地或容器运行 openwork-server,通过 API 或内嵌 UI 访问 |
团队、CI/CD 流水线、无头自动化 |
MCP Agent 协议是三种模式之间的统一桥梁。不管用哪种模式,skills、plugins、MCP 连接都通过同一个能力模型共享。桌面应用还额外暴露了一个 openwork-ui-mcp 服务器,让 Agent 能读取和控制应用的 UI 状态。
技术架构:三层 monorepo
OpenWork 是一个 pnpm workspace + Turbo 管理的 monorepo,分三层:
第一层:核心应用
| 目录 | 角色 | 技术栈 |
|---|---|---|
apps/app/ |
React 19 Web UI | Vite 6 + React 19 + TypeScript,被 Electron 和 Web 部署共用 |
apps/desktop/ |
Electron 桌面壳 | Electron 35,主进程、预加载、工作区管理、自动更新 |
apps/server/ |
OpenWork Server | Bun + Hono + better-sqlite3 + Drizzle ORM,文件系统 API、OpenCode 代理、工作区生命周期 |
第二层:共享包
| 包 | 职责 |
|---|---|
packages/types/ |
共享类型契约(工作区 wire 类型、IPC 类型、Den 类型) |
packages/ui/ |
共享 UI 原语(React 展示组件、shader 效果) |
packages/connect-link/ |
加密链接协议(密钥对生成和验证,用于安全设备配对) |
packages/enterprise-mcp-client/ |
MCP/OAuth 运行时(提供方无关的远程 MCP 消费 + OAuth 生命周期) |
packages/handsfree/ |
Computer Use 运行时(macOS 原生无障碍控制) |
packages/openwork-ui-mcp/ |
UI 控制 MCP(向 Agent 暴露应用上下文和语义 UI 控制) |
第三层:企业扩展(ee/)
| 目录 | 角色 |
|---|---|
ee/apps/ |
Den API、Den Web、Den Gateway、Inference、Worker Proxy、Diagnostics |
ee/packages/ |
den-admin-mcp、den-db、utils |
技术选型一览:
| 层 | 技术 |
|---|---|
| 桌面壳 | Electron 35, electron-builder |
| Web UI | React 19, Vite 6, TypeScript |
| 状态管理 | Zustand, TanStack Query |
| 样式 | Tailwind CSS 4, shadcn/ui (Base UI) |
| 服务器 | Bun, Hono, better-sqlite3, Drizzle ORM |
| Agent 引擎 | OpenCode SDK (v1.17.11) |
| MCP | @modelcontextprotocol/sdk |
| 企业版 | Next.js, Better-Auth, Drizzle, MySQL |
| 构建 | pnpm 11, Turbo |
整个项目用 React 19.2.4 统一锁定版本,Zod 做运行时类型校验。
OpenWork Den:团队级控制面
OpenWork Den 是面向团队和组织的控制面,解决的是"规模化共享"的问题:
- 推理供给:大规模管理模型提供商,控制哪些成员和团队能用哪个模型
- 团队管理:邀请成员、创建团队、集中管理访问权限
- 桌面策略:限制本地模型访问,控制组织允许使用的应用版本
- 市场发布:通过 marketplace 发布 skills 和 plugins,分配给组织、团队或个人
- 插件导入:导入 Anthropic 兼容插件,让它们的 skills 和远程 MCPs 通过 OpenWork MCP 可用
Den 是微服务架构:Den API(Hono + MySQL)、Den Web(Next.js 管理后台)、Den Gateway(路由和认证)、Inference(模型提供商管理)、Den Worker Proxy/Runtime(远程 worker 托管)。
企业 MCP 客户端的安全设计值得一提:强制 fetch 注入、PKCE 授权、加密凭证存储、scoped token 管理。不是简单地把 OAuth 凭证存明文就完事。
五个设计原则
README 里明确列了五条设计原则,能看出项目的取向:
- 本地优先,云就绪 - 一键在本地运行,需要时连接云端工作流
- 服务器消费优先 - 消费 OpenWork Server 的能力面,而不是发明平行行为
- 可组合 - 桌面应用、WhatsApp/Slack/Telegram 连接器、服务器模式,按需选择
- 可弹出 - 基于 OpenCode 驱动,OpenCode 能做的事 OpenWork 都能做,即使还没有专用 UI
- 分享即关爱 - 一条 CLI 或桌面命令就能启动一个可即时分享的实例
第五条是核心--"你开始是独自使用,然后快速分享"。从个人到团队的使用路径被设计得很顺滑。
上手体验
方式一:让 Agent 帮你装
已经用 AI Agent 了?把这段粘贴到 Claude Code、Cursor、Codex 或 ChatGPT 里:
Install OpenWork on my computer, set up my first workspace, and open it ready to use.
Follow the steps in https://openworklabs.com/start.md?v=heroAgent 会自动安装 OpenWork、创建工作区、打开准备使用。
方式二:下载桌面应用
从 https://openworklabs.com/download 下载 macOS、Windows 或 Linux 版本。
方式三:从任何 Agent 使用
不需要桌面应用。加一个 MCP URL 到你的 Agent:
https://api.openworklabs.com/mcp/agent登录后用 search_capabilities 找能力,用 execute_capability 执行。
方式四:本地开发
pnpm dev # 单个 checkout
pnpm dev:worktree # 多 worktree 并行开发dev:worktree 会自动推导 profile 名、选空闲 CDP 和 Vite 端口、用 mock keychain 避免 macOS 钥匙串弹窗。
项目还强制 demo 驱动开发:功能开发从 voiceover 脚本开始,在 fresh worktree 上构建,用 fraimz(逐帧证明)验证后才开 PR。这种开发流程在开源项目里不多见。
如果你在多个 Agent 之间切换,或者团队需要共享 AI 工作流能力,OpenWork 解决的是"能力孤岛"这个结构性问题。一个 MCP 统一所有技能和连接,不需要每个 Agent 各配各的。
参考文档与链接
- GitHub: different-ai/openwork - 2 万 Star,开源版 Claude Cowork
- OpenWork 官网 - 产品主页和下载
- OpenWork 文档 - 完整文档
- 快速开始 - Agent 引导安装步骤
- OpenCode - OpenWork 的 Agent 引擎
- Model Context Protocol - MCP 协议官方文档
- 架构概览 - monorepo 三层架构详解
- OpenWork Den 文档 - 企业控制面文档
你怎么看这个趋势?评论区聊聊你的判断。觉得有用点个赞让更多人看到。
作者: itech001 来源: 公众号:AI人工智能时代 网站: https://www.theaiera.cn/ 每日分享最前沿的AI新闻资讯和技术研究。
本文首发于 AI人工智能时代,转载请注明出处。