openwork README

The project's README from github.com/different-ai/openwork. As one markdown file: README.md.

OpenWork

OpenWork is a free, open-source desktop app made for sharing AI workflows. It is an open-source alternative to Claude Cowork and Codex for macOS, Windows, and Linux.

Add one OpenWork MCP to Codex, Claude Code, Cursor, or another compatible agent and reuse the same skills, MCPs, and connected services across your tools, teammates, and machines. Create something once, share it with coworkers or friends, or keep it for yourself.

The desktop app is there when you want a dedicated workspace, but it is not required. You can use OpenWork from the agent you already have. For larger organizations, the admin interface lets you publish capabilities, manage access, and configure shared or per-user connections.

Download OpenWork

OpenWork desktop app

Install with your AI agent

Already use an AI agent? Copy this prompt and paste it into Claude Code, Cursor, Codex, ChatGPT, or any agent that can run commands on your computer.

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
  1. Installs OpenWork
  2. Creates your workspace
  3. Opens it ready to run

Use OpenWork from any agent

The OpenWork MCP brings your assigned skills, plugins, MCP connections, Google Workspace, and Microsoft 365 capabilities into any compatible agent.

It exposes two tools: search_capabilities finds what you can use, and execute_capability runs it. After adding the MCP, your client opens a browser so you can sign in and choose your OpenWork organization.

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

Add this to opencode.json:

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

Any MCP client

Use this remote MCP server URL:

https://api.openworklabs.com/mcp/agent

OpenWork Den

OpenWork Den is the control plane for managing OpenWork across a team or organization.

OpenWork Den organization control plane

Licensing

This repository uses a directory-split license, similar to GitLab:

Versions released before this license was adopted remain under their original license (FSL-1.1-MIT). See pricing and the subscription terms.

Documentation

Read the OpenWork docs.

Getting started (contributors)

The fastest path from a fresh clone to a running dev build.

Prerequisites

First run

git clone https://github.com/different-ai/openwork.git
cd openwork
corepack enable
pnpm install
pnpm dev   # launches the Electron desktop app with hot reload

Repository layout

Path What lives there
apps/ the desktop app: React UI (apps/app), Electron shell (apps/desktop), and openwork-server (apps/server) (MIT)
packages/ shared core packages (MIT)
ee/ OpenWork Den — the org control plane, MCP gateway, and inference (EE License, see Licensing)
evals/ executable test specs built on @openwork/testkit — see evals/README.md
worlds/ declarative dev/test environment definitions for pnpm world
docs/ operator, feature, and release docs
.opencode/skills/ repository agent skills (testing, release, Daytona, and more)

Testing

All executable coverage lives in evals/specs/**/*.test.ts; app-driving journeys use .e2e.test.ts.

pnpm --dir evals install --frozen-lockfile   # once
pnpm evals:pr specs/<name>.test.ts           # app-less PR-lane spec
pnpm evals:e2e <name> --local                # app-driving E2E journey, run locally

Runtime-observable changes need test evidence on the PR. AGENTS.md and evals/README.md describe the verification contract and vocabulary.

Sending a pull request

  1. Branch from dev (the default branch) and open your PR against dev.
  2. Sign off every commit: git commit -s.
  3. Keep the diff as small as possible, and include or update test evidence for runtime-observable changes.
  4. Read CONTRIBUTING.md for the DCO and licensing rules — contributions under ee/ additionally require a CLA.

Local development

For one checkout, keep using pnpm dev; with no extra environment variables it reuses the existing shared dev profile.

To run multiple git worktrees at once, use:

pnpm dev:worktree

That sets OPENWORK_DEV_PROFILE=auto, derives a stable profile name from the worktree path, lets Electron choose a free CDP port, and asks Vite for a free dev-server port. You can also choose a named profile, for example OPENWORK_DEV_PROFILE=my-feature OPENWORK_ELECTRON_REMOTE_DEBUG_PORT=0 PORT=0 pnpm dev.

dev:worktree also defaults OPENWORK_ELECTRON_USE_MOCK_KEYCHAIN=1. A brand-new profile has no stored credentials, so on macOS the real keychain prompts as soon as Chromium persists an authenticated cookie, and that modal blocks Electron's main loop until it is dismissed. Set OPENWORK_ELECTRON_USE_MOCK_KEYCHAIN=0 if you specifically want the system keychain in an isolated profile.

Dev startup prints a banner like [openwork] dev profile=... cdp=http://127.0.0.1:9823; use it to find the profile directory and pass the CDP URL to local tooling.

If a second instance cannot get the profile lock it now says so and exits, instead of lingering with an open CDP port and no window.

Headless web (no Electron)

To run the OpenWork UI in a browser against a local openwork-server (no desktop shell):

pnpm world up dev-headless --detach

pnpm dev:headless-web is a compatibility alias for the same script. The alias remains foreground by default and accepts --detach; world up is foreground unless --detach is explicit.

This is an isolated launcher:

Script-specific options must follow --:

pnpm world up dev-headless --detach -- --replace
pnpm world up dev-headless --detach -- --replace --keep-tokens

--replace restarts the headless runtime with fresh tokens; add --keep-tokens to retain the previous tokens. --rotate-tokens is also accepted by this script. These are not generic world options.

Open the printed Web URL. Cloud sign-in in headless web uses the copy/paste handoff (hosted Den cannot redirect session grants back to http://127.0.0.1):

  1. Account → Sign in (opens Den; the paste field opens in Settings)
  2. Sign in on Den
  3. Copy the OpenWork link / one-time code Den shows
  4. Paste it under Paste sign-in code → Finish sign-in

Point Den at a local stack with OPENWORK_DEV_DEN_PROXY_TARGET=http://127.0.0.1:3005 while pnpm dev:web-local is running. Set OPENWORK_DEV_HEADLESS_WEB_DEN_PROXY=0 to disable the Den wiring.

The other checked-in scripts include worlds/headless-prod-live.ts and worlds/desktop-prod-live.ts. Both intentionally share installed production state and require their script-specific opt-in after --, for example pnpm world up desktop-prod-live -- --allow-shared-state. List scripts and running receipts with pnpm world list. The headless production world is hard-limited to loopback; remote-access/public-host settings are refused because its browser session uses production credentials.

openwork (different-ai/openwork)

Searching Database…

24.1K ·GitHub
这是什么?OpenWork 是一款免费的开源桌面应用,用于在你的工具、团队成员和设备之间共享 AI 工作流,包括技能、MCP 连接以及已接入的服务。它是 Claude Cowork 和 Codex 的开源替代品,由 opencode 提供支持。
必须使用桌面应用吗?还是我可以直接在已有的智能体中使用?桌面应用是可选的。你可以把 OpenWork MCP 添加到你已在使用的智能体中(Codex、Claude Code、Cursor、OpenCode),无需打开应用即可使用相同的技能和连接。
我要怎么让它运行起来?下载桌面应用,或将 README 中的安装提示词复制到 Claude Code、Cursor、Codex 或 ChatGPT 中。它会安装 OpenWork、创建你的工作空间,并打开后即可运行。
哪些编程智能体可以连接 OpenWork MCP?Codex、Claude Code 和 OpenCode 都有现成的设置说明,任何兼容 MCP 的客户端都可以通过远程 MCP 服务器地址进行连接。
整个项目在任何规模下都可以免费使用吗?桌面应用和核心平台(ee/ 目录之外的所有内容)采用 MIT 许可,可免费用于任何用途。组织控制平面(ee/,即 OpenWork Den)为源码可用授权,仅对不超过 5 名用户的组织免费,或可用于 30 天评估;更大规模的生产使用需要付费订阅。
什么是 OpenWork Den?Den 是用于在团队或组织范围内管理 OpenWork 的控制平面,可用于开通模型访问权限、邀请团队成员、设置桌面策略,以及通过市场发布技能和插件。
OpenWork MCP 实际提供了什么?它提供两个工具:search_capabilities 用于查找可用功能,execute_capability 用于运行这些功能。它会将你被分配的技能、插件、MCP 连接,以及 Google Workspace 或 Microsoft 365 等服务,接入到任何已连接的智能体中。
我能把其他生态的插件导入 OpenWork 吗?可以。OpenWork Den 可以导入 Agent Plugins 或兼容 Anthropic 的插件,并让其支持的技能和远程 MCP 通过 OpenWork MCP 可用。
Size
396.6 MB
Stars
24.1K
Age
9mo
Commits · 90 Days