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),功能與介面可能隨時變更。 請勿使用真實資金進行交易,除非你完全理解並接受其中的風險。 作者不對任何財務損失負責。
目錄
- 資源評估與規劃決策
- 系統需求與相依套件安裝
- 專案下載與初始化
- 設定 AI Provider 與 Google Gemini API Key
- 啟動 Demo 模式進行本地測試
- Tailscale 遠端存取設定
- 啟用 Paper Trading 與 Alpaca 對接
- 關閉 Evolution Mode 確保安全性
- 部署為系統服務(生產模式)
- 與 OpenClaw / Cindy 的 MCP 整合
- 備份與日常維運
- 安全性注意事項總結
- 資料夾結構參考
- 常見問題與故障排除
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 另建一組:
- 前往 https://ai.google.dev/
- 點選 Get API key → Create API key
- 複製 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 機密管理最佳實踐
.env和data/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 帳號
- 前往 https://alpaca.markets/
- 註冊帳號(Email 即可)
- 登入 Dashboard → Paper Trading → API Keys
- 點 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 |
券商類型:alpaca、ccxt(加密貨幣)、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