AI-Powered Collaborative Development Platform
A sophisticated Electron-based desktop application that combines AI agents with development tools for intelligent coding assistance and project collaboration.
- Multi-Provider Support: Compatible with OpenAI, Anthropic Claude, and other LLM providers
- Agent Loop Architecture: Advanced agentic workflow with tool execution and approval system
- Sub-Agent Framework: Specialized agents for code review, search, and planning
- Real-time Streaming: Live response streaming with token usage tracking
- File System Operations: Complete file and directory management
- Code Search: Advanced codebase search with ripgrep integration
- Bash Execution: Secure command execution with approval workflow
- Task Management: Built-in todo list and project tracking
- Three Working Modes: Chat, Cowork, and Code modes for different workflows
- Responsive Layout: Adaptive sidebar and panel system
- Dark/Light Themes: Full theme support with system detection
- Keyboard Shortcuts: Comprehensive shortcut system for power users
- Session Management: Multiple chat sessions with pinning and export
- Permission System: Tool approval workflow for security
- Context Awareness: Working folder and project context tracking
- Artifact Management: Generated code and file handling
- Node.js 18+
- npm, yarn, or bun
# Clone the repository
git clone https://github.com/your-username/OpenCowork.git
cd OpenCowork
# Install dependencies
npm install
# or
yarn install
# or
bun install# Start development server with hot reload
npm run dev
# or
yarn dev# Type check and build for production
npm run build
# Platform-specific builds
npm run build:win # Windows
npm run build:mac # macOS
npm run build:linux # LinuxOpenCowork/
βββ src/
β βββ main/ # Electron main process
β β βββ ipc/ # IPC handlers
β β βββ index.ts # Main entry point
β βββ preload/ # Preload scripts
β βββ renderer/ # React frontend
β βββ src/
β β βββ components/ # UI components
β β βββ lib/ # Core libraries
β β β βββ agent/ # AI agent system
β β β βββ api/ # LLM providers
β β β βββ tools/ # Development tools
β β β βββ ipc/ # IPC client
β β βββ stores/ # State management
β β βββ hooks/ # React hooks
βββ resources/ # App assets
βββ build/ # Build configuration
βββ docs/ # Documentation
- Electron - Cross-platform desktop application framework
- React 19 - Modern UI library with latest features
- TypeScript 5 - Type-safe development
- Vite - Fast build tool and dev server
- Tailwind CSS 4 - Utility-first CSS framework
- Radix UI - Accessible component primitives
- Lucide React - Beautiful icon set
- Motion - Smooth animations and transitions
- Zustand - Lightweight state management
- Immer - Immutable state updates
- ESLint + Prettier - Code quality and formatting
- Electron Builder - Application packaging
- Electron Updater - Auto-update functionality
Configure your preferred LLM provider in the settings:
- Open the application
- Press
Ctrl+,to open settings - Enter your API key
- Select your preferred provider
For file operations and code context:
- Use
Ctrl+Shift+Oto select a working folder - Or use the folder selector in the interface
- Conversational AI interaction
- Quick questions and answers
- General assistance
- Collaborative development
- File operations and project management
- Tool execution with approval workflow
- Focused coding assistance
- Code review and analysis
- Advanced development tools
| Shortcut | Action |
|---|---|
Ctrl+N |
New session |
Ctrl+Shift+N |
New session in next mode |
Ctrl+1/2/3 |
Switch to Chat/Cowork/Code mode |
Ctrl+B |
Toggle left sidebar |
Ctrl+Shift+B |
Toggle right panel |
Ctrl+L |
Clear current conversation |
Ctrl+D |
Duplicate current session |
Ctrl+P |
Pin/unpin current session |
Ctrl+Shift+C |
Copy conversation as markdown |
Ctrl+Shift+E |
Export current conversation |
Ctrl+Shift+S |
Backup all sessions |
Ctrl+Shift+O |
Import sessions from backup |
Ctrl+Shift+A |
Toggle auto-approve tools |
Ctrl+Shift+D |
Toggle dark/light theme |
Ctrl+/ |
Show keyboard shortcuts |
Escape |
Stop streaming |
- Tool Approval System: All tool executions require explicit approval
- Secure API Storage: API keys stored in secure main process
- Sandboxed Execution: File operations limited to selected directories
- Permission Controls: Granular control over tool access
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linting
- Submit a pull request
- Follow the existing TypeScript and React patterns
- Use Prettier for formatting
- Ensure ESLint passes
- Add appropriate types for all code
This project is licensed under the MIT License - see the LICENSE file for details.
- Electron - Cross-platform desktop framework
- React - UI library
- Tailwind CSS - CSS framework
- Radix UI - Component primitives
- All contributors and supporters