智能体电脑部署指南
可以在多个不同的服务器部署智能体电脑服务,通过配置实现分布式智能体沙箱能力。
环境要求:每台服务器需要安装 Docker 和 Docker Compose 环境,参考 Docker环境安装
一、快速部署
1. 创建工作目录并下载
mkdir nuwax_computer_deploy
cd nuwax_computer_deploy2.下载安装文件
wget https://nuwa-packages.oss-rg-china-mainland.aliyuncs.com/docker/20260126150124/docker-computer.zip3.解压文件
unzip docker-computer.zip如果解压失败,请检查系统是否安装了unzip,可以根据自己系统,选择对应安装命令,安装解压工具:
yum install unzipdnf install unzipapt install unzip4. 进入解压目录
cd docker-computer5. 启动服务
docker compose up -d6. 验证服务
查看容器状态
docker compose ps查看服务日志(可选)
docker compose logs -f服务启动后,会占用以下端口:
- 9086:主程序服务地址
- 9088:远程桌面服务地址
- 60001:文件上传服务地址
确保防火墙已开放上述端口。
二、沙箱服务配置
配置路径:系统管理 → 系统配置 → 站点智能体设置(最右侧标签页)→ 智能体沙箱配置

说明:可以配置多台沙箱服务器,实现负载分担。端口固定,只需配置实际服务器的 IP 地址。
配置示例
单沙箱服务器配置: 如果是沙箱同机部署,IP调整为私网IP,例如:192.168.1.100。 如果是沙箱跨机部署,IP调整为公网IP,例如:47.242.1.100,且需要开启对应端口。
{
"sandboxServers": [
{
"serverId": "1",
"serverName": "测试环境沙箱1",
"serverAgentUrl": "http://192.168.1.100:9086",
"serverVncUrl": "http://192.168.1.100:9088",
"serverFileUrl": "http://192.168.1.100:60001",
"serverApiKey": "",
"maxUsers": 20
}
],
"perUserMemoryGB": 4.0,
"perUserCpuCores": 2
}多沙箱服务器配置(更多类推):
{
"sandboxServers": [
{
"serverId": "1",
"serverName": "测试环境沙箱1",
"serverAgentUrl": "http://192.168.1.100:9086",
"serverVncUrl": "http://192.168.1.100:9088",
"serverFileUrl": "http://192.168.1.100:60001",
"serverApiKey": "",
"maxUsers": 20
},
{
"serverId": "2",
"serverName": "测试环境沙箱2",
"serverAgentUrl": "http://192.168.1.101:9086",
"serverVncUrl": "http://192.168.1.101:9088",
"serverFileUrl": "http://192.168.1.101:60001",
"serverApiKey": "your_api_key",
"maxUsers": 30
}
],
"perUserMemoryGB": 4.0,
"perUserCpuCores": 2
}参数说明
| 参数 | 说明 | 注意事项 |
|---|---|---|
serverId | 服务器唯一标识 | 配置后不要变更,否则会导致用户数据映射混乱 |
serverName | 服务器描述名称 | 便于识别和管理 |
serverAgentUrl | 主程序服务地址 | 格式:http://IP:9086 |
serverVncUrl | 远程桌面服务地址 | 格式:http://IP:9088 |
serverFileUrl | 文件上传服务地址 | 格式:http://IP:60001 |
serverApiKey | API鉴权密钥 | 默认未开启,详见下方鉴权配置说明 |
maxUsers | 最大用户数 | 根据服务器配置设置,默认每用户4G内存/2核CPU |
perUserMemoryGB | 每用户内存配额 | 默认4.0GB |
perUserCpuCores | 每用户CPU核心 | 默认2核 |
API鉴权配置(可选)
如果服务器未进行网络隔离,建议开启 Header 鉴权。
配置文件位置:docker-computer/config/rcoder/config.yml
api_key_auth:
enabled: true # 开启鉴权
api_key: "your_secure_api_key_here" # 自定义密钥配置完成后,将密钥填入上述 serverApiKey 字段。
三、服务管理
常用命令
# 查看服务状态
docker compose ps
# 查看服务日志
docker compose logs -f [service_name]
# 停止服务
docker compose down
# 启动服务
docker compose up -d
# 重启服务
docker compose restart查看单个服务日志
# 查看主程序日志
docker compose logs -f rcoder
# 查看远程桌面日志
docker compose logs -f novnc四、升级更新
方式一:全量重新部署(推荐)
适合大版本升级或遇到问题时使用。
# 1. 停止服务
docker compose down
# 2. 备份配置文件(重要!)
cp -r docker-computer/config docker-computer/config.backup
# 3. 下载最新部署文件并解压
wget https://nuwa-packages.oss-rg-china-mainland.aliyuncs.com/docker/20260126150124/docker-computer.zip
tar -xzf docker-computer.tar.gz
# 4. 恢复配置文件(如需保留原配置)
cp -r config.backup/* docker-computer/config/
# 5. 启动服务
cd docker-computer
docker compose up -d重要提示:升级时务必保留
docker-computer/computer-project-workspace目录,该目录存储用户数据。
方式二:镜像更新
适合小版本更新。
# 进入部署目录
cd docker-computer
# 拉取最新镜像
docker compose pull
# 停止服务
docker compose down
# 重启服务
docker compose up -d五、高级配置
本章节介绍服务器端的详细配置选项,包括容器清理、资源限制等。这些配置可以根据实际需求调整,优化服务器资源使用。
配置文件位置:
docker-computer/config/rcoder/config.yml
5.1 容器清理配置
为了优化服务器资源使用,系统提供了自动容器清理功能。当用户容器闲置超过指定时间后,系统会自动清理,释放内存和 CPU 资源。
配置示例
cleanup_config:
# 是否启用自动清理(推荐开启)
enabled: true
# 容器闲置超时时间(秒)
# 默认 600 秒(10分钟),用户容器闲置超过此时间后会被自动清理
idle_timeout_seconds: 600
# 清理检查间隔(秒)
# 默认 300 秒(5分钟),系统每隔此时间检查一次闲置容器
cleanup_interval_seconds: 300
# Docker 容器停止超时时间(秒)
# 默认 30 秒,容器停止超过此时间会强制终止
docker_stop_timeout_seconds: 30
# 容器最小保护时间(秒)
# 默认 300 秒(5分钟),新创建的容器在此时间内不会被清理
container_protection_seconds: 300
# 日志清理配置
log_cleanup:
# 日志目录路径
log_dir: "/app/logs/container"
# 日志保留天数
log_retention_days: 10参数说明
| 参数 | 默认值 | 说明 | 推荐配置 |
|---|---|---|---|
enabled | true | 是否启用自动清理 | 建议开启,优化资源使用 |
idle_timeout_seconds | 600 | 闲置超时时间(秒) | 根据业务需求调整,频繁使用可延长至 1800(30分钟) |
cleanup_interval_seconds | 300 | 清理检查间隔(秒) | 推荐 300-600,过短会增加系统负载 |
docker_stop_timeout_seconds | 30 | 容器停止超时(秒) | 一般不需要修改 |
container_protection_seconds | 300 | 容器保护时间(秒) | 推荐至少 300,避免误清理 |
log_retention_days | 10 | 日志保留天数 | 根据磁盘空间调整 |
不同场景配置建议
场景一:高频使用环境(用户频繁操作)
cleanup_config:
enabled: true
idle_timeout_seconds: 1800 # 30分钟闲置才清理
cleanup_interval_seconds: 600 # 10分钟检查一次
container_protection_seconds: 600 # 新容器保护10分钟场景二:资源紧张环境(需要快速释放资源)
cleanup_config:
enabled: true
idle_timeout_seconds: 300 # 5分钟闲置就清理
cleanup_interval_seconds: 180 # 3分钟检查一次
container_protection_seconds: 180 # 新容器保护3分钟场景三:测试环境(关闭自动清理)
cleanup_config:
enabled: false # 关闭自动清理闲置超时的两个层面
系统提供了两个层面的闲置超时控制,它们作用于不同阶段:
层面一:容器清理超时 (cleanup_config.idle_timeout_seconds)
- 作用范围:主服务级别(rcoder)
- 默认值:600 秒(10分钟)
- 作用:当用户容器闲置超过此时间,主服务会自动停止并删除该容器
- 配置位置:
cleanup_config.idle_timeout_seconds
层面二:Agent 内部超时 (RCODER_AGENT_IDLE_TIMEOUT_SECS)
- 作用范围:容器内 Agent 进程级别
- 默认值:3600 秒(1小时)
- 作用:Agent 内部自检,闲置超时后可能进入待机状态
- 配置位置:
docker_config.multi_image_config.services.computer-agent-runner.environment.RCODER_AGENT_IDLE_TIMEOUT_SECS
推荐配置关系:
# 建议 Agent 内部超时 > 容器清理超时
cleanup_config:
idle_timeout_seconds: 600 # 10分钟后清理容器
docker_config:
multi_image_config:
services:
computer-agent-runner:
environment:
RCODER_AGENT_IDLE_TIMEOUT_SECS: "3600" # 1小时(内部超时)说明:
- 通常情况下,容器清理超时会先触发(10分钟),容器被清理后 Agent 也随之停止
- Agent 内部超时主要用于容器未被清理时的自检和资源管理
- 两者配合使用,提供多层次的资源回收保障
注意:
- 容器清理只清理闲置容器,不会影响正在使用的容器
- 清理后用户数据会保留在
computer-project-workspace目录- 用户下次使用时会自动创建新容器并加载数据
5.2 用户容器资源配置
用户可以根据服务器性能和业务需求,调整每个用户容器的资源限制和超时时间。
配置示例
docker_config:
multi_image_config:
services:
computer-agent-runner:
# 环境变量配置
environment:
# Agent 闲置超时时间(秒)
# 默认 3600 秒(1小时),Agent 内部闲置超过此时间会进入待机状态
RCODER_AGENT_IDLE_TIMEOUT_SECS: "3600"
# 资源限制配置(每个用户容器的资源上限)
resource_limits:
memory_limit: 4294967296 # 内存限制:4GB
cpu_limit: 2.0 # CPU 限制:2核
swap_limit: 8589934592 # Swap 限制:8GB说明:镜像配置(image、arm64_image、amd64_image 等)由系统管理,已预配置好,无需修改。
参数说明
| 配置项 | 默认值 | 说明 |
|---|---|---|
RCODER_AGENT_IDLE_TIMEOUT_SECS | 3600 | Agent 内部闲置超时(秒),与容器清理超时配合使用 |
memory_limit | 4294967296 | 内存限制(4GB = 4 × 1024³ 字节) |
cpu_limit | 2.0 | CPU 核心数限制(2核) |
swap_limit | 8589934592 | Swap 限制(8GB = 8 × 1024³ 字节) |
不同场景资源配置建议
场景一:标准配置(推荐)
适用于大多数场景,每个用户容器 4GB 内存 + 2 核 CPU。
resource_limits:
memory_limit: 4294967296 # 4GB
cpu_limit: 2.0 # 2核
swap_limit: 8589934592 # 8GB
environment:
RCODER_AGENT_IDLE_TIMEOUT_SECS: "3600" # 1小时场景二:高性能配置
适用于用户需要运行复杂任务(如 IDE、编译等),每个用户容器 8GB 内存 + 4 核 CPU。
resource_limits:
memory_limit: 8589934592 # 8GB
cpu_limit: 4.0 # 4核
swap_limit: 17179869184 # 16GB
environment:
RCODER_AGENT_IDLE_TIMEOUT_SECS: "3600" # 1小时场景三:节约资源配置
适用于服务器资源紧张或用户需求简单的场景,每个用户容器 2GB 内存 + 1 核 CPU。
resource_limits:
memory_limit: 2147483648 # 2GB
cpu_limit: 1.0 # 1核
swap_limit: 4294967296 # 4GB
environment:
RCODER_AGENT_IDLE_TIMEOUT_SECS: "3600" # 1小时5.3 配置修改后的重启方法
方式一:配置文件修改后重启(推荐)
修改 docker-computer/config/rcoder/config.yml 后:
# 进入部署目录
cd docker-computer
# 重启 rcoder 服务以应用新配置
docker compose restart rcoder
# 查看日志确认配置已生效
docker compose logs -f rcoder方式二:环境变量修改后重启
修改 docker-compose.yml 中的环境变量后:
# 停止服务
docker compose down
# 重新启动(会读取新的环境变量)
docker compose up -d配置热更新说明
以下配置支持热更新(无需重启):
- API Key 鉴权配置 (
api_key_auth):系统会自动检测配置文件变化并重新加载
以下配置需要重启服务才能生效:
- 容器清理配置 (
cleanup_config) - 用户容器资源配置 (
resource_limits) - 端口配置 (
port) - 项目目录配置 (
projects_dir)
注意:
- 修改资源配置后,只对新创建的容器生效,已存在的容器不受影响
- 资源配置要根据服务器总资源和预期并发用户数合理分配
- 建议每个用户容器至少分配 2GB 内存和 1 核 CPU
六、故障排查
1. 容器启动失败
# 查看容器状态
docker compose ps
# 查看详细日志
docker compose logs
# 检查端口占用
netstat -tlnp | grep -E '9086|9088|60001'2. 无法访问服务
- 检查防火墙设置,确保端口已开放
- 确认服务器 IP 地址配置正确
- 验证 Docker 服务是否正常运行
3. 数据丢失
检查 computer-project-workspace 目录是否完整,升级前务必备份此目录。
4. 性能问题
根据服务器实际配置调整 maxUsers、perUserMemoryGB 和 perUserCpuCores 参数。
更多性能优化,虚拟电脑并发上不去或会话超时卡死问题参考解决方案
5. 容器频繁被清理
现象:用户容器经常被自动清理,影响使用体验。
解决方案:
# 1. 检查当前清理配置
cat docker-computer/config/rcoder/config.yml | grep -A 10 "cleanup_config"
# 2. 调整闲置超时时间(延长至 30 分钟)
# 编辑 config.yml,修改以下配置:
cleanup_config:
idle_timeout_seconds: 1800 # 从 600 改为 1800
cleanup_interval_seconds: 600 # 从 300 改为 600
# 3. 重启服务
docker compose restart rcoder
# 4. 查看日志确认配置生效
docker compose logs -f rcoder | grep cleanup详细配置说明请参考:五、高级配置 → 5.1 容器清理配置
6. 容器资源不足
现象:容器频繁重启或性能差。
解决方案:
# 1. 查看容器资源使用情况
docker stats
# 2. 调整资源限制配置
# 编辑 config.yml,修改以下配置:
docker_config:
multi_image_config:
services:
computer-agent-runner:
resource_limits:
memory_limit: 8589934592 # 增加至 8GB
cpu_limit: 4.0 # 增加至 4核
swap_limit: 17179869184 # 增加至 16GB
# 3. 重启服务
docker compose restart rcoder详细配置说明请参考:五、高级配置 → 5.2 用户容器资源配置
7. 查看配置是否生效
# 查看当前生效的配置
docker compose exec rcoder cat /app/config.yml
# 查看环境变量配置
docker compose exec rcoder env | grep RCODER
# 查看服务启动日志中的配置信息
docker compose logs rcoder | grep -E "配置|Config|最终配置"