Skip to content

AIDotNet/OpenCowork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OpenCowork

AI-Powered Collaborative Development Platform

License Electron React TypeScript

A sophisticated Electron-based desktop application that combines AI agents with development tools for intelligent coding assistance and project collaboration.

✨ Features

πŸ€– AI Agent System

  • 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

πŸ’» Development Tools

  • 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

🎨 Modern UI/UX

  • 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

πŸ”§ Advanced Features

  • 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

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm, yarn, or bun

Installation

# Clone the repository
git clone https://github.com/your-username/OpenCowork.git
cd OpenCowork

# Install dependencies
npm install
# or
yarn install
# or
bun install

Development

# Start development server with hot reload
npm run dev
# or
yarn dev

Building

# 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  # Linux

πŸ“ Project Structure

OpenCowork/
β”œβ”€β”€ 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

πŸ› οΈ Technology Stack

Core Framework

  • 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

UI & Styling

  • Tailwind CSS 4 - Utility-first CSS framework
  • Radix UI - Accessible component primitives
  • Lucide React - Beautiful icon set
  • Motion - Smooth animations and transitions

State Management

  • Zustand - Lightweight state management
  • Immer - Immutable state updates

Development Tools

  • ESLint + Prettier - Code quality and formatting
  • Electron Builder - Application packaging
  • Electron Updater - Auto-update functionality

βš™οΈ Configuration

API Providers

Configure your preferred LLM provider in the settings:

  1. Open the application
  2. Press Ctrl+, to open settings
  3. Enter your API key
  4. Select your preferred provider

Working Directory

For file operations and code context:

  • Use Ctrl+Shift+O to select a working folder
  • Or use the folder selector in the interface

🎯 Usage Modes

πŸ’¬ Chat Mode

  • Conversational AI interaction
  • Quick questions and answers
  • General assistance

🀝 Cowork Mode

  • Collaborative development
  • File operations and project management
  • Tool execution with approval workflow

πŸ’» Code Mode

  • Focused coding assistance
  • Code review and analysis
  • Advanced development tools

⌨️ Keyboard Shortcuts

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

πŸ”’ Security

  • 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

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting
  5. Submit a pull request

Code Style

  • Follow the existing TypeScript and React patterns
  • Use Prettier for formatting
  • Ensure ESLint passes
  • Add appropriate types for all code

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments


Built with ❀️ for the developer community

GitHub stars GitHub forks

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published