RCoder 是基于 Rust 和 ACP(Agent Client Protocol)的 AI 开发平台。它通过 HTTP/SSE 接入 Claude Code、Codex 等 Agent,并管理 UserApp 从源码开发、构建到部署的生命周期。同一套代码支持 Docker 与 Kubernetes 运行时。
- Agent 会话:统一 ACP 接入、gRPC 内部通信、SSE 实时进度与断线续传。
- UserApp 托管:开发/生产环境、构建发布、闲置回收、流量唤醒,以及保留数据的启停与恢复。
- 文件与开发服务:工作区、Git、技能、开发服务器及应用日志接口。
- Computer Agent:容器化桌面,支持 VNC、音频和输入法透传。
- 双运行时:本地 Docker 与 Kubernetes 容器编排,共享业务契约。
- 独立存储选择:Agent 项目/会话支持内存或 PostgreSQL;UserApp 控制记录在本地使用 Turso,在 Kubernetes 使用 PostgreSQL。
- API 与观测:OpenAPI、Tracing、OpenTelemetry,以及按需启用的性能诊断。
客户端 HTTP/SSE
↓
RCoder:HTTP 接口 + 引擎编排 + 容器运行时
↓ Tonic gRPC
agent_runner:容器内运行环境
↓ ACP
AI Agent
HTTP 接口位于 http-server,业务编排位于 rcoder-engine,rcoder 负责应用装配。UserApp 由应用管理层、Docker/K8s 运行时及容器内 app-cli 管理。详见架构总览。
推荐使用本地 Docker Compose。准备 Docker、Compose 和 Make;源码构建工具链使用 Rust stable(2024 Edition),完整前置见贡献指南。
git clone https://github.com/nuwax-ai/rcoder.git
cd rcoder
make dev-build
make dev-up
curl http://127.0.0.1:8090/health启动后访问 API 文档。健康检查验证控制面;真实 AI 会话还需准备 Agent、模型地址与凭据,见配置指南。
日常修改 Rust 后可用 make dev-hot 增量编译并重启;查看日志用 make dev-logs,停止用 make dev-down。镜像、持久化与完整操作步骤见 Docker 指南。
完整目录见 docs/README.md。
| 目的 | 指南 |
|---|---|
| 配置与模型准备 | 配置指南 |
| 部署 | Docker Compose、宿主机、Kubernetes |
| 接入会话 | Agent 与 SSE、权限审批 |
| 使用应用与文件服务 | UserApp、文件服务、Computer Agent |
| 构建与服务管理 | app-cli、配置校验 |
| 运行与排障 | 错误与重试、owner 恢复、可观测性 |
完整 API 契约以运行时 OpenAPI 为准:/api/docs 提供 Swagger UI,/api/docs/scalar 提供 Scalar;包含主服务和 file-server 文档。
开发环境、构建、格式化、Clippy 和测试要求见 CONTRIBUTING.md。根 workspace 使用 make test;crates/app-cli 是独立 Cargo 项目,需要单独检查。
核心业务的真实 Compose 回归使用 make test-e2e,前置和验收边界见 E2E 说明。组件测试、部署验收和发布结果分别记录。
欢迎通过 Issues 与 Pull Request 参与。提交前阅读贡献指南;漏洞请按 SECURITY.md 私下报告。
本项目采用 Apache-2.0 许可证。