環境: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 是「免費」的(已包含在月費),所以你的策略是:

  1. 優先用 GPT-5.4 OAuth(月費內,不額外花錢)
  2. OAuth quota 用完時 fallback 到 Kimi K2.5(便宜又強)
  3. 簡單任務用 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: 3maxConcurrent: 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

延伸閱讀:

Share this post
Ewan Mak

I'm a Full Stack Developer with expertise in building modern web applications that fast, secure, and scalable. Crafting seamless user experiences with a passion for headless CMS, Vercel and Cloudflare

Loading...