添加qiming-rcoder模块

This commit is contained in:
Codex
2026-06-01 13:54:52 +08:00
parent 8092c4b1f8
commit 4b1a580132
539 changed files with 151650 additions and 0 deletions

View File

@@ -0,0 +1,245 @@
# RCoder 配置文件
# 这是默认配置,会在首次启动时自动生成
# 默认使用的 AI 代理类型 (Claude/Codex)
default_agent: "Claude"
# 项目工作目录
projects_dir: "./project_workspace"
# 主服务端口
port: 8087
# 容器清理配置
cleanup_config:
# 是否启用容器清理功能(默认启用)
# 设置为 false 可以禁用自动清理闲置容器
# - true: 启用(默认,自动清理闲置容器)
# - false: 禁用
enabled: true
# 闲置超时时间(秒),超过此时间未活动的容器将被清理
# 默认值: 600 (10分钟)
idle_timeout_seconds: 600
# 清理任务执行间隔(秒)
# 默认值: 300 (5分钟)
cleanup_interval_seconds: 300
# Docker 容器停止超时时间(秒)
# 默认值: 30
docker_stop_timeout_seconds: 30
# 日志清理配置
log_cleanup:
# 日志目录路径(容器内路径)
# 默认值: /app/logs/container
log_dir: "/app/logs/container"
# 日志保留天数
# 默认值: 10
log_retention_days: 10
# Pingora 反向代理配置
proxy_config:
# 代理服务监听端口 (用于接收外部请求)
listen_port: 8088
# 默认后端服务端口 (当请求未指定端口时使用)
default_backend_port: 8087
# 后端服务主机地址
backend_host: "127.0.0.1"
# URL 中端口参数的名称 (用于从路径中提取端口号)
port_param: "port"
# 健康检查配置
health_check:
enabled: true
interval_seconds: 5
timeout_seconds: 1
healthy_threshold: 2
unhealthy_threshold: 3
# Docker 配置
docker_config:
# 多镜像配置系统
multi_image_config:
# 全局默认配置
global_defaults:
# 默认镜像仓库前缀
registry_prefix: "nuwax-docker-images-registry.cn-hangzhou.cr.aliyuncs.com/dev"
# 其他默认镜像配置(可选)
# image: "custom/default-image:latest"
# arm64_image: "custom/default-image:arm64"
# amd64_image: "custom/default-image:amd64"
# default_image: "custom/default-image:latest"
# 服务镜像配置
services:
# RCoder 主服务配置
rcoder:
service_type: "RCoder"
# 镜像配置(使用架构特定镜像)
# image: "nuwax-docker-images-registry.cn-hangzhou.cr.aliyuncs.com/nuwax/rcoder:latest" # 通用镜像,"nuwax"是生产环境镜像, "nuwax-test"和"dev"都是测试镜像,默认生产环境镜像
arm64_image: "nuwax-docker-images-registry.cn-hangzhou.cr.aliyuncs.com/nuwax/rcoder:latest"
amd64_image: "nuwax-docker-images-registry.cn-hangzhou.cr.aliyuncs.com/nuwax/rcoder:latest"
default_image: "nuwax-docker-images-registry.cn-hangzhou.cr.aliyuncs.com/nuwax/rcoder:latest"
image_tag_prefix: "rcoder"
enabled: true
# 容器内挂载路径模板(支持变量替换)
# 默认值: "/app/project_workspace/{project_id}"
# 支持变量: {project_id}, {user_id}, {service_type}
container_path_template: "/app/project_workspace/{project_id}"
# 环境变量
environment:
RUST_LOG: "info"
SERVICE_MODE: "full"
API_PORT: "8086"
# 容器启动命令
command:
- "/app/bin/agent_runner"
- "--port"
- "8086"
# 容器入口点(可选,如果为空则使用镜像默认)
# entrypoint: []
# 资源限制配置
resource_limits:
memory_limit: 2147483648 # 2GB (字节)
cpu_limit: 2.0 # 2 核 CPU
swap_limit: 4294967296 # 4GB 交换空间 (字节)
# 容器工作目录
work_dir: "/app"
# 网络模式
network_mode: "bridge"
# 卷挂载配置
# 注释掉默认挂载配置,临时测试用,改为空数组
# mounts:
# - container_path: "/app/specs"
# host_path: "/app/specs"
# read_only: true
# mount_type: "bind"
mounts: []
# ComputerAgentRunner 服务配置
computer-agent-runner:
service_type: "ComputerAgentRunner"
# 镜像配置(使用架构特定镜像)
arm64_image: "nuwax-docker-images-registry.cn-hangzhou.cr.aliyuncs.com/dev/rcoder-agent-runner:latest"
amd64_image: "nuwax-docker-images-registry.cn-hangzhou.cr.aliyuncs.com/dev/rcoder-agent-runner:latest"
default_image: "nuwax-docker-images-registry.cn-hangzhou.cr.aliyuncs.com/dev/rcoder-agent-runner:latest"
image_tag_prefix: "rcoder-computer-agent-runner"
enabled: true
# 容器内挂载路径模板(支持变量替换)
# 默认值: "/app/project_workspace/{project_id}"
# 支持变量: {project_id}, {user_id}, {service_type}
container_path_template: "/app/project_workspace/{project_id}"
# 环境变量
environment:
RUST_LOG: "debug"
SERVICE_MODE: "agent-only"
AGENT_PORT: "8086"
# 容器启动命令
command:
- "/app/bin/agent_runner"
- "--port"
- "8086"
# 容器入口点(可选,如果为空则使用镜像默认)
# entrypoint: []
# 资源限制配置AgentRunner 通常需要更多资源)
resource_limits:
memory_limit: 4294967296 # 4GB (字节)
cpu_limit: 3.0 # 3 核 CPU
swap_limit: 8589934592 # 8GB 交换空间 (字节)
# 容器工作目录
work_dir: "/app"
# 网络模式
network_mode: "bridge"
# 卷挂载配置
# 注释掉默认挂载配置,临时测试用,改为空数组
# mounts:
# - container_path: "/app/specs"
# host_path: "/app/specs"
# read_only: true
# mount_type: "bind"
mounts: []
# 镜像选择策略
selection_strategy: "ServiceOnly"
# 缓存配置
cache_config:
enabled: true
ttl_seconds: 3600
max_entries: 50
# 其他 Docker 配置
# 网络基础名称(不含 project name 前缀)
# Docker Compose 会自动添加 project name 前缀,实际网络名称为 {project_name}_{network_base_name}
# 例如: network_base_name="agent-network" 时,实际网络为 "rcoder_agent-network"
network_base_name: "agent-network"
# 默认网络模式
network_mode: "bridge"
# 默认工作目录
work_dir: "/app"
# 是否启用自动清理
auto_cleanup: true
# 容器存活时间(秒)
container_ttl_seconds: 3600
# 🔧 Docker API 调用超时时间(秒)
# 用于大多数 Docker API 调用的超时保护
api_timeout_seconds: 10
# 🔧 快速操作超时时间(秒)
# 用于状态查询等轻量级操作的超时保护
api_timeout_quick_seconds: 5
# 🔧 状态缓存 TTL
# 用于缓存容器状态信息container_id, container_name, status, is_running
# 建议值:
# - 高频查询环境: 30-60
# - 平衡模式: 10-15默认
# - 实时要求高: 5-10
cache_status_ttl_seconds: 10
# 🔧 网络缓存 TTL
# 用于缓存容器网络信息network_name -> ip_address
# 建议值:
# - 高频查询环境: 60-120
# - 平衡模式: 15-30默认
# - 实时要求高: 10-15
cache_network_ttl_seconds: 15
# 🔧 缓存最大容量
# 用于 DockerApiCache 的 status_cache 和 network_cache 的最大条目数
# 建议值:
# - 小型环境: 1000-5000
# - 中型环境: 5000-10000默认
# - 大型环境: 10000-50000
cache_max_capacity: 10000
# API Key 鉴权配置(可选)
api_key_auth:
# 是否启用 API Key 鉴权(默认关闭)
# 启用后,所有 HTTP 请求必须携带正确的 x-api-key header
# 豁免端点:/health, /metrics, /api/docs, /proxy/status, /proxy/stats
enabled: false
# API Key 值(首次生成时自动创建随机密钥)
# 格式sk-{32位十六进制字符串}
# 示例sk-a1b2c3d4e5f6789012345678abcdef01
# 可以通过环境变量 RCODER_API_KEY 覆盖此配置
api_key: "{{GENERATED_API_KEY}}"