Open-source, local-first desktop AI agent runtime for evaluating browser automation, MCP workflows, skills, and reusable task runs.
OpenCowork is for builders, researchers, and product teams evaluating how a local desktop AI agent can operate a browser, call local tools, use MCP integrations, preserve task history, and reuse successful runs as templates.
The core product idea is simple: describe a goal, let the agent operate local tools and websites under human oversight, review the result, then turn a successful run into a reusable workflow. OpenCowork is not positioned as a production-certified RPA suite, hosted SaaS platform, or generic chatbot.
The product direction is result-first:
OpenCowork is an open-source evaluation and development project. It is currently best suited for local experimentation, workflow prototyping, contributor-driven feature work, and design-partner-style evaluation on machines controlled by the user.
The project intentionally avoids claiming hosted availability, production certification, enterprise compliance, guaranteed task success, published commercial pricing, or managed service-level commitments.
Good fit:
Not the current focus:
| Scenario | What OpenCowork does | Typical output |
|---|---|---|
| Market and sales research | Opens websites, searches companies, extracts public information, compares competitors, and summarizes findings | Research brief, lead list, pricing watch, PPT outline |
| Operations file processing | Receives files or screenshots through IM, analyzes them, applies repeatable rules, and sends result files back | Cleaned spreadsheet, OCR result, structured report |
| Internal tool workflows | Connects MCP tools, browser back offices, local scripts, and skills into one task run | Reusable workflow template, run record, artifacts |
| Browser back-office automation | Helps operate web consoles, forms, dashboards, approvals, and long-tail manual workflows under user oversight | Operation attempt, trace, screenshot evidence |
| Scheduled knowledge work | Runs recurring checks, summaries, monitoring, and weekly/monthly reporting through templates | Daily report, weekly digest, monitoring summary |
| Agent runtime experiments | Provides a local runtime surface for browser/desktop computer-use, MCP client/server, approval, and trace UX | Runtime prototype, benchmark trace, reusable adapter |
OpenCowork can be used as a practical foundation for:
v0.14.14 is the current public release line for OpenCowork. It builds on the recent scheduler and Feishu delivery work with a targeted reliability update for long-document IM workflows, browser fallback behavior, LLM timeout control, and visual computer-use runtime stability.
Release focus:
Highlights:
Release notes:
https://github.com/LeonGaoHaining/opencowork/releases/tag/v0.14.14docs/RELEASE_v0.14.14.mdRecent product milestones:
v0.14.14: Feishu long-document workflow evaluation, LLM timeout control, DOM fallback gating, and closed-page recovery.v0.14.13: scheduler retries, delayed queue execution handling, and release-surface sync.v0.14.12: scheduled-run execution context and explicit Feishu delivery from scheduler/non-IM runs.v0.14.11: accurate cron next-run calculation and safer manual-trigger next-run refresh.v0.14.10: calmer Feishu selection handling and initial scheduled-execution prompt guardrails.v0.14.9: footer control bar compact layout and release version sync.v0.14.8: Electron native module rebuilds after install and Node requirement documentation.v0.14.7: cross-platform startup cleanup, restored settings manager tracking, and release version sync.v0.14.6: runtime stability, cleanup coverage, MCP stdio lifecycle hardening, and task UI event isolation.v0.14.5: i18n coverage and release polish.v0.14.4: Feishu follow-up context and browser visual/computer-use reliability.v0.14.2: session template save, template-run UI hardening, result overflow fixes, and immediate new-session switching.| Capability | What it enables |
|---|---|
| Desktop Agent | Multi-step local task execution through an agent runtime |
| Browser Automation | Navigate, click, type, extract, wait, and capture screenshots |
| Hybrid CUA | DOM-first browser automation with visual execution fallback and approval flows |
| Desktop Workflows | Early browser / desktop / hybrid computer-use productization path |
| Task Runs | Persist task execution state, results, artifacts, and reusable run context |
| Templates | Save successful work as parameterized, repeatable workflows |
| Scheduler | Run reusable tasks on a schedule |
| Feishu / IM | Submit tasks and files remotely, receive progress and result files |
| Skills | Install and run reusable capability modules |
| MCP Client | Connect external MCP tools and use them inside the agent |
| MCP Server | Expose OpenCowork capabilities to external MCP clients |
| Human Oversight | Pause, resume, interrupt, approve, cancel, and take over tasks |
| i18n | English-first UI with Chinese support |
OpenCowork remains an open-source project. Public descriptions should be factual, capability-based, and clear about current limitations.
Use language that says the project can help users evaluate or prototype:
Avoid language that implies OpenCowork currently provides hosted SaaS, enterprise certification, guaranteed automation success, compliance attestations, commercial pricing, or managed support SLAs.
OpenCowork is moving from a single Electron app with many entry points toward a reusable local Agent Runtime.
Electron UI / Scheduler / IM / MCP / Future CLI
-> Agent Runtime API
-> Shared Protocol Layer
-> Runtime Services: lifecycle, approval, trace, config, rules, state
-> Execution Adapters: browser, desktop, visual, CLI, MCP, skill
-> Result, history, template, benchmark, and artifact surfaces
OpenCowork is a local-first desktop AI agent runtime. It can operate a headed browser, call local tools, connect to MCP servers, process files, run scheduled workflows, and integrate with IM systems such as Feishu. Because the agent can perform real actions in a local desktop environment, users should treat it as a trusted automation tool with operating privileges, not as a sandboxed chatbot.
To reduce the risk of accidental operations, credential exposure, and data leakage, we recommend running OpenCowork on a dedicated AI automation device, virtual machine, or isolated system account. Avoid mixing it with personal daily-use environments, production administrator accounts, or high-sensitivity data workspaces.
Recommended usage:
config/llm.json, config/feishu.json, API keys, tokens, cookies, generated databases, or private task artifacts.OpenCowork is commonly used in trusted single-user desktop deployments. This reduces some multi-tenant web risks, but credential leakage, unsafe remote access, uncontrolled task execution, data loss, persistent crashes, and resource leaks remain important security concerns and should be reported responsibly.
See SECURITY.md for the vulnerability reporting policy.
config/llm.jsonmacOS:
brew install node python
node -v
npm -v
python3 --version
Ubuntu / Debian:
sudo apt update
sudo apt install -y nodejs npm python3 python3-pip
node -v
npm -v
python3 --version
Windows:
winget install OpenJS.NodeJS.LTS
winget install Python.Python.3.12
node -v
npm -v
python --version
git clone https://github.com/LeonGaoHaining/opencowork.git
cd opencowork
npm install
npx playwright install chromium
npm install automatically rebuilds native modules such as better-sqlite3 for the installed Electron runtime. If you switch Node or Electron versions, rerun npm install or npm run rebuild:native before launching the app.
Create config/llm.json:
{
"provider": "openai",
"model": "gpt-5.4-mini",
"apiKey": "your-api-key",
"baseUrl": "https://api.openai.com/v1",
"timeout": 60000,
"maxRetries": 3
}
Keep config/ local. It is git-ignored and must not be committed.
npm run electron:dev
On Windows, macOS, and Linux, electron:dev now uses a Node-based source cleanup step, so it no longer depends on a Unix-only find command.
npm run build
npm run test:run
npm run lint
Open a company website, summarize what it does, and save a reusable research summary.
Search for competitor pricing changes and turn the result into a structured report.
Use a connected MCP server to fetch documentation examples and explain them.
Analyze this Feishu-uploaded image and send the result file back to the chat.
Turn the successful workflow into a template and schedule it weekly.
OpenCowork supports both sides of MCP:
stdio servers and remote streamable-http endpoints,/mcp endpoint.Try connecting a remote MCP endpoint from the MCP panel, then ask the agent what tools are available.
USER_GUIDE.md — practical usage guidedocs/ARCHITECTURE.md — architecture overviewdocs/ROADMAP.md — near-term and strategic roadmap$ claude mcp add opencowork \
-- python -m otcore.mcp_server <graph>