An agent-agnostic desktop application for AI coding agents
Features • Supported Agents • Installation • Development • Architecture • Acknowledgments
CocoWork is a native desktop application that provides a unified interface for communicating with AI coding agents via the Agent Client Protocol (ACP). Built with pure Rust and GPUI, it offers a fast, lightweight, and consistent experience across different AI agents.
- Agent Agnostic: Work with multiple AI coding agents through a single interface
- Native Performance: Built with Rust for speed and efficiency
- Modern UI: Beautiful, responsive interface powered by GPUI
- Session Management: Persistent conversations with SQLite storage
- File System Integration: Secure file access with permission management
- MCP Support: Model Context Protocol server integration
- Cross-Platform: Runs on macOS (Windows and Linux support planned)
CocoWork supports any ACP-compatible agent, including:
| Agent | Status | Notes |
|---|---|---|
| Claude Code | Supported | Via @zed-industries/claude-code-acp bridge |
| Gemini CLI | Supported | Uses --experimental-acp flag |
| Codex | Supported | Via codex-acp binary (auto-downloaded) |
| Goose | Supported | Uses --acp flag |
| Custom Agents | Supported | Any ACP-compatible agent |
- Rust 1.77 or later
- macOS 12.0 or later (for GPUI support)
- Node.js (for Claude Code agent)
# Clone the repository
git clone https://github.com/0xd219b/cocowork.git
cd cocowork
# Build and run
cargo run --package cocowork-ui
# Or build a release version
cargo build --releaseEach agent needs to be installed separately:
# Claude Code (requires Node.js)
npm install -g @anthropic-ai/claude-code
# Gemini CLI
# Follow instructions at https://github.com/google-gemini/gemini-cli
# Codex - no manual installation needed!
# CocoWork automatically downloads the codex-acp binary from
# https://github.com/zed-industries/codex-acp
# Just set CODEX_API_KEY or OPEN_AI_API_KEY environment variable# Build all crates
cargo build
# Run the application
cargo run --package cocowork-ui
# Run tests
cargo test --workspace
# Run linter
cargo clippy --workspace
# Check compilation
cargo check --workspacecocowork/
├── crates/
│ ├── cocowork-core/ # Core library (ACP, agents, storage)
│ └── cocowork-ui/ # GPUI desktop application
├── assets/
│ ├── icons/ # SVG icons
│ └── images/ # Logo and images
└── document/ # Design documents
┌─────────────────────────────────────────────────────────────────┐
│ cocowork-ui (GPUI) │
│ ├── window/ Main window + 3-panel layout │
│ ├── components/ Reusable UI components │
│ ├── acp_integration Bridge between GPUI and ACP │
│ └── theme/ Colors, typography, layout constants │
├─────────────────────────────────────────────────────────────────┤
│ cocowork-core │
│ ├── acp/ ACP client, protocol, session manager │
│ ├── agent/ Agent adapters and lifecycle │
│ ├── sandbox/ File permissions, watcher │
│ ├── storage/ SQLite persistence │
│ └── types/ Shared type definitions │
└─────────────────────────────────────────────────────────────────┘
initialize → session/new → session/prompt → streaming session/update → prompt_response
CocoWork would not be possible without the incredible work of the open-source community.
We extend our deepest gratitude to the Zed team for their outstanding work on:
- GPUI: The powerful, high-performance GPU-accelerated UI framework that powers CocoWork's interface
- Architecture Patterns: Many of our UI components and patterns are inspired by Zed's elegant codebase
- ACP Bridges: The
@zed-industries/claude-code-acppackage enables Claude Code integration, andcodex-acpenables Codex integration
Zed is an exceptional code editor, and we highly recommend checking it out at zed.dev.
- Anthropic for Claude and the Agent Client Protocol specification
- The Rust community for the amazing ecosystem of crates
CocoWork is licensed under the GNU General Public License v3.0.
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Made with Rust and GPUI
