# OpenCowork
**Repository Path**: AIDotNet/OpenCowork
## Basic Information
- **Project Name**: OpenCowork
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 1
- **Created**: 2026-02-14
- **Last Updated**: 2026-07-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
OpenCowork
Open-source desktop platform for multi-agent AI collaboration
Give AI agents local filesystem access, shell execution, and a rich toolbox — all on your machine.
中文文档 •
Why •
Features •
Architecture •
Quick Start •
Docs
---
## 🚀 Why OpenCowork?
Most AI chat interfaces are isolated from your actual work environment. You spend half the time copy-pasting code, file contents, and terminal output between windows.
**OpenCowork puts the agent on your machine:**
- **Direct filesystem access** — Agents read, write, and edit files in your project with your approval.
- **Shell execution** — Run commands, check logs, and manage dev servers without leaving the conversation.
- **Full context awareness** — Agents explore your codebase on their own. No manual context feeding.
- **Human-in-the-loop** — Transparent tool-call approval keeps you in control at every step.
## ✨ Key Features
### ⚙️ Runtime
- **4-layer Electron architecture** — Main process, Preload bridge, Renderer UI (React 19), and provider-agnostic agent runtime.
- **TypeScript end-to-end** — Type safety from SQLite through IPC to the UI.
- **SSH remote support** — Agents operate on remote hosts transparently via SSH with xterm.js terminal integration.
### 🔄 4 Agent Modes
Every conversation picks the right mode:
| Mode | Purpose |
| --------- | ------- |
| `clarify` | Ask grounded questions, resolve ambiguity, produce a reviewable plan before any code is written. |
| `cowork` | Full agent: code search, file I/O, shell, browser, sub-agent delegation, and more. |
| `code` | Pair programming — focused code generation and surgical editing with Monaco Editor integration. |
| `acp` | Architecture-control lead: clarify, design, decompose, and delegate implementation to sub-agents. |
### 🧰 Tool System
- **File & Shell** — Read, Write, Edit, Glob, Grep, Bash (local and SSH).
- **Browser** — Built-in webview with navigate, snapshot, click, type, and content extraction.
- **Task & Team** — Decompose work with TaskCreate/TaskUpdate, spawn parallel sub-agents via Task, and orchestrate Agent Teams with TeamCreate/SendMessage/TeamStatus.
- **Plan Mode** — EnterPlanMode → write plan → ExitPlanMode for structured, reviewable implementation plans.
- **Goal Tracking** — Create, track, and complete session-level goals with token budgets.
- **Memory System** — Layered memory: global SOUL.md / USER.md / MEMORY.md and per-project .agents/ overrides.
- **Cron Agent** — Schedule recurring or one-shot background agent tasks with multi-channel delivery.
- **MCP Client** — Connect to Model Context Protocol servers (stdio, SSE, streamable-HTTP) and expose active MCP tools directly to the agent.
- **Skill System** — Install domain-specific skills from the Skills Market; loaded dynamically and surfaced to the agent at runtime.
- **Custom Extensions** — Build plugins with declarative HTTP tools, sandboxed JS handlers, and custom HTML renderers.
### 💬 8 Messaging Plugins
| Platform | Support |
| ----------------- | ------- |
| Feishu / Lark | ✅ |
| DingTalk | ✅ |
| Discord | ✅ |
| QQ | ✅ |
| Telegram | ✅ |
| WeCom (WeChat Work) | ✅ |
| WeChat Official | ✅ |
| WhatsApp | ✅ |
### ⏰ Persistence
- **SQLite** — Messages, sessions, projects, tasks, and plans survive restarts.
- **Additive schema** — Columns are added when absent; no migration files, no data loss.
### 🌐 Internationalization
13+ languages including English, Chinese, Vietnamese, Turkish, and more — all via i18next.
## 🏗️ Architecture
```
Renderer (React 19) ←→ Preload (contextBridge) ←→ Main Process
│ │
Agent Loop ─ Tool Registry ─ IPC ──────────→ IPC Handlers
│ │
├─ File I/O, Grep/Glob, Bash SQLite (better-sqlite3)
├─ Browser (webview) Shell / SSH (node-pty, ssh2)
├─ Sub-Agents & Teams Messaging Plugins
├─ Plan, Goal, Memory MCP Client
├─ Skills & Extensions Cron Scheduler
└─ MCP Resources File System
```
- **Renderer** — React 19 + Tailwind CSS + Zustand stores. Agent loop runs here, tools execute via IPC.
- **Preload** — Narrow `contextBridge` API for secure main↔renderer communication.
- **Main Process** — System access: SQLite, filesystem, shell, SSH, messaging plugins, cron, MCP client.
- **Agent Runtime** — Provider-agnostic (`js-agent-runtime.ts`), streams responses, handles tool calls.
## 🛠️ Quick Start
**Prerequisites:** Node.js ≥ 18, npm ≥ 9
```bash
git clone https://github.com/AIDotNet/OpenCowork.git
cd OpenCowork
npm install
npm run dev
```
### Key Commands
| Command | Description |
| ------------------- | ------------------------------------- |
| `npm run dev` | Start Electron + Vite with hot reload |
| `npm run build` | Typecheck then build for production |
| `npm run build:win` | Build Windows installer |
| `npm run build:mac` | Build macOS .dmg/zip |
| `npm run build:linux` | Build Linux .AppImage/.deb |
| `npm run lint` | ESLint with cache |
| `npm run typecheck` | TypeScript check (main + renderer) |
| `npm run format` | Prettier auto-format |
> **Data directory:** `~/.open-cowork/` — SQLite database, config, agents, skills, commands, and prompts.
## 🌟 Use Cases
- **Autonomous coding** — Agents refactor, debug, and write code directly in your workspace.
- **Scheduled ops** — Cron agents monitor logs or system health and report to Feishu / DingTalk / Slack.
- **Data research** — Scrape web pages, process CSVs, generate reports with charts.
- **Remote management** — Operate on remote servers via SSH without leaving the app.
## 📖 Documentation
Full documentation at **[open-cowork.dev](https://open-cowork.dev)** — built with Fumadocs + Next.js.
## 🤝 Contributing
We welcome contributions! See [AGENTS.md](AGENTS.md) for the development guide, coding conventions, and commit message format.
### Special Thanks
**[RoutinAI](https://routin.ai/)** — Enterprise-grade unified LLM API gateway providing a single, type-safe interface to 100+ models across GPT, Claude, and Gemini families.
**[GeneralUpdate](https://github.com/GeneralLibrary/GeneralUpdate)** — Cross-platform auto-update component for .NET applications.
## 💝 Sponsors
- [lchlfe@hotmail.com](mailto:lchlfe@hotmail.com)
- [caomaohanfengZT](https://github.com/caomaohanfengZT)
- [struggle3](https://github.com/struggle3)
## 📜 License
[Apache License 2.0](LICENSE)
---
⭐ If this project helps you, please give it a star.
Made with ❤️ by the **AIDotNet** Team