自托管 AI 编码工作空间,通过 ACP 适配器在沙箱中统一运行 Claude Code、Codex、Copilot、Cursor、OpenCode 等多种编码代理。
Agentrove(原名 Claudex)是一个自托管的 AI 编码工作空间,通过 ACP(Agent Communication Protocol)适配器在 per-workspace 沙箱中统一运行 Claude Code、Codex、Copilot、Cursor、OpenCode 等多种编码代理,提供多面板工作区(聊天、编辑器、终端、Diff、PR 审查并排),支持 per-chat 模型选择与权限控制。
核心能力#
多代理管理
- 统一界面运行 Claude Code、Codex、Copilot、Cursor、OpenCode
- Per-chat 模型选择,不同聊天可指定不同代理与权限模式
- Claude 权限模式:default / acceptEdits / plan / bypassPermissions
- Claude 思考模式:low / medium / high / max
- Codex 权限模式:default / read-only / full-access
- Codex 推理模式:low / medium / high / xhigh
工作区与沙箱
- Per-workspace 沙箱隔离(Docker 容器或 Host 模式)
- 同 workspace 内聊天共享文件系统、工具和认证
- Git Worktree 支持:为每个聊天创建隔离实现目录
- 子线程:从现有聊天分支出子线程
编辑与终端
- 内置 Monaco 编辑器,支持多文件搜索
- 内置 xterm.js 终端
- 文件附件:图片、PDF、电子表格内联预览
聊天体验
- SSE 流式事件输出
- 支持取消、排队后续消息
- 权限提示机制
Git 与 GitHub 集成
- 仓库查找、PR 审查、评论、协作者管理、审阅人选择
- 分支管理、commit/PR 描述生成、PR 创建、diff 恢复
自定义与配置
- 可配置 Personas(可复用自定义系统提示)
- 自定义 Skills(技能)
- 自定义环境变量注入代理运行
- 账号级别全局自定义指令
认证与安全
- 内置注册、登录、密码重置、可选邮箱验证
- 自托管,所有数据本地存储
- 本地认证/配置文件可同步到沙箱
架构概览#
React/Vite 前端 (React 19, TypeScript, TailwindCSS, Zustand, React Query, Monaco, xterm.js)
│
▼
FastAPI 后端 (SQLAlchemy, async)
│
┌────┴────┐
▼ ▼
Web 模式: PostgreSQL + Redis 桌面模式: SQLite + 内存缓存/pubsub
│ │
▼ ▼
Workspace 沙箱 (Docker 或 Host)
│
┌────┼──────────┬────────────┬──────────┐
▼ ▼ ▼ ▼ ▼
claude-agent-acp codex-acp copilot-acp cursor-agent opencode
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
Claude Code CLI Codex CLI Copilot CLI Cursor CLI OpenCode CLI
关键机制:
- ACP 适配器层:通过 ACP 适配器统一封装各代理 CLI 的启动与通信,是核心抽象层
- 双模式存储:Web 模式使用 PostgreSQL + Redis;桌面模式使用 SQLite + 内存缓存/pubsub(Python sidecar 运行于 localhost:8081)
- 沙箱镜像:发布为
ghcr.io/mng-dev-ai/agentrove-sandbox(GitHub Packages) - 桌面壳:Tauri(Rust,约 0.4% 代码量)
- 部署拓扑:生产环境前端在
/、API 在/api/*,支持 VPS/Coolify 部署
安装部署#
Web 模式(Docker Compose)#
前置要求:Docker、Docker Compose
git clone https://github.com/Mng-dev-ai/agentrove.git
cd agentrove
cp .env.example .env
openssl rand -hex 32 # 填入 .env 的 SECRET_KEY
docker compose up -d
# 访问 http://localhost:3000
默认端口:前端 3000、后端 API 8080、PostgreSQL 5432、Redis 6379。
macOS 桌面模式#
- 预构建 Apple Silicon DMG 可从 GitHub Releases 下载
- 架构:Tauri → React 前端 → bundled Python backend sidecar(localhost:8081)→ SQLite
从源码构建(需 Node.js + Rust):
cd frontend
npm install
npm run desktop:dev # 开发
npm run desktop:build # 构建
API 端点#
- API 文档:
http://localhost:8080/api/v1/docs - Admin 面板:
http://localhost:8080/admin - 健康检查:
GET /health - 就绪检查:
GET /api/v1/readyz
关键环境变量#
| 变量 | 用途 |
|---|---|
SECRET_KEY | 应用密钥(必须设置) |
POSTGRES_USER/PASSWORD/DB | PostgreSQL 连接配置 |
REDIS_PORT | Redis 端口 |
DOCKER_IMAGE | 沙箱 Docker 镜像 |
LOG_LEVEL | 日志级别 |
HOST_STORAGE_PATH | 本地存储路径 |
待确认信息#
- Discord 邀请链接:README 提及但未展示具体 URL
- 独立官网/文档站:当前仅 GitHub README 及仓库内
docs/目录 - Windows/Linux 桌面支持:当前仅 macOS,其他平台计划未知
- ACP 协议规范:未链接到协议规范文档
- API 稳定性:v0.1.32,注明"Expect breaking changes between releases"
- 各代理 CLI 前置要求与版本依赖未详述