← 返回技术博客

OpenCode Review 本地部署服务器选型:4GB vs 8GB vs 16GB

OpenCode Review 本地部署服务器选型:4GB vs 8GB vs 16GB

团队想在私有网络里用 OpenCode 审查 PR,却卡在「4GB VPS 够不够」——我们在三台 Linux VPS(4/8/16GB)上跑了相同的 opencode serve + PR 审查任务,测峰值内存、swap 与端到端耗时。**结论:纯 API 轻量审查 4GB 勉强可用;日常团队 8GB 是底线;并行多仓库 + MCP 直接 16GB。**

上周有个 12 人后端团队来找我们评估方案:他们想在公司内网用 OpenCode 做 PR Code Review,不走 GitHub Copilot 云端审查,代码 diff 不能出私有网络。运维同事直接甩过来三张 VPS 报价单——4GB、8GB、16GB,问「到底买哪档」。

这不是「OpenCode 是什么」的问题,而是自托管审查服务到底吃多少资源。我们在三台同规格 Linux VPS(Ubuntu 22.04,2 vCPU,仅内存不同)上跑了相同的 opencode serve + PR 审查工作流,记录峰值内存、swap 次数和端到端耗时。结论先说:

  • 4GB:个人试用 / 单仓库轻量审查,能跑但 swap 频繁
  • 8GB:小团队日常审查的最低可用线
  • 16GB:并行多仓库 + MCP + 长会话,推荐生产默认档

本地部署到底在跑什么

很多人以为 opencode serve 只是一个轻量 Web 服务——进程本身确实不大(空闲约 150–250MB RSS)。但 OpenCode 做 Code Review 时,Agent 会在服务器上执行一系列本地操作:

操作 典型内存影响
git clone / git diff 大仓库 200MB–1GB(取决于仓库体积)
LSP 语言服务器(TypeScript、Go 等) 300MB–800MB/实例
npm test / pytest 子进程 500MB–2GB
MCP 服务器(filesystem、github 等) 100MB–500MB/实例
SQLite 会话数据库(长期累积) 可达 1–2GB(#16729

所以选服务器,不是看 opencode serve --port 4096 占多少,而是看审查任务触发的子进程峰值

两种部署模式

OpenCode 提供两种自托管入口(官方文档):

opencode serve(无头 API 服务器)

OPENCODE_SERVER_PASSWORD=your-secret opencode serve \
  --hostname 0.0.0.0 \
  --port 4096
  • 暴露 OpenAPI 3.1 端点(/doc 可查看 Swagger)
  • TUI 客户端通过 opencode attach http://host:4096 连接
  • 适合 CI webhook 触发、团队统一审查网关

opencode web(浏览器 UI)

OPENCODE_SERVER_PASSWORD=your-secret opencode web \
  --hostname 0.0.0.0 \
  --port 4096
  • 自动打开浏览器界面
  • 适合工程师手动粘贴 PR diff 审查
  • 生产环境建议加 Nginx/Caddy 反向代理 + HTTPS

安全底线:必须设置 OPENCODE_SERVER_PASSWORD;不要把 0.0.0.0 暴露到公网而不加认证和防火墙。

实测环境

项目 规格
VPS 三台 Ubuntu 22.04,2 vCPU,SSD 40GB,内存 4/8/16GB
OpenCode 2026.7 版,连接 Anthropic Claude Sonnet API
测试仓库 ① TypeScript monorepo(pnpm,约 120 包)② Go 微服务(含 Docker Compose)
审查任务 模拟 PR:Agent 读 diff → 跑 lint → 跑单测 → 输出 Critical/Warning/Suggestion
采样 每场景 3 次取中位数;free -m + /proc/PID/status 记峰值

三档内存横向对比

场景 S1:单仓库轻量 PR(改 3 文件,无测试)

配置 峰值内存 Swap 审查耗时
4GB 2.1 GB 轻微(~80MB) 38s
8GB 2.1 GB 36s
16GB 2.1 GB 35s

4GB 勉强可用,但已有 swap 迹象。

场景 S2:中型 PR + lint + 单测

配置 峰值内存 Swap 审查耗时
4GB 3.8 GB 严重(~1.2GB) 2m 48s
8GB 3.6 GB 1m 12s
16GB 3.6 GB 1m 08s

4GB 耗时翻倍,8GB 是分水岭。

场景 S3:并行 2 个仓库审查 + MCP filesystem

配置 峰值内存 Swap 审查耗时
4GB OOM Kill 失败
8GB 7.2 GB 频繁(~2GB) 4m 15s
16GB 6.8 GB 2m 02s

8GB 能跑但卡顿,16GB 才是舒适区。

场景 S4:长会话(连续运行 48 小时,20+ 次审查)

配置 进程 RSS SQLite DB 系统 swap
4GB 1.4 GB 890 MB 持续 2GB+
8GB 1.1 GB 1.2 GB 1.15 GB(与 #16729 接近)
16GB 980 MB 1.2 GB

长期运行后数据库膨胀是共性问题。建议在 opencode.json 启用 retention:

{
  "retention": {
    "days": 30
  }
}

4GB:什么情况下能忍

适合:

  • 个人开发者,偶尔审查自己的小 PR
  • 只连云端 API,不跑本地测试
  • 能接受审查慢 2–3 倍、偶尔 OOM 重启

不适合:

  • 团队共用一台审查服务器
  • 需要 MCP 或并行审查
  • 7×24 常驻服务

省钱技巧:4GB VPS 做「按需启动」——收到 PR webhook 才 systemctl start opencode,审查完自动 shutdown。比 7×24 跑 16GB 便宜,但冷启动要 15–30 秒。

8GB:小团队最低线

8GB 是我们给大多数团队的起步推荐

  • 可同时跑 opencode serve + 1 个 LSP + 单仓库完整审查流程
  • 峰值通常在 5–7GB,留 1–2GB 给系统
  • 月租 VPS 约 $12–24(Hetzner、Vultr、DigitalOcean 同档)

注意事项:

  • 限制并行审查会话为 1–2 个
  • 每周重启一次服务 + VACUUM 数据库
  • 设置 OPENCODE_DIAGNOSTICS=1 监控内存趋势

16GB:生产默认档

以下场景直接上 16GB:

  • 3 人以上团队共用审查网关
  • 并行审查 2+ 仓库
  • 启用 MCP(GitHub、Jira、filesystem)
  • 需要跑 npm test / docker compose 验证 PR
  • 7×24 常驻,不想频繁维护

16GB VPS 月租约 $24–48,比雇一个兼职 Code Review 便宜几个数量级。

除了内存还要看什么

维度 建议
CPU 2 vCPU 起步;并行审查建议 4 vCPU
磁盘 SSD 40GB+;SQLite DB 和 git clone 会占空间
网络 出站 HTTPS 访问模型 API;入站限制内网 IP
系统 Ubuntu 22.04 LTS 或 Debian 12;Node/Bun 由 OpenCode 自带
备份 定期备份 ~/.local/share/opencode/ 目录

混合方案:VPS + 云端 Mac

如果你的审查任务涉及 iOS / Xcode 构建验证,Linux VPS 无论多少内存都跑不了 xcodebuild。两种常见混合架构:

  1. Linux VPS(8GB)opencode serve 做通用代码审查
  2. 云端 Mac mini(16GB+) 通过 MCP 或 webhook 处理 iOS 专项审查

我们在 Claude Code 内存选型实测 中详细测过 M4 Mac mini 各档内存表现——OpenCode 的 Agent 子进程模式与 Claude Code 高度相似,结论可以互相参考。

5 分钟部署清单

# 1. 安装 OpenCode
curl -fsSL https://opencode.ai/install | bash

# 2. 配置 API Key(推荐 env-file,不要写进命令行)
cat > /etc/opencode.env <<'EOF'
ANTHROPIC_API_KEY=sk-ant-...
OPENCODE_SERVER_PASSWORD=your-strong-password
OPENCODE_SERVER_USERNAME=review-bot
EOF

# 3. 创建 systemd 服务
sudo tee /etc/systemd/system/opencode-serve.service <<'EOF'
[Unit]
Description=OpenCode Review Server
After=network.target

[Service]
EnvironmentFile=/etc/opencode.env
ExecStart=/usr/local/bin/opencode serve --hostname 127.0.0.1 --port 4096
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

# 4. 启动
sudo systemctl enable --now opencode-serve

# 5. Nginx 反代(可选,加 HTTPS)
# location /opencode/ { proxy_pass http://127.0.0.1:4096/; }

分档选购速查表

你的情况 推荐配置 月租参考
个人偶尔审查小 PR 4GB VPS(按需启停) $4–8
2–5 人团队,单仓库 8GB VPS $12–24
5+ 人团队,多仓库并行 16GB VPS $24–48
含 iOS/Xcode 审查 16GB 云端 Mac mini 按小时/月租
高安全合规(代码不出网) 16GB 内网物理机 + 本地模型 一次性硬件投入

结论

OpenCode Review 本地部署的内存瓶颈不在 opencode serve 本身,而在 Agent 审查时拉起的 git、LSP、测试和 MCP 子进程。4GB 能跑但不舒服;8GB 是小团队底线;16GB 是生产环境的省心选择。如果你还需要审查 iOS 代码或跑 Xcode 相关 MCP,直接看云端 Mac mini——Linux VPS 再加大内存也解决不了 xcodebuild 的问题。

限时优惠 →