# 如何使用自己的 API Key 執行 OpenAI Codex CLI

> 透過 Zeabur AI Hub 解鎖 Codex CLI 的潛力

<AIHubShutdownNotice />


**Codex CLI** 是一個在 Terminal 與 AI 互動的強大介面。然而，你再也不需要被綁定在單一供應商身上。

透過將 Codex CLI 連接到 [**Zeabur AI Hub**](https://zeabur.com/ai-hub)，你可以使用完全相同的工具將查詢路由到**任何頂級模型**（如 Claude、Grok 或 Gemini）。此設定採用**按量付費**（pay-as-you-go）模式——你只需要為實際使用的 Token 付費。

## 🧱 先決條件

1. **安裝 Codex CLI**：  
    
    ```bash
    npm install -g @openai/codex
    ```
    
2. **Zeabur 憑證**:
    - 前往你的 Zeabur 控制台（Dashboard）獲取 **AI Hub API Key**。
3. **選擇你的節點 (Endpoint)**
    
    Zeabur 目前提供兩個節點。為了在 Terminal 獲得最快的回應速度，請選擇地理位置離你最近的一個：
    
    - **亞洲 (東京):** `https://hnd1.aihub.zeabur.ai/`
    - **美西 (舊金山):** `https://sfo1.aihub.zeabur.ai/`

---

## ⚙️ 快速設定教學

你需要配置 Codex 與 Zeabur 的統一 API 進行通訊，而不是直接連接特定的供應商。

### 1. 建立設定檔

建立或編輯位於 `~/.codex/config.toml` 的設定檔。貼上以下設定以將 Zeabur 定義為供應商：

```toml
# 預設使用的模型
model = "gemini-3-pro-preview"
model_provider = "zeabur"

[model_providers.zeabur]
name = "Zeabur AI Hub"
# 注意：確保在 endpoint 後加上 /v1
base_url = "<https://hnd1.aihub.zeabur.ai/v1>"
env_key = "ZEABUR_API_KEY"
wire_api = "chat"
```

### 2. 設定 API Key

你需要讓工具能夠讀取你的 API Key。

**選項 A: 僅作嘗試 (暫時)**

用於單次連線區段：

```bash
export ZEABUR_API_KEY="你的-zeabur-api-key"
codex "Who are you?"
```

**選項 B: 一勞永逸 (永久)**

為了避免每次都要設定 Key，請將其新增到你的 Shell 設定檔中。

1. 開啟你的 Shell 設定（例如 `~/.zshrc` 或 `~/.bashrc`）：
    
    ```bash
    nano ~/.zshrc
    ```
    
2. 在底部貼上此行：
    
    ```bash
    export ZEABUR_API_KEY="你的-zeabur-api-key"
    ```
    
3. 儲存並重新載入：`source ~/.zshrc`

---

## 💸 開始編碼 (使用任何模型)

現在你可以使用該 CLI 工具，並靈活地隨時切換模型。

**基本用法:**

```bash
codex "Write a hello world function in Python"
```

**切換模型:**

你可以使用 `-m` 標籤覆蓋設定中定義的預設模型。

```bash
# 使用 Gemini
codex -m gemini-3-pro-preview "hi"

# 使用 Claude
codex -m claude-sonnet-4-20250514 "hi"

# 使用 GPT-4o
codex -m gpt-4o "hi"
```

**為什麼這更好:**

- **靈活性:** 無需更換工具即可在 Grok、Claude 和 GPT 之間切換。
- **成本效益:** 透過 Zeabur 僅為你使用的 Token 付費，而不是為多個 AI 訂閱支付固定的月費。

---

## 🔧 疑難排解 (Troubleshooting)

如果你遇到問題：

- **401 Unauthorized:**
    - 檢查設定中的 `base_url` 是否包含 `/v1`。
    - 驗證環境變數是否已設定：`echo $ZEABUR_API_KEY`。
- **Model Not Found:**
    - 確保模型名稱（例如 `gpt-4o`）目前受 Zeabur AI Hub 支援。請查看 Zeabur 控制台以獲取可用模型 ID 的列表。

Happy Coding!
