[ SKILL_DOCUMENTATION ]
# 配置与设置
## 创建网关
### 控制面板
AI > AI Gateway > Create Gateway > Configure (身份验证、缓存、速率限制、日志记录)
### API
bash
curl -X POST https://api.cloudflare.com/client/v4/accounts/{account_id}/ai-gateway/gateways
-H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json"
-d '{"id":"my-gateway","cache_ttl":3600,"rate_limiting_interval":60,"rate_limiting_limit":100,"collect_logs":true}'
**命名规则:** 小写字母数字 + 连字符 (例如:`prod-api`, `dev-chat`)
## Wrangler 集成
toml
[ai]
binding = "AI"
[[ai.gateway]]
id = "my-gateway"
bash
wrangler secret put CF_API_TOKEN
wrangler secret put OPENAI_API_KEY # 如果不使用 BYOK
## 身份验证
### 网关认证 (保护网关访问)
typescript
const client = new OpenAI({
baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`,
defaultHeaders: { 'cf-aig-authorization': `Bearer ${cfToken}` }
});
### 提供商认证选项
**1. 统一计费 (无密钥模式)** - 通过 Cloudflare 支付,无需提供商密钥:
typescript
const client = new OpenAI({
baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`,
defaultHeaders: { 'cf-aig-authorization': `Bearer ${cfToken}` }
});
支持:OpenAI, Anthropic, Google AI Studio
**2. BYOK (自带密钥)** - 在控制面板存储密钥 (Provider Keys > Add),代码中无需密钥
**3. 请求头** - 每次请求传递提供商密钥:
typescript
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`,
defaultHeaders: { 'cf-aig-authorization': `Bearer ${cfToken}` }
});
## API 令牌权限
- **网关管理:** AI Gateway - Read + Edit
- **网关访问:** AI Gateway - Read (最低权限)
## 网关管理 API
bash
# 列表
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/ai-gateway/gateways
-H "Authorization: Bearer $CF_API_TOKEN"
# 获取
curl .../gateways/{gateway_id}
# 更新
curl -X PUT .../gateways/{gateway_id}
-d '{"cache_ttl":7200,"rate_limiting_limit":200}'
# 删除
curl -X DELETE .../gateways/{gateway_id}
## 获取 ID
- **账户 ID:** 控制面板 > Overview > 复制
- **网关 ID:** AI Gateway > Gateway name 列
## Python 示例
python
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"),
base_url=f"https://gateway.ai.cloudflare