環境:Mac Mini M4 (16GB RAM) · macOS Sequoia
目標:建立多 Agent 系統,透過 CLIProxyAPIPlus 代理 ChatGPT 5.4 OAuth + OpenRouter (Kimi K2.5) 雙通道 API,實現自動 failover 和智慧模型路由
日期:2026 年 3 月
OpenClaw Multi-Agent + CLIProxyAPIPlus Complete Deployment Guide
架構總覽
┌──────────────────────┐
│ OpenClaw Gateway │
│ (多 Agent 系統) │
│ │
│ ┌─────────────────┐ │ ┌──────────────────────────┐
│ │ Agent: 主助理 │─┼────▶│ CLIProxyAPIPlus │
│ │ Agent: 行銷 │ │ │ localhost:8317 │
│ │ Agent: 開發 │ │ │ │
│ │ Agent: 研究 │ │ │ ┌──────────────────────┐ │
│ │ Agent: 客服 │ │ │ │ 優先:ChatGPT 5.4 │ │──▶ OpenAI OAuth
│ └─────────────────┘ │ │ │ (OAuth, 免 API Key) │ │
│ │ │ ├──────────────────────┤ │
│ Telegram Bots │ │ │ 備援:OpenRouter API │ │──▶ Kimi K2.5
│ (每 Agent 一個 Bot) │ │ │ (Kimi K2.5 fallback) │ │
└──────────────────────┘ │ └──────────────────────┘ │
└──────────────────────────┘
核心邏輯:所有 Agent 的 API 請求都打到 localhost:8317(CLIProxyAPIPlus),CLIProxyAPIPlus 優先用你的 ChatGPT Plus/Pro 訂閱的 OAuth token 呼叫 GPT-5.4,當 quota 用完或 rate limit 觸發時,自動 fallback 到 OpenRouter 的 Kimi K2.5。
第一部分:安裝 CLIProxyAPIPlus
1.1 安裝 Go 環境
brew install go
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.zshrc
source ~/.zshrc
go version # 確認安裝成功
1.2 Clone 並編譯 CLIProxyAPIPlus
mkdir -p ~/ai-infra && cd ~/ai-infra
git clone https://github.com/router-for-me/CLIProxyAPIPlus.git
cd CLIProxyAPIPlus
go build -o cliproxyapi ./cmd/server
chmod +x cliproxyapi
# 可選:放到 PATH
sudo cp cliproxyapi /usr/local/bin/
1.3 建立設定目錄
mkdir -p ~/.cli-proxy-api
1.4 建立 config.yaml
這是最關鍵的設定檔。我們要同時設定 ChatGPT OAuth(主要)和 OpenRouter API Key(備援):
# ~/.cli-proxy-api/config.yaml
# CLIProxyAPIPlus 設定 — ChatGPT 5.4 OAuth + OpenRouter Kimi K2.5
port: 8317
# 管理介面
remote-management:
allow-remote: false
secret-key: "your-secret-key-change-me"
# OAuth token 存放目錄
auth-dir: "~/.cli-proxy-api"
# 除錯模式(初次設定建議開啟,穩定後關閉)
debug: true
logging-to-file: true
# 用量統計
usage-statistics-enabled: true
# 重試設定
request-retry: 3
# Quota 用完時的行為
quota-exceeded:
switch-project: true
switch-preview-model: true
# API Key 認證設定
auth:
# 你的 OpenClaw 用這個 key 來打 CLIProxyAPIPlus
providers:
- type: "api-key"
key: "sk-openclaw-proxy-key-2026"
# OpenRouter API Key(作為第三方 provider 備援)
generative-language-api-key: []
# ═══════════════════════════════════════════
# 第三方 Provider 設定 — OpenRouter (Kimi K2.5)
# ═══════════════════════════════════════════
openai-compatibility:
- name: "openrouter"
base-url: "https://openrouter.ai/api/v1"
api-keys:
- key: "sk-or-v1-你的OpenRouter金鑰"
models:
- "moonshotai/kimi-k2.5"
- "moonshotai/kimi-k2-0905"
- "anthropic/claude-sonnet-4"
- "anthropic/claude-haiku-4.5"
- "google/gemini-2.5-flash"
# ═══════════════════════════════════════════
# 模型別名 — 讓 OpenClaw 用統一模型名稱
# ═══════════════════════════════════════════
model-aliases:
# 主力模型:GPT-5.4(走 ChatGPT OAuth)
- alias: "gpt-5.4"
target: "gpt-5.4-2026-03-05"
channel: "codex"
- alias: "gpt-5.4-thinking"
target: "gpt-5.4-2026-03-05"
channel: "codex"
# 備援模型:Kimi K2.5(走 OpenRouter)
- alias: "kimi-k2.5"
target: "moonshotai/kimi-k2.5"
channel: "openai-compatibility"
# 輕量模型:用於簡單任務
- alias: "gemini-flash"
target: "google/gemini-2.5-flash"
channel: "openai-compatibility"
# ═══════════════════════════════════════════
# Fallback 路由 — GPT-5.4 失敗時切到 Kimi K2.5
# ═══════════════════════════════════════════
model-fallbacks:
- from: "gpt-5.4-2026-03-05"
to: "moonshotai/kimi-k2.5"
- from: "gpt-5.4"
to: "moonshotai/kimi-k2.5"
- from: "gpt-5"
to: "moonshotai/kimi-k2.5"
1.5 登入 ChatGPT OAuth
cd ~/ai-infra/CLIProxyAPIPlus
# 登入 ChatGPT(會開瀏覽器進行 OAuth)
./cliproxyapi --codex-login
# 登入成功後,token 會存在 ~/.cli-proxy-api/ 目錄
# 確認 token 檔案存在:
ls ~/.cli-proxy-api/*.json
注意:你需要有 ChatGPT Plus 或 Pro 訂閱才能使用 OAuth。Token 會自動刷新,但偶爾可能需要重新登入。
1.6 啟動 CLIProxyAPIPlus
# 前景模式(測試用)
cliproxyapi --config ~/.cli-proxy-api/config.yaml
# 背景模式(正式使用)
nohup cliproxyapi --config ~/.cli-proxy-api/config.yaml > ~/.cli-proxy-api/proxy.log 2>&1 &
# 驗證運行
curl http://localhost:8317/v1/models \
-H "Authorization: Bearer sk-openclaw-proxy-key-2026"
1.7 測試 API 通道
# 測試 GPT-5.4(走 ChatGPT OAuth)
curl http://localhost:8317/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-openclaw-proxy-key-2026" \
-d '{
"model": "gpt-5.4",
"messages": [{"role": "user", "content": "Hello, which model are you?"}],
"max_tokens": 100
}'
# 測試 Kimi K2.5(走 OpenRouter)
curl http://localhost:8317/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-openclaw-proxy-key-2026" \
-d '{
"model": "kimi-k2.5",
"messages": [{"role": "user", "content": "Hello, which model are you?"}],
"max_tokens": 100
}'
1.8 設定開機自動啟動(launchd)
cat > ~/Library/LaunchAgents/com.cliproxyapi.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.cliproxyapi</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/cliproxyapi</string>
<string>--config</string>
<string>/Users/YOUR_USERNAME/.cli-proxy-api/config.yaml</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/Users/YOUR_USERNAME/.cli-proxy-api/proxy.log</string>
<key>StandardErrorPath</key>
<string>/Users/YOUR_USERNAME/.cli-proxy-api/proxy-error.log</string>
</dict>
</plist>
EOF
# 記得把 YOUR_USERNAME 換成你的使用者名稱
launchctl load ~/Library/LaunchAgents/com.cliproxyapi.plist
第二部分:安裝 OpenClaw Multi-Agent
2.1 安裝 OpenClaw
npm install -g openclaw@latest
openclaw --version # 確認版本
openclaw onboard # 首次設定精靈
2.2 設定環境變數
在 ~/.zshrc 加入:
# OpenClaw 透過 CLIProxyAPIPlus 存取所有模型
export OPENAI_API_BASE="http://localhost:8317/v1"
export OPENAI_API_KEY="sk-openclaw-proxy-key-2026"
# OpenRouter 直接存取(備用,某些場景 OpenClaw 需要)
export OPENROUTER_API_KEY="sk-or-v1-你的OpenRouter金鑰"
source ~/.zshrc
2.3 建立多個 Agent
# 建立 5 個 Agent
openclaw agents add main
openclaw agents add marketing
openclaw agents add developer
openclaw agents add support
openclaw agents add researcher
# 確認建立成功
openclaw agents list --bindings
2.4 編輯 openclaw.json
{
"env": {
"OPENAI_API_BASE": "http://localhost:8317/v1",
"OPENAI_API_KEY": "sk-openclaw-proxy-key-2026",
"OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}"
},
"gateway": {
"bind": "127.0.0.1",
"port": 18789
},
"agents": {
"defaults": {
"model": {
"primary": "gpt-5.4",
"fallbacks": ["kimi-k2.5", "gemini-flash"]
},
"maxConcurrent": 10
},
"list": [
{
"id": "main",
"default": true,
"name": "主助理",
"workspace": "~/.openclaw/workspace-main",
"model": {
"primary": "gpt-5.4"
}
},
{
"id": "marketing",
"name": "行銷 Agent",
"workspace": "~/.openclaw/workspace-marketing",
"model": {
"primary": "gpt-5.4",
"fallbacks": ["kimi-k2.5"]
}
},
{
"id": "developer",
"name": "開發 Agent",
"workspace": "~/.openclaw/workspace-dev",
"model": {
"primary": "gpt-5.4",
"fallbacks": ["kimi-k2.5"]
},
"tools": {
"allow": ["read", "write", "exec", "web_search", "browser"],
"deny": []
}
},
{
"id": "support",
"name": "客服 Agent",
"workspace": "~/.openclaw/workspace-support",
"model": {
"primary": "gemini-flash"
},
"tools": {
"allow": ["read", "web_search"],
"deny": ["exec", "write", "browser"]
}
},
{
"id": "researcher",
"name": "研究 Agent",
"workspace": "~/.openclaw/workspace-research",
"model": {
"primary": "kimi-k2.5"
},
"tools": {
"allow": ["read", "web_search", "browser"],
"deny": ["exec"]
}
}
]
},
"channels": {
"telegram": {
"accounts": [
{ "id": "tg-main", "token": "BOT_TOKEN_MAIN" },
{ "id": "tg-marketing", "token": "BOT_TOKEN_MARKETING" },
{ "id": "tg-dev", "token": "BOT_TOKEN_DEV" },
{ "id": "tg-support", "token": "BOT_TOKEN_SUPPORT" },
{ "id": "tg-research", "token": "BOT_TOKEN_RESEARCH" }
]
}
},
"bindings": [
{ "channelId": "tg-main", "agentId": "main" },
{ "channelId": "tg-marketing", "agentId": "marketing" },
{ "channelId": "tg-dev", "agentId": "developer" },
{ "channelId": "tg-support", "agentId": "support" },
{ "channelId": "tg-research", "agentId": "researcher" }
]
}
2.5 每個 Agent 的 SOUL.md
每個 Agent 的 workspace 裡都需要一個 SOUL.md 定義人格和指令。
主助理 (~/.openclaw/workspace-main/SOUL.md):
# 主助理 — Tenten AI 中控
你是 Tenten Digital 的 AI 中控助理。
## 核心職責
- 任務分派:判斷訊息適合哪個專業 Agent,必要時轉發
- 一般查詢:回答日常問題和公司內部資訊
- 排程管理:追蹤各 Agent 的任務進度
## 行為準則
- 回覆語言:繁體中文(除非對方用英文)
- 簡潔明確,不廢話
- 遇到專業問題(行銷/開發/客服/研究)要明確說「我幫你轉給 XX Agent」
行銷 Agent (~/.openclaw/workspace-marketing/SOUL.md):
# 行銷 Agent — Tenten 內容行銷專家
你是 Tenten Digital 的 AI 行銷專家。
## 核心能力
- 撰寫社群貼文(Facebook / Instagram / LinkedIn)
- SEO/GEO/AEO 內容策略
- 廣告文案優化(Meta Ads / Google Ads)
- 客戶品牌的內容日曆規劃
## 服務的客戶
- ALUXE Diamond(鑽石精品)
- JOY COLORi(培育鑽石)
- KGI Life Insurance(凱基人壽)
- SD Health(健康保健品)
## 寫作風格
- 避免:「在這個XX的時代」「打造」「賦能」等 AI 腔
- 每篇內容結尾附 SEO metadata(H1/H2建議、meta description)
- 輸出語言:繁體中文為主,英文版本另外產出
開發 Agent (~/.openclaw/workspace-dev/SOUL.md):
# 開發 Agent — Tenten 全端工程師
你是 Tenten Digital 的 AI 開發工程師。
## 技術棧
- Frontend: Astro, React, Next.js, Webflow + DevLink
- E-commerce: Shopify Plus, Shopify Storefront API, Shopify Functions
- Infrastructure: Cloudflare Workers, Docker, Ploi.io
- CMS: Ghost, WordPress, Shopify Content
- Tracking: GTM + GA4 + Meta Pixel + CAPI
## 開發原則
- 程式碼註釋用英文
- 解釋和討論用繁體中文
- 遵循 Shopify 100 variant 限制,超過用 Metafields + Line Item Properties
- Headless 架構保留 Shopify checkout paths(/checkouts/, /cart, /account)
研究 Agent (~/.openclaw/workspace-research/SOUL.md):
# 研究 Agent — Tenten 深度研究分析師
你是 Tenten Digital 的 AI 研究分析師。
## 核心能力
- 產業趨勢分析(AI、電商、MarTech)
- 競品研究和對標分析
- 技術可行性評估
- 數據分析和報告撰寫
## 研究準則
- 所有事實陳述必須附出處
- 區分「已證實」和「推測」
- 報告格式:摘要 → 方法 → 發現 → 建議 → 來源
- 輸出語言:繁體中文(出處保留原文)
2.6 啟動 OpenClaw Gateway
# 啟動
openclaw gateway start
# 確認所有 Agent 正常運行
openclaw agents list --bindings
openclaw channels status --probe
# 查看 log
openclaw gateway logs --follow
第三部分:Claude Code 一鍵部署 Prompt
把以下內容存為 CLAUDE.md,放在你的專案根目錄,用 Claude Code 開啟後直接執行:
# CLAUDE.md — OpenClaw Multi-Agent + CLIProxyAPIPlus 自動部署
## 任務
在 Mac Mini M4 上完整部署:
1. CLIProxyAPIPlus(ChatGPT 5.4 OAuth + OpenRouter Kimi K2.5 雙通道)
2. OpenClaw Multi-Agent(5 個 Agent + Telegram 整合)
3. 驗證一切正常運行
## 環境前提
- macOS Sequoia on Mac Mini M4 16GB
- Homebrew 已安裝
- Node.js >= 18 已安裝
- Go >= 1.21 已安裝(若無,先裝 `brew install go`)
## 步驟一:安裝 CLIProxyAPIPlus
```bash
# 1. 建立工作目錄
mkdir -p ~/ai-infra && cd ~/ai-infra
# 2. Clone 並編譯
git clone https://github.com/router-for-me/CLIProxyAPIPlus.git
cd CLIProxyAPIPlus
go build -o cliproxyapi ./cmd/server
# 3. 安裝到 PATH
sudo cp cliproxyapi /usr/local/bin/
cliproxyapi --version
# 4. 建立設定目錄
mkdir -p ~/.cli-proxy-api
步驟二:建立 CLIProxyAPIPlus config.yaml
寫入 ~/.cli-proxy-api/config.yaml,內容如下(placeholder 用 TODO 標記):
port: 8317
remote-management:
allow-remote: false
secret-key: "TODO-換成你自己的���鑰"
auth-dir: "~/.cli-proxy-api"
debug: false
logging-to-file: true
usage-statistics-enabled: true
request-retry: 3
quota-exceeded:
switch-project: true
switch-preview-model: true
auth:
providers:
- type: "api-key"
key: "sk-openclaw-proxy-key-2026"
openai-compatibility:
- name: "openrouter"
base-url: "https://openrouter.ai/api/v1"
api-keys:
- key: "TODO-你的-OpenRouter-API-Key"
models:
- "moonshotai/kimi-k2.5"
- "moonshotai/kimi-k2-0905"
- "google/gemini-2.5-flash"
model-fallbacks:
- from: "gpt-5.4-2026-03-05"
to: "moonshotai/kimi-k2.5"
- from: "gpt-5.4"
to: "moonshotai/kimi-k2.5"
- from: "gpt-5"
to: "moonshotai/kimi-k2.5"
步驟三:OAuth 登入(需要人工操作)
# 這步會開瀏覽器,需要人工登入 ChatGPT 帳號
cliproxyapi --codex-login
登入完成後確認 token:
ls ~/.cli-proxy-api/*.json
步驟四:啟動 CLIProxyAPIPlus 並驗證
# 啟動
nohup cliproxyapi --config ~/.cli-proxy-api/config.yaml \
> ~/.cli-proxy-api/proxy.log 2>&1 &
# 等 3 秒讓服務啟動
sleep 3
# 驗證
curl -s http://localhost:8317/v1/models \
-H "Authorization: Bearer sk-openclaw-proxy-key-2026" | head -50
echo "CLIProxyAPIPlus 啟動完成 ✓"
步驟五:安裝 OpenClaw
npm install -g openclaw@latest
openclaw --version
步驟六:建立 5 個 Agent
openclaw agents add main
openclaw agents add marketing
openclaw agents add developer
openclaw agents add support
openclaw agents add researcher
步驟七:寫入 openclaw.json
寫入 ~/.openclaw/openclaw.json(使用上方教學的完整 JSON)
步驟八:建立每個 Agent 的 SOUL.md
分別寫入:
~/.openclaw/workspace-main/SOUL.md~/.openclaw/workspace-marketing/SOUL.md~/.openclaw/workspace-dev/SOUL.md~/.openclaw/workspace-support/SOUL.md~/.openclaw/workspace-research/SOUL.md
步驟九:設定環境變數
寫入 ~/.zshrc:
export OPENAI_API_BASE="http://localhost:8317/v1"
export OPENAI_API_KEY="sk-openclaw-proxy-key-2026"
export OPENROUTER_API_KEY="TODO-你的金鑰"
步驟十:啟動並驗證
source ~/.zshrc
openclaw gateway start
openclaw agents list --bindings
openclaw channels status --probe
echo "全部部署完成 ✓"
驗證清單
curl localhost:8317/v1/models有回應- GPT-5.4 模型可用(走 OAuth)
- Kimi K2.5 模型可用(走 OpenRouter)
- 5 個 Agent 都出現在
openclaw agents list - Telegram Bot 可收發訊息
- Fallback 機制正常(斷開 OAuth 後自動切 Kimi K2.5)
---
## 第四部分:多 Agent 智慧模型路由 — 最佳省錢實踐
這是整個系統最值錢的部分。正確的模型路由可以節省 70-80% 的 Token 費用。
### 4.1 模型定價比較(2026 年 3 月)
| 模型 | Input $/M tokens | Output $/M tokens | 適用場景 |
|------|-------------------|---------------------|----------|
| GPT-5.4 | $2.50 | $15.00 | 複雜推理、程式碼、長文檔 |
| GPT-5.4 Pro | $30.00 | $180.00 | 最複雜任務(避免使用) |
| Kimi K2.5 | $0.45-0.60 | $2.20-3.00 | 通用型、視覺編碼、agentic |
| Kimi K2.5 (cached) | $0.15 | $2.20 | 重複 context 場景 |
| Gemini 2.5 Flash | ~免費-$0.15 | ~免費-$0.60 | 簡單分類、摘要、翻譯 |
### 4.2 任務分級路由策略
核心原則:**不是每個任務都需要最強的模型**。
關鍵洞察:因為你有 ChatGPT Plus/Pro 訂閱,GPT-5.4 走 OAuth 是「免費」的(已包含在月費),所以你的策略是:
- 優先用 GPT-5.4 OAuth(月費內,不額外花錢)
- OAuth quota 用完時 fallback 到 Kimi K2.5(便宜又強)
- 簡單任務用 Gemini Flash OAuth(也是免費的)
4.3 每個 Agent 的模型分配建議
# 主助理:處理雜務和分派,大部分是簡單任務
main:
primary: "gpt-5.4" # OAuth 免費
fallback: "kimi-k2.5" # $0.45/$2.20
# 行銷 Agent:大量文案生產,Kimi K2.5 CP 值最高
marketing:
primary: "kimi-k2.5" # 適合大量文案,便宜
fallback: "gpt-5.4" # 複雜策略文件才用
# 開發 Agent:程式碼品質很重要,GPT-5.4 程式能力最強
developer:
primary: "gpt-5.4" # OAuth 免費,程式碼最強
fallback: "kimi-k2.5" # 也很強,視覺編碼甚至更好
# 客服 Agent:回覆模板化,不需要最強模型
support:
primary: "gemini-flash" # OAuth 免費,簡單回覆夠用
fallback: "kimi-k2.5" # 複雜客訴才升級
# 研究 Agent:長 context 很重要,Kimi K2.5 有 262K context
researcher:
primary: "kimi-k2.5" # 262K context,研究最適合
fallback: "gpt-5.4" # 需要 1M context 時用
4.4 動態路由 Router Prompt
在你的主 Agent 的 SOUL.md 中加入任務路由邏輯:
## 任務路由規則
當收到新任務時,依照以下流程判斷:
1. **意圖分類**(用 Tier 0 模型)
- 如果是簡單問候/是否問題 → 直接用 Gemini Flash 回覆
- 如果是行銷相關 → 轉給 marketing Agent
- 如果是程式/技術相關 → 轉給 developer Agent
- 如果是客戶問題/客訴 → 轉給 support Agent
- 如果需要深度研究 → 轉給 researcher Agent
2. **複雜度評估**
- 需要多步驟推理?→ 使用 Tier 2 (GPT-5.4)
- 需要處理圖片/UI?→ 使用 Kimi K2.5(視覺最強)
- 純文字簡單任務?→ 使用 Tier 0/1
- 需要超長 context?→ 使用 Kimi K2.5 (262K) 或 GPT-5.4 (1M)
3. **成本意識**
- 永遠先嘗試最便宜的能完成任務的模型
- 只在任務品質明顯不足時才升級模型
- 大量重複性任務(如批次生成 50 篇社群貼文)一律用 Tier 1
4.5 省 Token 的實戰技巧
技巧 1:Prompt Caching(Kimi K2.5 自動啟用)
Kimi K2.5 在 OpenRouter 上有自動 context caching,重複的 system prompt 只計費一次($0.15/M vs $0.60/M)。因此,把 Agent 的固定指令放在 system prompt 裡,每次對話自動享受 cache 優惠。
技巧 2:分段處理長任務
❌ 錯誤:把整個 10,000 字文章丟給 GPT-5.4 校對
→ 消耗大量 output token($15/M)
✓ 正確:
Step 1: 用 Gemini Flash 做初步分段和分類(免費)
Step 2: 只把有問題的段落丟給 GPT-5.4 修改
→ 省 80% token
技巧 3:結果快取(Agent 層級)
在 Agent 的 workspace 裡維護一個 cache/ 目錄,存放常見問題的回覆。對於重複出現的查詢(如產品 FAQ、公司介紹),直接從 cache 讀取,完全不打 API。
技巧 4:Streaming + 早期截斷
當你發現模型開始「廢話」或重複時,及早截斷 streaming。CLIProxyAPIPlus 支援 streaming 模式,你的 Agent 可以在收到足夠資訊後就停止接收。
技巧 5:Output Token 控制
Output token 永遠比 input token 貴(GPT-5.4 是 6 倍差距)。在 system prompt 裡明確要求:
## 回覆格式要求
- 回答控制在 200 字以內,除非對方明確要求詳細版本
- 程式碼只給關鍵片段,不要整個檔案
- 用列點取代長段落
4.6 月費用預估
以 Tenten 的使用量估算(每天約 200-500 次 Agent 呼叫):
| 項目 | 月費估算 |
|---|---|
| ChatGPT Plus 訂閱 | $20/月(GPT-5.4 OAuth 免費額度) |
| OpenRouter Kimi K2.5(超額部分) | $15-40/月 |
| OpenRouter Gemini Flash(超額部分) | $0-5/月 |
| 總計 | $35-65/月 |
對比純用 GPT-5.4 API(不走 OAuth):預估 $200-500/月。省 75%+。
第五部分:進階 — Failover 測試與監控
5.1 模擬 Failover
# 暫時停掉 ChatGPT OAuth token 來測試 failover
# (重命名 token 檔案即可)
cd ~/.cli-proxy-api
mv codex-auth.json codex-auth.json.bak
# 打一個 GPT-5.4 請求 → 應該自動 fallback 到 Kimi K2.5
curl http://localhost:8317/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-openclaw-proxy-key-2026" \
-d '{"model":"gpt-5.4","messages":[{"role":"user","content":"test failover"}]}'
# 恢復
mv codex-auth.json.bak codex-auth.json
5.2 日誌監控
# CLIProxyAPIPlus 日誌
tail -f ~/.cli-proxy-api/proxy.log
# OpenClaw Gateway 日誌
openclaw gateway logs --follow
# 查看哪個模型實際被使用(在 CLIProxyAPIPlus 的 debug 日誌中)
grep "routing to" ~/.cli-proxy-api/proxy.log | tail -20
5.3 健康檢查腳本
#!/bin/bash
# ~/scripts/health-check.sh
echo "=== AI 基礎設施健康檢查 ==="
# 1. CLIProxyAPIPlus
if curl -sf http://localhost:8317/v1/models \
-H "Authorization: Bearer sk-openclaw-proxy-key-2026" > /dev/null; then
echo "✅ CLIProxyAPIPlus 運行中"
else
echo "❌ CLIProxyAPIPlus 無回應"
fi
# 2. OpenClaw Gateway
if openclaw status 2>/dev/null | grep -q "running"; then
echo "✅ OpenClaw Gateway 運行中"
else
echo "❌ OpenClaw Gateway 未啟動"
fi
# 3. Agent 數量
AGENT_COUNT=$(openclaw agents list 2>/dev/null | grep -c "id:")
echo "📊 活躍 Agent 數量:$AGENT_COUNT"
# 4. Token 檔案存在
if ls ~/.cli-proxy-api/*auth*.json >/dev/null 2>&1; then
echo "✅ OAuth Token 檔案存在"
else
echo "⚠️ OAuth Token 缺失,需重新登入"
fi
echo "=== 檢查完成 ==="
chmod +x ~/scripts/health-check.sh
第六部分:常見問題排解
Q: CLIProxyAPIPlus 啟動後打不到 GPT-5.4?
A: 確認 OAuth token 存在。執行 cliproxyapi --codex-login 重新登入。ChatGPT Plus/Pro 訂閱的 OAuth token 會過期,需要定期刷新。
Q: Fallback 到 Kimi K2.5 時回覆品質下降?
A: Kimi K2.5 在大多數任務上表現優秀,但程式碼任務略遜於 GPT-5.4。可以在 SOUL.md 裡針對 fallback 情境加入額外指令,例如要求模型「確保程式碼語法正確後再輸出」。
Q: 多個 Agent 同時打 API 會被 rate limit 嗎?
A: CLIProxyAPIPlus 的 request-retry: 3 和 maxConcurrent: 10 已經處理了。ChatGPT OAuth 的 rate limit 比 API 鬆很多。如果真的被限制,會自動 fallback 到 OpenRouter。
Q: Mac Mini M4 16GB 記憶體夠用嗎?
A: 綽綽有餘。OpenClaw + CLIProxyAPIPlus 都是輕量 process,所有 AI 計算在雲端。5 個 Agent 跑起來不到 500MB RAM。實際瓶頸是 API rate limit 和費用。
Q: 怎麼知道某次請求實際走了哪個模型?
A: 開啟 CLIProxyAPIPlus 的 debug: true,日誌會顯示每次請求的實際路由。或者在 Agent 的回覆前加一行 debug info,請模型自報家門。
快速參考卡
# 啟動全棧
cliproxyapi --config ~/.cli-proxy-api/config.yaml &
openclaw gateway start
# 停止全棧
openclaw gateway stop
pkill cliproxyapi
# 重新登入 ChatGPT OAuth
cliproxyapi --codex-login
# 查看 Agent 狀態
openclaw agents list --bindings
# 測試 API
curl localhost:8317/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-openclaw-proxy-key-2026" \
-d '{"model":"gpt-5.4","messages":[{"role":"user","content":"ping"}]}'
# 健康檢查
~/scripts/health-check.sh
延伸閱讀:
