你有没有这种痛苦:在 Claude Code 里精心配好的 MCP 工具和技能,换到 Cursor 要重来一遍,再换到 Codex 又来一遍?2026 年 7 月 31 日,different-ai/openwork 登顶 GitHub Trending,被称为「开源版 Claude Cowork」——它的核心思路很简单:一次连接 MCP,技能和插件就在三个编辑器之间共享。本教程手把手带你装好 OpenWork,把一套 Agent 技能配置同步到 Claude Code / Cursor / Codex。
先搞懂:OpenWork 解决什么痛点?
用一句话理解:OpenWork 是一个「技能中间层」,把你的 MCP Server 和自定义技能抽出来,做成一份统一配置,谁(哪个编辑器)来连都能用。过去每个编辑器的技能是「孤岛」,现在变成「共享文件夹」。
| 过去(孤岛模式) | 现在(OpenWork 共享) |
|---|---|
| Claude Code 配一遍 MCP | 配一次,三端自动同步 |
| Cursor 再配一遍同样的 | |
| Codex 又配一遍 | |
| 改了技能要改三处 | 改一处,三端即时生效 |
前提说明:OpenWork 目前通过本地代理把统一配置「翻译」成各编辑器能识别的 MCP 格式。它不替你写技能,而是让你的技能"一次写好、处处可用"。技能本身的质量仍取决于你。
Step 1:安装 OpenWork CLI
OpenWork 以 CLI 形式提供,装好后在任意目录都能启动它的本地网关:
# 需要 Node.js 18+
npm install -g @different-ai/openwork
# 验证安装
openwork --version
# 看到版本号即成功
sudo(macOS/Linux),或用 nvm 管理 Node 版本避免全局写权限问题。Windows 用户用管理员 PowerShell 运行即可。Step 2:初始化你的共享技能工作区
OpenWork 用一个配置文件集中管理所有技能和 MCP Server。先初始化工作区:
# 在你喜欢的目录
mkdir ~/openwork-workspace && cd ~/openwork-workspace
openwork init
# 会生成 openwork.config.json,结构类似:
{
"mcpServers": {
"filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "."] },
"github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] }
},
"skills": ["./skills/code-review", "./skills/deploy-check"]
}
Step 3:把现有 MCP Server 收编进配置
把你原来在 Claude Code、Cursor、Codex 各自配过的 MCP Server 地址,统一搬进 openwork.config.json 的 mcpServers 字段。例如你常用的几个:
{
"mcpServers": {
"sqlite": { "command": "uvx", "args": ["mcp-server-sqlite", "--db", "./app.db"] },
"puppeteer":{ "command": "npx", "args": ["-y", "@modelcontextprotocol/server-puppeteer"] },
"slack": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-slack"] }
}
}
务必删掉各编辑器里原来的重复配置,否则可能出现"同一个工具注册两次"的冲突。先备份原配置再改,是稳妥做法。
Step 4:启动 OpenWork 本地网关
# 启动网关(默认监听本地端口)
openwork serve
# 输出类似:
# OpenWork gateway running at http://127.0.0.1:8787
# Loaded 3 MCP servers, 2 skills
launchd、Linux 用 systemd),这样每次开编辑器不用手动起网关。开发机建议常驻。Step 5:在 Claude Code 里连上共享网关
各编辑器只需指向 OpenWork 网关这一个地址,不用再写一堆 Server:
# Claude Code 的 .mcp.json(项目或用户级)
{
"mcpServers": {
"openwork": {
"url": "http://127.0.0.1:8787/mcp"
}
}
}
Step 6:在 Cursor 和 Codex 复用同一份配置
Cursor 和 Codex 的 MCP 配置格式与 Claude Code 兼容,把 Step 5 那段 JSON 原样贴进它们的 MCP 设置即可:
# Cursor:Settings → MCP → 添加;或写入 ~/.cursor/mcp.json
# Codex:写入 ~/.codex/config.toml 的 [mcp_servers] 段,或等价 JSON
# 内容都是同一个 URL:http://127.0.0.1:8787/mcp
# 验证(以 Cursor 为例):在聊天里问
# "列出你可用的 MCP 工具" → 应看到 openwork 代理出的全部工具
连不上的常见原因:① 网关没启动;② 编辑器与网关不在同一台机器(远程开发要改 host 为可访问地址);③ 防火墙挡了 8787 端口。逐个排查即可。
Step 7:加一个自定义技能,三端即时生效
在 skills/ 下新建一个技能(一个带 SKILL.md 的文件夹),OpenWork 会自动把它分发给所有连接的编辑器:
skills/deploy-check/
SKILL.md # 写明:何时用、做什么、调用哪些工具
check.sh # 实际执行的脚本
# 改完配置无需重启网关,热加载即可
openwork reload
# 现在在 Claude Code / Cursor / Codex 任意一端说
# "帮我跑一下 deploy-check"
# 三者都会调用同一个技能
openwork.config.json 一处,再也不用对着三个编辑器反复粘贴。常见问题速查
| 现象 | 大概率原因 & 解决 |
|---|---|
| 编辑器里看不到任何工具 | 网关未启动,或 URL/端口写错 |
| 工具出现两份 | 编辑器里还留着旧配置,删掉重复项 |
| 新增技能不生效 | 忘了 openwork reload 热加载 |
| 远程开发连不上 | 网关 host 改成局域网/可访问地址,并放行端口 |