跳轉到

GCP VM 部署 OpenAlice 完整步驟指南

v2.0 · 2026-04-17 適用環境:GCP Ubuntu VM、已安裝 OpenClaw Gateway + Mission Control、Tailscale 整理自官方文件與實際部署經驗


前言

OpenAlice 是一套開源、可本地部署的 AI 交易代理引擎,支援多資產市場研究、自動下單、風控護盾與多種 AI 模型切換。本指南針對已有 OpenClaw + Mission Control 環境的 GCP VM,詳細說明如何從零開始部署 OpenAlice,涵蓋資源評估、環境建置、AI 模型與 API Key 設定、Demo 測試、Paper Trading 與 Alpaca 對接、安全性設置、Tailscale 整合、與 Cindy(OpenClaw Agent)的 MCP 協作等。

⚠️ 重要聲明 OpenAlice 仍處於實驗性開發階段(pre-release),功能與介面可能隨時變更。 請勿使用真實資金進行交易,除非你完全理解並接受其中的風險。 作者不對任何財務損失負責。


目錄

  1. 資源評估與規劃決策
  2. 系統需求與相依套件安裝
  3. 專案下載與初始化
  4. 設定 AI Provider 與 Google Gemini API Key
  5. 啟動 Demo 模式進行本地測試
  6. Tailscale 遠端存取設定
  7. 啟用 Paper Trading 與 Alpaca 對接
  8. 關閉 Evolution Mode 確保安全性
  9. 部署為系統服務(生產模式)
  10. 與 OpenClaw / Cindy 的 MCP 整合
  11. 備份與日常維運
  12. 安全性注意事項總結
  13. 資料夾結構參考
  14. 常見問題與故障排除

1. 資源評估與規劃決策

💡 這一節是原版指南完全沒有的,但對你的環境至關重要。

1.1 現有 VM 資源盤點

你目前的 VM(e2-medium)已經在跑以下服務:

服務 記憶體估算 說明
OpenClaw Gateway ~300–500 MB Node.js 程序
Mission Control(5 容器) ~800–1200 MB PostgreSQL + Redis + FastAPI + Next.js + webhook-worker
nginx ~10 MB WebSocket proxy
系統基礎服務 ~300–500 MB systemd、sshd、Tailscale 等
小計 ~1.5–2.2 GB

e2-medium 總共只有 4 GB RAM,扣掉現有服務後,剩餘約 1.8–2.5 GB

1.2 OpenAlice 資源需求

項目 需求
記憶體 ~500 MB–1 GB(Node.js 後端 + React 前端)
磁碟 ~2–5 GB(含 node_modules、交易歷史、日誌)
CPU 低(主要是 API 呼叫與資料處理,非運算密集)

1.3 決策:同 VM 還是開新 VM?

方案 優點 缺點
A:同一台 VM(e2-medium) 省錢、共用 Tailscale 記憶體吃緊(可能 OOM)、服務互相影響
B:同一台 VM,升級 e2-standard-2(8GB) 充裕空間、共用 Tailscale 費用增加約 2 倍
C:開新 VM(e2-small 或 e2-medium) 完全隔離、互不影響 額外月費、需要設定 Tailscale

🔴 建議:如果選擇方案 A(維持 e2-medium),務必先確認記憶體: bash free -h docker stats --no-stream 若可用記憶體低於 1.5 GB,強烈建議升級到 e2-standard-2(8GB)再安裝

若走方案 B,升級步驟:GCP Console → VM 執行個體 → 停止 VM → 編輯 → 機型改為 e2-standard-2 → 儲存 → 啟動。

1.4 磁碟空間確認

df -h /

建議剩餘空間 ≥ 8 GB。若不足,先清理或擴容(參考 OpenClaw 安裝指南十二節)。

1.5 Port 衝突預檢

OpenAlice 預設使用 port 3002,在安裝前確認沒有被佔用:

# 確認 3002 沒被佔用
ss -tlnp | grep 3002

# 列出目前所有 Tailscale serve 的 port 對應
tailscale serve status

如果 3002 被佔用,可以在 OpenAlice 的 data/config/connectors.json 修改。


2. 系統需求與相依套件安裝

2.1 前置確認清單

項目 說明 / 確認方式
GCP VM Ubuntu 24.04 LTS,記憶體 ≥ 4 GB
Node.js 22.x 以上(node --version
pnpm 10.x 以上(pnpm --version
git 已安裝(git --version
AI API Key Google Gemini API Key(Google AI Studio 取得)
Alpaca 帳號 Paper Trading API Key(若要測試交易功能)

2.2 系統更新與基礎工具

sudo apt update && sudo apt upgrade -y
sudo apt install -y git build-essential python3 python3-pip curl

2.3 Node.js(使用現有 NVM)

💡 你的 VM 已經透過 NVM 安裝了 Node.js(OpenClaw 需要),直接確認版本即可。

# 確認 NVM 已載入
source ~/.bashrc
node --version   # 需要 v22.x 以上
npm --version

如果版本低於 22.x,用 NVM 升級:

nvm install 22
nvm alias default 22
node --version

⚠️ 不要移除原本的 Node.js 版本,OpenClaw Gateway 可能依賴特定版本。 NVM 的好處就是可以多版本共存,用 nvm use 切換。

2.4 安裝 pnpm

OpenAlice 使用 pnpm 作為套件管理器(不是 npm):

# 方法一:用 corepack(推薦,Node.js 16.13+ 內建)
corepack enable
corepack prepare pnpm@latest-10 --activate
pnpm --version   # 應顯示 10.x.x

# 方法二:用 npm
npm install -g pnpm@latest-10

2.5 Claude Code CLI(可選)

OpenAlice 預設使用 Claude Agent SDK,需要 Claude Code CLI 登入。如果你打算用 Vercel AI SDK + Google Gemini,可以跳過這步。

npm install -g @anthropic-ai/claude-code
claude auth   # 依指示登入(需要 Claude Pro/Max 訂閱)

3. 專案下載與初始化

3.1 下載專案

cd ~
git clone https://github.com/TraderAlice/OpenAlice.git
cd OpenAlice

3.2 安裝依賴與編譯

pnpm install
pnpm build

⏱️ pnpm install 約需 2–5 分鐘,pnpm build 約需 1–3 分鐘。 若 VM 記憶體不足導致 build 失敗,可嘗試限制 Node.js 記憶體: bash NODE_OPTIONS="--max-old-space-size=2048" pnpm build

3.3 首次啟動行為

首次啟動時,OpenAlice 會自動建立 data/ 目錄與所有預設設定檔,包含 AI 記憶、交易帳戶、persona 等。不需要手動建立。


4. 設定 AI Provider 與 Google Gemini API Key

4.1 為什麼用 Vercel AI SDK + Gemini?

OpenAlice 預設使用 Claude Agent SDK(需要 Claude Pro/Max 訂閱),但你已經有 Google Gemini API Key 在用(Cindy 就是用 gemini-2.5-flash),所以切換到 Vercel AI SDK + Gemini 是最經濟的選擇。

4.2 取得 Google Gemini API Key

如果你已有 Gemini API Key(OpenClaw 在用的那組),可以直接共用。若要獨立管理,到 Google AI Studio 另建一組:

  1. 前往 https://ai.google.dev/
  2. 點選 Get API keyCreate API key
  3. 複製 API Key

⚠️ 建議為 OpenAlice 單獨建立一組 API Key,方便追蹤用量和設定獨立的 spending cap。

4.3 編輯 AI Provider 設定

先啟動一次 OpenAlice(pnpm dev,等看到 listening on 3002 後 Ctrl+C 停止),讓它自動建立 data/config/ 目錄,然後編輯:

cat > ~/OpenAlice/data/config/ai-provider.json << 'EOF'
{
  "backend": "vercel-ai-sdk",
  "provider": "google",
  "model": "gemini-2.5-flash",
  "apiKeys": {
    "google": "你的_GOOGLE_GEMINI_API_KEY"
  }
}
EOF

⚠️ 模型名稱注意 - gemini-2.5-flash:推薦,速度快、成本低(與 Cindy 一致) - gemini-2.5-pro:深度分析時使用,但較慢且貴 - ~~gemini-1.5-pro-latest~~:舊版模型,不建議使用

4.4 使用環境變數注入(更安全)

不想把 API Key 寫死在 JSON 裡,可以用環境變數:

# 加入 .env
echo 'GOOGLE_GENERATIVE_AI_API_KEY=你的_API_KEY' >> ~/OpenAlice/.env

然後 ai-provider.json 裡的 apiKeys 欄位可以留空,OpenAlice 會自動讀取環境變數。

4.5 機密管理最佳實踐

  • .envdata/config/ai-provider.json 已預設在 .gitignore,確認沒有被移除
  • API Key 不要出現在 Telegram 對話、Notion、或任何 chat 記錄
  • 建議在 Google AI Studio 設定 spending cap,避免意外爆量
  • 定期到 Google AI Studio 檢查 API 使用量(這是最準確的計費來源,與 OpenClaw 經驗一致)

5. 啟動 Demo 模式進行本地測試

5.1 啟動

cd ~/OpenAlice
pnpm dev

成功會看到類似:

OpenAlice listening on http://localhost:3002

5.2 驗證

# 另開一個 SSH session 測試
curl -s http://localhost:3002 | head -20

應回傳 HTML 內容(OpenAlice Web UI)。

5.3 常見端口說明

端口 用途 啟動指令
3002 後端 + UI(預設) pnpm dev
5173 前端開發熱重載 pnpm dev:ui
3001 MCP 工具協議 自動啟動

5.4 記憶體監控

啟動後立刻確認記憶體使用狀況:

free -h
ps aux --sort=-%mem | head -10

🔴 若可用記憶體低於 500 MB,建議升級 VM 或關閉不必要的服務再使用。 過去 OpenClaw 就發生過 openclaw doctor --repair 觸發 npm install 導致 OOM crash 的教訓。


6. Tailscale 遠端存取設定

💡 你的架構完全依賴 Tailscale,這一節是原版指南缺少的。

6.1 新增 Tailscale Serve 對應

# OpenAlice Web UI → port 8445(或其他未使用的 port)
tailscale serve --bg --https=8445 localhost:3002

# 確認所有 port 對應
tailscale serve status

⚠️ port 選擇注意 你目前已用的 port:443(Mission Control)、8443(Backend API)、8444(Gateway UI)。 如果 8445 已被 Revenue Dashboard 使用,請換用 8446 或其他空閒 port。 先用 tailscale serve status 確認現況。

完成後的服務對應:

Port 服務 說明
443 Mission Control 前端 localhost:3000
8443 Mission Control 後端 API localhost:8000
8444 OpenClaw Gateway UI localhost:18789
8445 Revenue Dashboard 或 OpenAlice localhost:18791 或 3002
8446 OpenAlice Web UI(若 8445 已用) localhost:3002

6.2 確認 gateway.tailscale.mode 設定

由於你已經在 openclaw.json 設了 tailscale.mode: off,OpenClaw 重啟不會覆蓋 Tailscale Serve 設定。這個設定要繼續保持。

6.3 瀏覽器測試

在本機瀏覽器開啟:

https://你的tailscale網址:8446

應可看到 OpenAlice 的聊天介面。


7. 啟用 Paper Trading 與 Alpaca 對接

7.1 台灣用戶使用 Alpaca 的注意事項

⚠️ 原版指南沒有提到這點,但對你很重要。

  • Paper Trading:全球用戶皆可免費申請,只需 Email 註冊,不需要身份驗證。這是你 Phase 1 要用的。
  • Live Trading:台灣居民是否可開立 Live 帳戶,Alpaca 官方沒有明確列出完整的支援國家清單。建議直接聯繫 support@alpaca.markets 確認。
  • 資金入金:非美國用戶只能透過 Rapyd 國際電匯入金,ACH 不可用。只接受 USD。
  • 稅務:美國券商會對非美國居民的股利扣繳 30% 預扣稅(可透過 W-8BEN 表降低)。
  • 台股不支援:Alpaca 只支援美股(US equities)和加密貨幣。台股需要其他方案。

7.2 申請 Alpaca Paper Trading 帳號

  1. 前往 https://alpaca.markets/
  2. 註冊帳號(Email 即可)
  3. 登入 Dashboard → Paper TradingAPI Keys
  4. Generate API Key,記下 API Key 和 Secret Key

⚠️ Secret Key 只顯示一次,請立刻安全保存。

7.3 在 OpenAlice 新增 Alpaca 帳戶

編輯 data/config/accounts.json

[
  {
    "type": "alpaca",
    "enabled": true,
    "label": "Alpaca Paper - US ETFs",
    "guards": {
      "maxPositionSize": 10000,
      "cooldown": 60,
      "symbolWhitelist": ["SPY", "QQQ", "VOO", "VTI", "NVDA", "AAPL", "TSLA"]
    },
    "brokerConfig": {
      "apiKey": "YOUR_ALPACA_API_KEY",
      "secretKey": "YOUR_ALPACA_SECRET_KEY",
      "paper": true
    }
  }
]

各欄位說明:

欄位 說明
type 券商類型:alpacaccxt(加密貨幣)、ibkr(Interactive Brokers)
enabled 是否啟用此帳戶
label 帳戶顯示名稱
guards.maxPositionSize 單筆最大倉位金額(USD),AI 無法繞過
guards.cooldown 兩筆交易間隔秒數,防止 AI 連續下單
guards.symbolWhitelist 允許交易的標的白名單,限制 AI 可操作的範圍
brokerConfig.paper true = Paper Trading(模擬),false = Live(真實資金)

🔴 Phase 1 務必保持 paper: true,確認策略穩定後再考慮 Live。

7.4 測試連線

啟動 OpenAlice 後,在 Web UI 的 Trading 頁面檢查帳戶狀態,或在聊天框輸入:

測試 Alpaca 連線

成功會顯示帳戶餘額(Paper 帳戶預設 10 萬美元虛擬資金)。

7.5 交易安全機制:Trading-as-Git

OpenAlice 的下單流程模仿 Git:

stage(暫存)→ commit(確認)→ push(執行)→ approval(人工核准)

每筆交易都需要經過 Guard Pipeline 的安全檢查,並且需要人工明確核准 push 步驟,AI 無法自動跳過。這與 Cindy 的 exec-approvals.json 概念類似。

7.6 其他支援的券商

券商 類型 說明
Alpaca alpaca 美股 ETF/個股,Paper + Live
CCXT ccxt 100+ 加密貨幣交易所(Binance、Bybit 等)
Interactive Brokers ibkr 股票、選擇權、期貨、債券(需要 TWS/Gateway)

💡 IBKR 整合需要在本地或 VM 上跑 TWS Gateway,設定較複雜。Phase 1 建議先用 Alpaca Paper。


8. 關閉 Evolution Mode 確保安全性

8.1 什麼是 Evolution Mode?

模式 AI 存取範圍 風險等級
Normal Mode(預設) data/brain/ 目錄 🟢 低
Evolution Mode 整個專案目錄,可修改原始碼、執行 Shell 🔴 極高

8.2 確認 Evolution Mode 已關閉

cat ~/OpenAlice/data/config/agent.json | python3 -c "
import sys, json
c = json.load(sys.stdin)
print('evolutionMode:', c.get('evolutionMode', 'not set (default: false)'))
"

如果顯示 true,立即修正:

python3 -c "
import json
with open('/home/your_username/OpenAlice/data/config/agent.json', 'r') as f:
    c = json.load(f)
c['evolutionMode'] = False
with open('/home/your_username/OpenAlice/data/config/agent.json', 'w') as f:
    json.dump(c, f, indent=2)
print('已關閉 Evolution Mode')
"

或在 Web UI → Settings → 關閉「Full project access」開關。

🔴 務必關閉 Evolution Mode,這與 OpenClaw 的 exec.security 概念相同—— 給 AI 越少權限越安全。


9. 部署為系統服務(生產模式)

⚠️ 原版指南的 systemd service 使用 pnpm dev,這是開發模式,不適合生產環境。 生產環境應先 build,然後用 pnpm start(如果專案支援)或直接用 Node 執行編譯產物。

9.1 確認生產啟動指令

cd ~/OpenAlice
# 先確認 package.json 裡有沒有 start script
grep '"start"' package.json

如果有 start script,用 pnpm start;如果沒有,仍用 pnpm dev(部分專案 dev 和 start 相同)。

9.2 建立 systemd 服務(user 層級)

💡 與 OpenClaw 一致,使用 user 層級 systemd,避免 sudo 權限問題。

mkdir -p ~/.config/systemd/user/

cat > ~/.config/systemd/user/openalice.service << 'EOF'
[Unit]
Description=OpenAlice AI Trading Agent
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
WorkingDirectory=%h/OpenAlice
Environment="NVM_DIR=%h/.nvm"
Environment="PATH=%h/.nvm/versions/node/v25.8.0/bin:%h/.npm-global/bin:/usr/local/bin:/usr/bin:/bin"
ExecStart=%h/.nvm/versions/node/v25.8.0/bin/node %h/.nvm/versions/node/v25.8.0/bin/pnpm dev
Restart=on-failure
RestartSec=10

[Install]
WantedBy=default.target
EOF

⚠️ v25.8.0 換成你的實際 Node.js 版本(node --version 確認)。

9.3 啟用服務

systemctl --user daemon-reload
systemctl --user enable openalice
systemctl --user start openalice

# 確認狀態
systemctl --user status openalice

# 查看 log
journalctl --user -u openalice -f

9.4 確認 linger 已啟用

loginctl show-user $USER | grep Linger
# 應顯示 Linger=yes(OpenClaw 安裝時已設定過)

如果不是 yes

sudo loginctl enable-linger $USER

9.5 確認不會與 OpenClaw 衝突

# 列出所有 user 層級服務
systemctl --user list-units --type=service | grep -E "openclaw|openalice"

# 確認 port 沒有衝突
ss -tlnp | grep -E "3002|18789|3000|8000"

10. 與 OpenClaw / Cindy 的 MCP 整合

💡 這是原版指南完全沒有的章節,但對你未來的架構至關重要。

10.1 MCP 是什麼?

MCP(Model Context Protocol)是 AI Agent 之間互相呼叫工具的標準協議。OpenAlice 內建 MCP 工具匯出功能(port 3001),Cindy 可以透過 MCP 與 OpenAlice 互動,例如:

  • 查詢帳戶狀態和持倉
  • 取得市場分析結果
  • 觸發交易指令(仍需人工核准)

10.2 Phase 1:獨立運行(現階段)

先讓 OpenAlice 獨立運行,熟悉介面和操作流程。不急著整合。

10.3 Phase 2:MCP 整合(未來)

待 OpenAlice 穩定運行後,可以在 OpenClaw 的 skill 設定中加入 OpenAlice 的 MCP endpoint:

MCP endpoint: http://localhost:3001

這樣 Cindy 就能透過 Telegram 下達交易相關指令給 OpenAlice。

⚠️ MCP 整合的具體設定取決於 OpenClaw 和 OpenAlice 的版本,屆時需要參考最新文件。 目前 OpenAlice 的 MCP 介面仍在穩定化階段。

10.4 Tailscale Loopback 注意

Cindy 在同一台 VM 上呼叫 OpenAlice 時,必須用 localhost:3001(或 localhost:3002),不能用 Tailscale HTTPS URL。這與 Mission Control 的 BASE_URL 踩過的坑一樣(Tailscale loopback 限制)。


11. 備份與日常維運

11.1 備份 OpenAlice 資料

OpenAlice 的所有狀態都在 data/ 目錄,備份這個目錄即可:

# 加入現有的 backup.sh
# 在 ~/.openclaw/workspace/scripts/backup.sh 中新增:
tar -czf ~/backups/openalice-data-$(date +%Y%m%d).tar.gz -C ~/OpenAlice data/

或獨立建立 cron job:

# 每日 02:30 備份(與 OpenClaw 備份錯開 30 分鐘)
crontab -e
# 加入:
30 2 * * * tar -czf ~/backups/openalice-data-$(date +\%Y\%m\%d).tar.gz -C ~/OpenAlice data/ 2>/dev/null

11.2 日常健康確認指令

# OpenAlice 服務狀態
systemctl --user status openalice

# 記憶體使用
free -h

# 磁碟空間
df -h /

# 所有服務一覽
systemctl --user list-units --type=service --state=running

# OpenAlice log(最近 30 行)
journalctl --user -u openalice -n 30 --no-pager

11.3 升級 OpenAlice

# 停止服務
systemctl --user stop openalice

# 備份 data/
cp -r ~/OpenAlice/data ~/OpenAlice/data.bak.$(date +%Y%m%d)

# 拉取更新
cd ~/OpenAlice
git pull

# 重新安裝依賴與編譯
pnpm install
pnpm build

# 重新啟動
systemctl --user start openalice
systemctl --user status openalice

⚠️ OpenAlice 迭代很快(與 OpenClaw 類似),升級前務必備份 data/


12. 安全性注意事項總結

項目 說明 狀態
Evolution Mode 務必關閉,防止 AI 越權操作 ⬜ 確認
API Key 管理 不寫死在程式碼,用 .env 或 Secret Manager ⬜ 確認
Guard Pipeline 每個帳戶獨立風控,設定 maxPositionSize、cooldown、symbolWhitelist ⬜ 確認
Paper 模式 Phase 1 務必用 paper: true ⬜ 確認
Tailscale 存取 僅透過 Tailscale 存取 UI,不開放公網 ⬜ 確認
SSH 金鑰登入 PasswordAuthentication no(已設定) ✅ 完成
Spending Cap Google AI Studio 設定 API 花費上限 ⬜ 確認
.gitignore 確認 .env 和 data/config/ 在忽略清單 ⬜ 確認
交易核准 push 步驟需要人工核准,AI 無法自動執行 ✅ 內建
日誌審計 定期檢查 event-log 和交易歷史 ⬜ 定期

13. 資料夾結構參考

~/OpenAlice/
├── data/                    # ← 所有狀態資料,備份這個目錄即可
│   ├── config/              # JSON 設定檔(ai-provider.json, agent.json, accounts.json 等)
│   ├── brain/               # AI 記憶、情緒、persona.md(可自訂 AI 風格)
│   ├── sessions/            # 對話歷史
│   ├── trading/             # 交易帳戶狀態與歷史
│   ├── event-log/           # 事件日誌
│   ├── cron/                # 定時任務
│   ├── news-collector/      # 新聞存檔
│   ├── tool-calls/          # 工具調用日誌
│   └── media/               # 上傳附件
├── default/                 # 工廠預設(persona, heartbeat, skills)
├── packages/
│   ├── ibkr/                # @traderalice/ibkr — IBKR TWS API TypeScript port
│   └── opentypebb/          # @traderalice/opentypebb — OpenBB 金融資料平台
├── src/                     # 原始碼
├── ui/                      # React 前端(Vite, 13 頁面)
├── dist/                    # 編譯產物
├── .env                     # 環境變數(不要 commit)
└── package.json

14. 常見問題與故障排除

症狀 原因 解法
pnpm install 失敗 Node.js 版本太低或網路問題 確認 node --version ≥ 22.x,檢查網路
pnpm build OOM crash VM 記憶體不足 設定 NODE_OPTIONS="--max-old-space-size=2048",或升級 VM
Port 3002 被佔用 其他服務已使用 lsof -i:3002 查找進程,或修改 connectors.json
API Key 無效 金鑰錯誤或過期 到 Google AI Studio 確認,檢查 spending cap
Tailscale 連不到 OpenAlice Tailscale serve 未設定 執行第 6 節設定
記憶體一直不夠 OpenClaw + Mission Control + OpenAlice 太多 升級 VM 到 e2-standard-2(8GB)
交易下單失敗 Alpaca API Key 錯誤或網路問題 檢查 accounts.json,確認 paper: true
Claude Code 認證失敗 未安裝或未登入 Claude Code CLI 改用 Vercel AI SDK + Gemini 繞過
升級後設定遺失 git pull 覆蓋了 data/ 先備份 data/ 再升級
OpenClaw 同時 OOM 兩個 Node.js 程序同時消耗過多記憶體 監控 free -h,考慮分開 VM

附錄 A:台股支援現況

OpenAlice 目前不支援台股。支援的市場:

市場 券商 說明
美股 Alpaca ETF、個股
加密貨幣 CCXT Binance、Bybit 等 100+ 交易所
全球股票/選擇權/期貨 Interactive Brokers 需要 TWS Gateway

如果要交易台股,可能的方案: - 透過 IBKR 交易台股(IBKR 支援台灣市場,但需要另外開戶) - 等待社群開發台股 broker plugin - 自行開發 CCXT adapter 或自訂 broker


附錄 B:完整服務清單(安裝 OpenAlice 後)

服務 管理方式 Port 說明
openclaw-gateway systemd (user) 18789 OpenClaw Gateway
Mission Control Docker Compose 3000, 8000, 5432, 6379 5 個容器
nginx systemd (system) 18790 WebSocket proxy
openalice systemd (user) 3002, 3001 OpenAlice 後端 + MCP
Tailscale systemd (system) VPN 隧道

Tailscale Serve 對應:

HTTPS Port 內部服務 說明
443 localhost:3000 Mission Control 前端
8443 localhost:8000 Mission Control 後端 API
8444 localhost:18789 OpenClaw Gateway UI
8445/8446 localhost:3002 OpenAlice Web UI

附錄 C:部署 Checklist

  • [ ] 確認 VM 記憶體 ≥ 4 GB(建議 8 GB)
  • [ ] 確認磁碟剩餘 ≥ 8 GB
  • [ ] 確認 port 3002 未被佔用
  • [ ] 安裝 pnpm 10.x
  • [ ] git clone + pnpm install + pnpm build
  • [ ] 設定 ai-provider.json(Vercel AI SDK + Gemini)
  • [ ] 首次 pnpm dev 測試正常
  • [ ] 設定 Tailscale Serve 對應
  • [ ] 確認 Evolution Mode 已關閉
  • [ ] 設定 Alpaca Paper Trading 帳戶
  • [ ] 測試 Alpaca 連線成功
  • [ ] 建立 systemd user service
  • [ ] 設定備份腳本
  • [ ] 確認 Google AI Studio spending cap

版本更新紀錄

版本 日期 變更
v1.0 2026-04-xx 初版(Deep Research 產出)
v2.0 2026-04-17 新增:資源評估、Tailscale 整合、MCP 整合、台灣用戶注意事項、port 衝突檢查、備份整合、systemd user 層級服務、模型名稱更新、生產模式說明、部署 Checklist

整理自官方文件與實際部署經驗 · v2.0 · 2026-04-17