OpenWork

different-ai/openwork 访问 GitHub ↗
🔤 TypeScript ★ 22897 ⑂ 0 monthly #19 (+6084) 抓取 2026-08-22

一句话简介

基于 TypeScript 的开源 AI 协作工作空间,提供可扩展的智能体与多模型协同框架,面向开发者构建自动化工作流。

标签

  • TypeScript
  • AI Agent
  • 开源框架
  • 多模型协同
  • 自动化工作流

适用应用场景

  • 构建多 AI 智能体协作任务
  • 搭建可扩展的智能工作流自动化系统
  • 集成多种大模型实现复杂业务编排
  • 为开发者提供统一的 AI 协作开发平台

README 中文摘要

OpenWork 概述

OpenWork 是一款免费、开源的桌面应用,用于共享 AI 工作流,可作为 Claude Cowork 和 Codex 的替代方案,支持 macOS、Windows 和 Linux。其核心思路是:只需在 Codex、Claude Code、Cursor 或其他兼容 Agent 中添加一个 OpenWork MCP,即可跨工具、团队成员和机器复用同一套技能、MCP 连接与已接入的服务。桌面应用提供独立工作区,但并非必需——用户可直接在现有 Agent 中调用 OpenWork。

通过 AI Agent 安装

对于已在使用 AI Agent 的用户,可将以下提示词粘贴到 Claude Code、Cursor、Codex、ChatGPT 或任何可在本地执行命令的 Agent 中,让它自动完成安装、创建首个工作区并打开应用:

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=hero

从任意 Agent 调用 OpenWork

OpenWork MCP 将已分配的技能、插件、MCP 连接、Google Workspace 和 Microsoft 365 能力带入任意兼容的 Agent。它对外暴露两个工具:search_capabilities 用于检索可用能力,execute_capability 用于执行。添加 MCP 后,客户端会打开浏览器以登录并选择组织。

Codex

codex mcp add openwork --url https://api.openworklabs.com/mcp/agent

Claude Code

claude mcp add --transport http openwork https://api.openworklabs.com/mcp/agent

OpenCode:在 opencode.json 中添加以下配置:

{
  "mcp": {
    "openwork": {
      "type": "remote",
      "enabled": true,
      "url": "https://api.openworklabs.com/mcp/agent",
      "oauth": {}
    }
  }
}

任意 MCP 客户端:直接使用远程 MCP 服务地址 https://api.openworklabs.com/mcp/agent

OpenWork Den 控制台

OpenWork Den 是面向团队或组织的统一管理控制台,主要能力包括:

  • 按规模配置推理资源,并控制成员与团队对模型提供方的访问权限;
  • 邀请成员、创建团队并集中管理访问;
  • 配置桌面端策略、限制本地模型访问、统一管理应用版本;
  • 通过市场发布技能与插件,并按组织、团队或个人维度分配;
  • 导入兼容 Anthropic 规范的插件,将其技能和远程 MCP 通过 OpenWork MCP 暴露。

本地开发

单 checkout 场景下使用 pnpm dev,无需额外环境变量即可复用共享开发配置。

需要同时运行多个 git worktree 时,使用 pnpm dev:worktree,该命令会自动设置 OPENWORK_DEV_PROFILE=auto、根据 worktree 路径派生稳定的配置名、为 Electron 选择空闲的 CDP 端口、为 Vite 选择空闲的开发服务端口。例如:

OPENWORK_DEV_PROFILE=my-feature OPENWORK_ELECTRON_REMOTE_DEBUG_PORT=0 PORT=0 pnpm dev

dev:worktree 默认启用 OPENWORK_ELECTRON_USE_MOCK_KEYCHAIN=1;macOS 下真实钥匙串在 Chromium 持久化认证 Cookie 时会弹出对话框阻塞 Electron 主循环。若需要在隔离配置下使用系统钥匙串,可设置 OPENWORK_ELECTRON_USE_MOCK_KEYCHAIN=0

启动时日志中会打印形如 [openwork] dev profile=... cdp=http://127.0.0.1:9223 的横幅,可据此定位配置目录并向本地工具传入 CDP 地址。若第二个实例无法获取配置锁,会立即报错退出,避免出现 CDP 端口占用而窗口未起的悬挂状态。

无 Electron 的纯 Web 模式

通过 pnpm dev:headless-web 可在浏览器中启动 OpenWork UI,并连接本地 openwork-server,无需桌面壳。该启动器具有以下特性:

  • 将状态写入 tmp/headless-server.json,不会读取 ~/.config/openwork/server.json
  • 自动授权所选工作区根目录,并在重启时合并配置(而非覆盖),通过 UI 添加的工作区在 --replace 后仍会保留;
  • 同时启动 Vite 与 openwork-server,并向 UI 强制注入稳定的 owner bearer;崩溃重启复用同一 bearer 以保持页面可用,--replace 会重新签发令牌(可通过 --keep-tokens 保留),特权主机令牌仅保留在服务端进程中,不会内联到 Vite 包内;
  • 通过 Vite 同源代理 Den Cloud 调用:/api/den 转发到 Den 控制平面,并通过 VITE_DEN_API_BASE_URL 将应用 API 基址固定到此处,避免 CORS 阻挡并清理过期的 localStorage 基址;
  • 将面向 Agent 的 URL 与令牌写入 tmp/dev-headless-web.json(仅 owner 可读,权限 0600),并仅允许来自 Web 应用自身来源的浏览器调用本地服务;
  • 默认使用稳定端口(Web 5178、Server 8778),被占用时回退到空闲端口,可通过 OPENWORK_WEB_PORTOPENWORK_PORT 覆盖;
  • 每个 worktree 仅允许单实例:重复运行会复用健康实例并打印其 URL;陈旧实例会被自动清理,--replace 强制重启;
  • 服务进程与启动终端解耦,终端关闭后仍可继续运行;
  • 支持 --detach 以完全脱离调用 Shell 运行(推荐 Agent 使用):后台启动、等待健康检查、输出 URL 后退出。

启动后访问打印的 Web URL。Headless Web 模式下云端登录采用复制粘贴方式交接(托管 Den 无法将会话授权回跳到 http://127.0.0.1):在 Account → Sign in 打开 Den,在设置中的粘贴框中输入 Den 显示的 OpenWork 链接或一次性验证码即可完成登录。

pnpm dev:web-local 运行中时,可通过 OPENWORK_DEV_DEN_PROXY_TARGET=http://127.0.0.1:3005 将 Den 指向上述本地栈;设置 OPENWORK_DEV_HEADLESS_WEB_DEN_PROXY=0 可关闭 Den 接入。

摘要更新于 2026-08-14 00:37:07 · 原文 6683 字符 · md5 8bbe46583bc3…