---
title: Gateway 快速入門
description: 取得 AI Gateway 存取並建立金鑰，再把 Claude Code、Codex、OpenAI 或 Anthropic SDK、curl 指向 https://api.agentlab.cresclab.com。每一步都可直接複製。
url: https://agentlab.cresclab.com/docs/zh-tw/gateway/quickstart
language: zh-Hant
updated: 2026-10-28
---

# Gateway 快速入門

取得 AI Gateway 存取並建立金鑰，再把 Claude Code、Codex、OpenAI 或 Anthropic SDK、curl 指向 https://api.agentlab.cresclab.com。每一步都可直接複製。

## 開始之前

1. **打開 Gateway** 在 [Agent Lab 主控台](https://app.agentlab.cresclab.com/)註冊，進到工作區的 **AI Gateway**。如果 Gateway 還沒開通，請在 [AI Gateway 頁](https://agentlab.cresclab.com/gateway#demo)申請開通，我們會幫你的工作區開通；主控台頁面也會這樣說明。
2. **建立金鑰** 在**開始使用**分頁選擇**建立 API 金鑰**，取一個名稱。金鑰只會顯示一次，請馬上複製。
3. **選一個用戶端** 照下面其中一節操作。主控台的**開始使用**分頁也有同樣的步驟，而且已經填好你的金鑰和工作區的模型。

每個範例都從環境變數 `AGENTLAB_API_KEY` 讀取金鑰：

```bash
export AGENTLAB_API_KEY=<your API key>
```

模型名稱來自 `GET /v1/models`，會列出 `auto` 和工作區允許的每個模型。下面的名稱只是範例。

## Claude Code

Claude Code 使用 Anthropic Messages，會自己加上 `/v1/messages`，所以它的 base URL 不含 `/v1`。它送出前會檢查模型名稱，所以模型名稱要填一個 Claude 模型，再用標頭要求 `auto`。

```bash
export ANTHROPIC_BASE_URL=https://api.agentlab.cresclab.com
export ANTHROPIC_AUTH_TOKEN=$AGENTLAB_API_KEY
export ANTHROPIC_MODEL=claude-sonnet-5-5
export ANTHROPIC_CUSTOM_HEADERS="X-AgentLab-Routing: auto"
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-5-5
claude
```

拿掉 `ANTHROPIC_CUSTOM_HEADERS` 那一行，就會一律使用你指定的模型。haiku 那一行會把 Claude Code 在背景發出的小型呼叫交給便宜的模型。

## Codex

Codex 使用 OpenAI Responses。在 `~/.codex/config.toml` 加上一個 provider：

```toml ~/.codex/config.toml
model = "gpt-5.6-luna"
model_provider = "agentlab"

[model_providers.agentlab]
name = "Agent Lab"
base_url = "https://api.agentlab.cresclab.com/v1"
wire_api = "responses"
env_key = "AGENTLAB_API_KEY"
http_headers = { "X-AgentLab-Routing" = "auto" }
```

然後執行：

```bash
codex
```

拿掉 `http_headers` 那一行，就會一律使用你指定的模型。

## OpenAI SDK

```bash
pip install openai
```

```python
import os
from openai import OpenAI

client = OpenAI(base_url="https://api.agentlab.cresclab.com/v1", api_key=os.environ["AGENTLAB_API_KEY"])
reply = client.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": "Hello"}],
)
print(reply.model, reply.choices[0].message.content)
```

`reply.model` 是實際回答的模型。

## Anthropic SDK

```bash
pip install anthropic
```

```python
import os
from anthropic import Anthropic

client = Anthropic(base_url="https://api.agentlab.cresclab.com", api_key=os.environ["AGENTLAB_API_KEY"])
reply = client.messages.create(
    model="auto",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello"}],
)
print(reply.model, reply.content[0].text)
```

## curl

Chat Completions：

```bash
curl https://api.agentlab.cresclab.com/v1/chat/completions \
  -H "Authorization: Bearer $AGENTLAB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "auto", "messages": [{"role": "user", "content": "Hello"}]}'
```

Anthropic Messages：

```bash
curl https://api.agentlab.cresclab.com/v1/messages \
  -H "Authorization: Bearer $AGENTLAB_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"model": "auto", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}]}'
```

OpenAI Responses：

```bash
curl https://api.agentlab.cresclab.com/v1/responses \
  -H "Authorization: Bearer $AGENTLAB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "auto", "input": "Hello"}'
```

## 為請求加標籤

想依團隊、功能或客戶看花費，就加上 `X-AgentLab-Metadata` 標頭，內容是一個字串值的 JSON 物件，例如 `{"team": "support"}`。上面每個端點都適用。上限和顯示位置見[標籤](https://agentlab.cresclab.com/docs/zh-tw/gateway/usage.md#tags)。

## 確認成功

在主控台打開 **AI Gateway › 用量**。剛才的請求會列在那裡，附上金鑰、實際回答的模型和費用。如果請求被拒絕，它的代碼可以在[錯誤代碼](https://agentlab.cresclab.com/docs/zh-tw/gateway/errors.md)查到。
