English | 中文
A unified desktop workspace for multiple AI coding agents
Built with Tauri + ACP to manage Claude Code, OpenCode, Qwen Code, Gemini CLI, Kiro, OpenClaw, and more in one place with workspace isolation, conversation history, MCP integration, and permission controls.
Why OneAgent • Highlights • Quick Start • Supported Agents • Development
When working with multiple AI coding agents, common pain points include fragmented terminals, split context, and unclear permission boundaries.
OneAgent brings everything into a single desktop workspace:
- One UI to manage multiple agents
- Workspace-level isolation for conversations and settings
- Explicit permission decisions for high-risk actions
- MCP-based extensibility for custom tools and integrations
This project is inspired by AionUi. At the current stage, OneAgent is still primarily a faithful recreation of that interaction model.
Our main implementation difference is the architecture choice: OneAgent is built as a desktop app with Tauri + Rust for the backend runtime, while keeping a modern frontend workflow.
- Standardized communication through Agent Client Protocol (ACP)
- Automatic discovery of locally installed agents
- Switch between agent profiles in the same UX
- Multi-workspace isolation for chats, bindings, and config
- Persistent conversation history for replay and continuation
- IDE-like workflow with less context switching
- Connect Model Context Protocol (MCP) servers
- Configure tools and capability extensions per workspace
- Review sensitive operations such as file writes and command execution
- Supports
allow_once/allow_always/reject_once/reject_always
- macOS 12+ / Windows 10+ / Linux
- Node.js 18+
- Rust 1.70+
git clone https://github.com/RaspberryCola/OneAgent.git
cd OneAgent
npm install
# Download bundled Bun and Claude ACP adapter (recommended once)
npm run prepare:claude-runtime
# Start full Tauri development mode
npm run tauri devnpm run build
npm run tauri build- On startup, OneAgent creates a default workspace at
~/.oneagent - The app automatically discovers available agent profiles
- Select an agent profile
- Create a new session and choose a target workspace
- Enter your prompt and start the conversation
When an agent asks for high-risk capabilities (such as file writes or command execution):
- Approve or reject in the permission dialog
- Choose one-time or persistent rules based on context
| Agent | Status | Integration |
|---|---|---|
| Claude Code | ✅ | ACP Bridge |
| OpenCode | ✅ | ACP |
| Qwen Code | ✅ | ACP |
| Gemini CLI | ✅ | ACP |
| Kiro | ✅ | ACP |
| OpenClaw | ✅ | ACP |
| Other ACP-compatible agents | 🚧 | Validation in progress |
# Frontend dev server (Vite)
npm run dev
# Tauri dev mode (frontend + backend)
npm run tauri dev
# Build (includes TypeScript checks)
npm run build
# Build desktop app
npm run tauri build
# Build Rust backend only
cd src-tauri && cargo build
# Run Rust tests
cd src-tauri && cargo test.
├── src/ # React + TypeScript frontend
├── src-tauri/ # Rust + Tauri backend
├── scripts/ # Tooling scripts (including runtime prep)
├── public/ # Static assets (logos, etc.)
└── docs/ # Design and architecture docs
- Validate and support more ACP-compatible agents
- Improve cross-platform packaging and install docs
- Add polished UI screenshots and demo GIFs
Issues and pull requests are welcome.
Before submitting, please run:
npm run build
cd src-tauri && cargo testMIT © OneAgent Contributors

