← 返回技術博客

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 的問題。

限時優惠 →