Files
qiming/qiming-rcoder/crates/rcoder/src/rcoder_default.yml
2026-06-01 13:54:52 +08:00

246 lines
7.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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}}"