AIDotNet/OpenCowork

Open Cowork - Opensource Claude Cowork for Windows & macOS & Linux.

OpenCowork – Desktop platform for multi‑agent AI collaboration

What it is – OpenCowork is an open‑source desktop application (built with Electron) that lets large‑language‑model agents work directly on the files, shell, and repositories that live on your machine. The agents can read, edit, run commands, browse the web, and even coordinate with each other, all while you stay in control via visible tool‑call approvals.

Why it matters – Most chat‑based AI tools require you to copy‑paste code or logs, losing context and forcing a back‑and‑forth. OpenCowork runs the agent next to the work, giving it native access to the local filesystem, a full shell (including SSH), and a searchable code graph. This makes the AI a true co‑worker rather than a detached chatbot.


Core features (as described in the README)

Feature What you get
Multi‑agent design Create sub‑agents, agent teams, and set session goals. The platform isn’t a single chat box; it can orchestrate several agents that share a common runtime.
Messaging channel integration Connect the agent hub to Feishu, DingTalk, Discord, QQ, Telegram, WeCom, WeChat Official, and WhatsApp, so it can send updates where your team already communicates.
Runtime stack Electron + React 19 UI ↔ narrow Preload bridge ↔ Electron Main (host gateway) ↔ .NET 11 Native AOT worker that owns the agent loop, tool execution, SQLite storage, and CodeGraph indexing.
Five session modes chat (plain conversation), clarify (plan before code), cowork (full access to files, shell, browser, sub‑agents), code (pair‑programming with Monaco editor), acp (architecture‑lead design & delegation).
Toolbox • Files & shell (read/write, glob, grep, Bash, SSH) • Browser automation (navigate, click, extract) • Task & team management • Plan mode • Goal‑driven memory (SOUL.md, USER.md, MEMORY.md) • Cron jobs • MCP servers (stdio, SSE, HTTP) • Skills marketplace & extensions • CodeGraph (tree‑sitter based code‑base indexing).
Workspace UI Kanban task board, scheduled/one‑shot tasks, resource explorer, skill/persona panels, WebDAV sync, node‑graph canvas for media pipelines, visual CodeGraph view, dedicated SSH terminal.
Internationalisation UI translated into 16 languages via i18next.
Desktop pet & lifecycle hooks Optional mascot and hooks for custom start/stop behaviour.

Architecture at a glance

Renderer (React 19)  ←→  Preload  ←→  Main (Electron host)  ←→  Native Worker (.NET 11 AOT)
      UI & approvals          IPC, windows, channels, cron, SSH          Agent loop, tools, SQLite, CodeGraph
CLI (Ink TUI) ────────────────────────────────────────────────────────────────────────→ Same Native Worker
  • Renderer – only displays state; it never runs the agent logic.
  • Preload – a thin contextBridge exposing safe APIs to the renderer.
  • Main – manages windows, credentials, messaging plugins, and spawns the native worker.
  • Native Worker – the authoritative process that runs the LLM provider loop, executes tools, stores data in SQLite, and maintains the CodeGraph.

Both the desktop UI and the terminal‑based CLI (cowork) talk to the same native worker, ensuring a single source of truth for agents, providers, and jobs.


Getting started (quick‑start from the README)

  1. Prerequisites – Node ≥ 18, npm ≥ 9, .NET 11 SDK (Preview 7+ with Native AOT support). Clone with submodules because the CodeGraph side‑car is required.
    git clone --recurse-submodules https://github.com/AIDotNet/OpenCowork.git
    cd OpenCowork
    
  2. Install dependencies & run in development mode
    npm install
    npm run dev   # launches Electron with hot‑reload
    
  3. Build for distribution – use the provided scripts (npm run build:win, build:mac, build:linux). Pre‑built installers are also available on the GitHub Releases page.
  4. CLI alternative – after a global npm install you can run the same worker from a terminal:
    npm install -g @aidotnet/opencowork
    cowork          # starts the TUI client
    cowork --doctor # diagnostics
    

All configuration, providers, agents, and skill definitions live under ~/.open-cowork/ and are shared between the desktop app and the CLI.


Typical use cases

  • Autonomous coding – let an agent refactor, debug, and commit changes directly in the repository you trust.
  • Scheduled operations – cron‑based agents monitor logs or system health and push alerts to Feishu, Discord, etc.
  • Research & reporting – browse the web, scrape data, process CSV/Excel files, and generate documents.
  • Remote administration – open an SSH terminal inside the app and run commands on another host without leaving the UI.
  • Design & media pipelines – use the “Draw” node‑graph canvas and bundled extensions for product design, creative production, or video generation.

Documentation & community

  • Official docshttps://open-cowork.dev
  • In‑repo guidesAGENTS.md (agent conventions), cli/README.md (CLI usage), architecture docs under docs/architecture/.
  • Contributing – follow the feat(scope): … commit style, run npm run typecheck and npm run lint before opening a PR.
  • Sponsors & thanks – the project lists a few individual sponsors and acknowledges RoutinAI (LLM gateway) and GeneralUpdate (auto‑update library).

License

Apache License 2.0 – free for commercial and non‑commercial use, with the usual patent‑grant and attribution requirements.


Bottom line – OpenCowork is a fully fledged, locally‑run multi‑agent platform that bridges large‑language‑model capabilities with the developer’s existing workflow, offering both a rich desktop UI and a terminal client while keeping all data on the user’s machine.

Related

  • Project
  • Project
  • Project
  • Project
  • Project