LLM Gateway
API 文档
导航
API 参考(OpenAPI)↗

API 接口文档

LLM Gateway 提供兼容 OpenAI、Anthropic 和 Google Gemini 格式的 API 接口,支持所有主流 AI 编码工具无缝接入。

参考视频:平台配置 vibe coding 工具教程(B 站)

API 概览

Gateway 提供四种 LLM API 格式,兼容不同工具和 SDK 的调用需求。

API 端点

端点格式适用工具
POST /v1/chat/completionsOpenAI Chat CompletionsCursor, Trae, OpenCode, Windsurf, Aider
POST /v1/messagesAnthropic MessagesClaude Code, Copilot CLI(BYOK), Aider
POST /v1/responsesOpenAI ResponsesCodex CLI
POST /v1/images/tasks异步图像任务(生成 / 编辑 / 查询 / 删除)SDK / REST
GET /v1/modelsOpenAI 兼容所有工具
GET /v1/balance查询余额 / 配额SDK / REST
POST /v1/messages/count_tokensAnthropic Token 计数SDK / REST
POST /gemini/v1/models/*Google Gemini 原生Gemini SDK, REST
POST /gemini/v1beta/models/*Google Gemini 原生(含图像生成)Gemini SDK, REST

认证方式

所有端点支持 Authorization: Bearer 认证,Messages API 额外支持 x-api-key。详见章节。

Base URL 规则

OpenAI 格式(Chat Completions / Responses / Models)— Base URL 需要以 /v1 结尾:https://www.llmgateway.cn/v1

Anthropic 格式(Messages API)— Base URL 不要以 /v1 结尾:https://www.llmgateway.cn

Gemini 格式 — SDK 使用 https://www.llmgateway.cn/gemini(SDK 自动拼接版本路径);REST 调用使用 https://www.llmgateway.cn/gemini/v1https://www.llmgateway.cn/gemini/v1beta

模型名写法

网关已做兼容:display name(如 claude-sonnet-4-6)和带 gw/ 前缀(如 gw/claude-sonnet-4-6)两种形式都支持,效果等价,任选其一即可。

例外:在 Cursor 中必须使用带 gw/ 前缀的写法,否则 Cursor 会按官方 OpenAI 模型名拦截/改写请求。

快速开始

三步接入 LLM Gateway,开始使用所有已配置的 AI 模型。

1
注册账号

在控制台注册账号。新用户自动获得试用额度,可直接体验。

控制台登录页
控制台登录页 — 使用手机号注册并登录
2
创建 API Key

进入控制台「API 密钥」页面,点击右上角「创建密钥」。在弹窗中给 Key 起个名字(如 claude-code-laptop),点击确认后会只展示一次完整 Key(形如 sk-xxx),立即复制保存。

API 密钥列表页
API 密钥列表页 — 点击右上角「创建密钥」
创建密钥弹窗
创建密钥弹窗 — Key 仅展示一次,关闭后只能在列表里看到掩码
3
配置工具

将 Base URL 和 API Key 填入你的 AI 工具(Claude Code、Cursor、Codex 等),即可开始使用。

BASH
# 示例:用 curl 发送第一个请求
curl -X POST https://www.llmgateway.cn/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "claude-sonnet-4-6", "messages": [{"role": "user", "content": "Hello!"}]}'

认证方式

Gateway 支持两种认证方式,所有端点均可使用 Bearer Token。Messages API 额外支持 Anthropic 风格的 x-api-key。

方式Header适用端点状态
Bearer TokenAuthorization: Bearer sk-xxx所有端点推荐
x-api-keyx-api-key: sk-xxx仅 /v1/messages兼容

两种方式使用同一个 API Key(在控制台「API 密钥」页面创建)。Bearer Token 是通用方式,适用于所有端点;x-api-key 仅为兼容 Anthropic SDK 的默认行为而保留。新项目建议统一使用 Bearer Token。

各工具的认证配置

工具认证方式配置变量
Claude Codex-api-key(自动)ANTHROPIC_AUTH_TOKEN
Codex CLIBearer Token(自动)OPENAI_API_KEY
CursorBearer Token(自动)Settings → Models → API Key
REST / SDKBearer TokenAuthorization header

多协议兼容性矩阵

Gateway 同时支持多种 API 协议,并在协议间自动转换。以下矩阵展示各端点支持的功能。

功能Chat CompletionsMessages APIResponses APIGemini API
文本生成
流式响应 (SSE)
Tool Use / 函数调用
多模态(图片输入)
图像生成v1beta
Token 计数
Extended ThinkingClaude only
Prompt CachingClaude only
缓存内容 (cachedContents)
跨模型路由Gemini only
自动格式转换→ OpenAI→ Chat

格式转换说明

Messages API 可路由到 OpenAI 上游 — Gateway 自动在 Anthropic 和 OpenAI 格式间转换
Responses API 请求在内部转换为 Chat Completions 格式发送到上游,响应再转换回 Responses 格式
Chat Completions 端点也接受 Responses API 格式的请求体,自动识别并转换
Gemini API 为原生透传,不做格式转换,仅支持 Gemini 系列模型

请求格式对照(OpenAI vs Anthropic)

同一个模型可通过不同协议调用,Gateway 自动转换。以下对照两种主要格式的字段映射:

概念OpenAI (Chat Completions)Anthropic (Messages)
认证Authorization: Bearerx-api-key / Authorization: Bearer
模型字段modelmodel
消息列表messages[]messages[]
系统提示messages[0].role="system"system (顶层字段)
最大输出max_tokens (可选)max_tokens (必填)
流式stream: truestream: true
工具调用tools[] + tool_choicetools[] + tool_choice
停止原因finish_reason: "stop"stop_reason: "end_turn"
用量统计usage.prompt_tokens / completion_tokensusage.input_tokens / output_tokens

使用 Gateway 时无需关心格式差异 — 选择你的工具原生支持的端点即可。例如 Claude Code 使用 Messages API,Cursor 使用 Chat Completions,Gateway 在后端自动处理格式转换和路由。

Chat Completions API

POST/v1/chat/completions

兼容 OpenAI Chat Completions 格式。支持所有已配置的模型(OpenAI、Claude、Gemini、Grok 等),Gateway 会自动路由到对应的上游。同时兼容 Responses API 格式的请求体,会自动转换。

请求示例

BASH
curl -X POST https://www.llmgateway.cn/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ],
    "stream": false
  }'

响应示例

JSON
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1713000000,
  "model": "claude-sonnet-4-6",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 20,
    "completion_tokens": 10,
    "total_tokens": 30
  }
}

流式请求

设置 stream: true 即可获得 SSE 流式响应:

BASH
curl -X POST https://www.llmgateway.cn/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [
      {"role": "user", "content": "Hello!"}
    ],
    "stream": true
  }'

Messages API

POST/v1/messages

兼容 Anthropic Messages API 格式。支持 x-api-keyAuthorization: Bearer 两种认证方式。支持 extended thinking、tool use、流式响应等特性。

请求示例

BASH
curl -X POST https://www.llmgateway.cn/v1/messages \
  -H "x-api-key: YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Hello!"}
    ]
  }'

响应示例

JSON
{
  "id": "msg_abc123",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Hello! How can I help you today?"
    }
  ],
  "model": "claude-sonnet-4-6",
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 10,
    "output_tokens": 12
  }
}

Messages API 也支持将请求路由到 OpenAI 上游 — Gateway 会自动在 Anthropic 和 OpenAI 格式之间转换。

Responses API

POST/v1/responses

兼容 OpenAI Responses API 格式。Gateway 内部将请求转换为 Chat Completions 格式发送到上游,再将响应转换回 Responses 格式返回。

请求示例

BASH
curl -X POST https://www.llmgateway.cn/v1/responses \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4",
    "input": [
      {"role": "user", "content": "Hello!"}
    ]
  }'

响应示例

JSON
{
  "id": "resp_abc123",
  "object": "response",
  "status": "completed",
  "model": "gpt-5.4",
  "output": [
    {
      "type": "message",
      "id": "msg_abc123",
      "role": "assistant",
      "content": [
        {"type": "output_text", "text": "Hello! How can I help you?"}
      ],
      "status": "completed"
    }
  ],
  "usage": {
    "input_tokens": 10,
    "output_tokens": 12,
    "total_tokens": 22
  }
}

图像任务(异步)

图像生成 / 编辑(如 gpt-image-2gemini-3-pro-image-preview)耗时较长,直接调用同步接口容易触发 HTTP 超时。异步任务接口让你提交任务后立即拿到任务 ID,再通过轮询查询结果,单个任务可返回多张图片。支持普通用户 Key、租户 Key、租户子用户 Key 三类 API Key,出图后按对应账户计费。

使用流程:提交任务(202 返回 id)→ 轮询任务直到 status 变为 completed → 从 result_urls 取图片直链。

状态取值pending(排队)/ processing(处理中)/ completed(完成)/ failed(失败,见 error_message)。

POST/v1/images/tasks— 提交生成任务

请求体字段:model(必填)、prompt(必填,≤ 2000 字)、size(默认 1024x1024)、n(出图张数,1-4,默认 1)、params(可选,透传上游参数)。

BASH
# 提交生成任务(立即返回任务 ID,不阻塞)
curl -X POST https://www.llmgateway.cn/v1/images/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "a red apple on a wooden table, studio lighting",
    "size": "1024x1024",
    "n": 2
  }'

响应示例(202 Accepted)

JSON
{
  "id": 123,
  "status": "pending"
}
POST/v1/images/tasks/edits— 提交编辑任务

在生成字段基础上,通过 image_urls(图片链接数组)和 / 或 image_base64s(base64 数组)提供输入图,二者可任选其一或混用;可选 mask_base64 提供蒙版。输入图最多 4 张、单张 ≤ 25MB。

BASH
# 提交编辑任务(输入图用 URL 或 base64,可混用,最多 4 张、单张 ≤ 25MB)
curl -X POST https://www.llmgateway.cn/v1/images/tasks/edits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "make the background pure white",
    "size": "1024x1024",
    "n": 1,
    "image_urls": ["https://example.com/cat.png"],
    "image_base64s": [],
    "mask_base64": ""
  }'
GET/v1/images/tasks/{id}— 查询任务状态 / 结果
BASH
# 轮询任务状态(建议 2-5 秒一次,直到 completed / failed)
curl https://www.llmgateway.cn/v1/images/tasks/123 \
  -H "Authorization: Bearer YOUR_API_KEY"

响应示例(200,完成时)

JSON
{
  "id": 123,
  "type": "generate",
  "status": "completed",
  "model": "gpt-image-2",
  "prompt": "a red apple on a wooden table, studio lighting",
  "size": "1024x1024",
  "image_count": 2,
  "result_urls": [
    "https://llm-gateway-images.tos-cn-beijing.volces.com/xxx-1.png",
    "https://llm-gateway-images.tos-cn-beijing.volces.com/xxx-2.png"
  ],
  "cost": 0.16,
  "created_at": "2026-06-21T12:00:00Z",
  "completed_at": "2026-06-21T12:01:30Z"
}
DELETE/v1/images/tasks/{id}— 删除任务

用于删除自己的任务(例如长时间排队未处理的任务)。仅可删除 pending / completed / failed 状态;processing(处理中)的任务会返回 409,请稍后重试。成功返回 204 No Content

BASH
# 删除任务(仅 pending / completed / failed 可删;处理中返回 409)
curl -X DELETE https://www.llmgateway.cn/v1/images/tasks/123 \
  -H "Authorization: Bearer YOUR_API_KEY"
# 成功返回 204 No Content

模型列表

GET/v1/models

返回当前可用的模型列表(OpenAI 兼容格式)。需要 API Key 认证。

请求示例

BASH
curl https://www.llmgateway.cn/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"

响应示例

JSON
{
  "object": "list",
  "data": [
    {"id": "claude-sonnet-4-6", "object": "model", "created": 1712973600, "owned_by": "llm-gateway"},
    {"id": "gpt-5.4", "object": "model", "created": 1712973600, "owned_by": "llm-gateway"},
    ...
  ]
}

完整模型列表

Anthropic Claude 系列

模型名称类型
claude-sonnet-4-6chat
claude-opus-4-6chat
claude-haiku-4-5-20251001chat

OpenAI 系列

模型名称类型
gpt-5.4chat
gpt-5.4-codexchat
gpt-5.4-codex-highchat

Google Gemini 系列

模型名称类型
gemini-3.1-pro-previewchat

智谱 GLM 系列

模型名称类型
glm-5.1chat

以上为常用模型,完整列表请调用 GET /v1/models 获取。模型列表会随网关配置动态更新。

查询余额

GET/v1/balance

查询当前 API Key 对应账户的余额或配额。需要 API Key 认证。响应中的 type 字段标识账户类型,不同类型返回字段不同。

请求示例

BASH
curl https://www.llmgateway.cn/v1/balance \
  -H "Authorization: Bearer YOUR_API_KEY"

响应示例(普通用户 Key)

JSON
{
  "type": "user",
  "balance": 100.50,
  "frozen": 5.00,
  "available": 95.50,
  "currency": "CNY"
}

不同 Key 类型返回字段

type字段
userbalance, frozen, available, currency
tenantbalance, frozen, available, total_recharged, total_consumed, currency
sub_userquota_limit(null 为无限制), quota_used, quota_remaining, currency

Claude Code 配置

Claude Code 是 Anthropic 推出的 AI 编程助手 CLI,原生使用 Anthropic Messages 协议。通过本网关,不仅能用 Claude,还能用 GPT、Gemini、GLM —— 网关会自动转协议。

1. 安装 Claude Code

需要 Node.js ≥ 18。使用 npm 全局安装:

BASH
npm install -g @anthropic-ai/claude-code

2. 配置环境变量

ANTHROPIC_BASE_URL 指向本网关地址,并设置 API Key、默认模型与三个档位映射变量:

BASH
# 设置环境变量(macOS / Linux 写入 ~/.zshrc 或 ~/.bashrc 永久生效)
export ANTHROPIC_BASE_URL="https://www.llmgateway.cn"
export ANTHROPIC_AUTH_TOKEN="YOUR_API_KEY"
# ANTHROPIC_MODEL 可设置为网关中任意聊天模型
# 例如:claude-sonnet-4-6, gpt-5.4, gemini-3.1-pro-preview, glm-5.1 等
export ANTHROPIC_MODEL="claude-sonnet-4-6"

# 让 Claude Code 内置档位(Sonnet / Opus / Haiku)映射到网关模型
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-4-6"
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-4-6"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-haiku-4-5-20251001"
变量说明必填
ANTHROPIC_BASE_URLhttps://www.llmgateway.cn/v1
ANTHROPIC_AUTH_TOKEN网关 API Key(控制台 → API 密钥页创建)
ANTHROPIC_MODEL默认模型,可填网关任意聊天模型可选
ANTHROPIC_DEFAULT_SONNET_MODELSonnet 档位映射,建议 claude-sonnet-4-6可选
ANTHROPIC_DEFAULT_OPUS_MODELOpus 档位映射,建议 claude-opus-4-6可选
ANTHROPIC_DEFAULT_HAIKU_MODELHaiku 档位映射,建议 claude-haiku-4-5-20251001可选

关于三个档位变量 — Claude Code 在 /model 菜单中把模型分成 Sonnet / Opus / Haiku 三档,这三个变量决定每档实际请求哪个网关模型。建议显式设置,避免 Claude Code 内置默认值与网关模型名不一致。

终端写入 ~/.zshrc 演示
将上述环境变量写入 ~/.zshrc(bash 用户写入 ~/.bashrc),然后 source 让其生效

3. 可用模型

BASH
# 可用模型(根据网关实际配置,完整列表请调用 GET /v1/models)

# Claude 系列
claude-sonnet-4-6           # Sonnet 4.6
claude-opus-4-6             # Opus 4.6
claude-haiku-4-5-20251001   # Haiku 4.5

# OpenAI 系列
gpt-5.4                     # GPT-5.4
gpt-5.4-codex               # GPT-5.4 Codex
gpt-5.4-codex-high          # GPT-5.4 Codex High

# Gemini 系列
gemini-3.1-pro-preview      # Gemini 3.1 Pro Preview

# 智谱 GLM 系列
glm-5.1                     # GLM 5.1

格式自动转换 — 对 Claude 模型,请求直接透传到 Anthropic 上游;对非 Claude 模型(GPT、Gemini、GLM 等),网关自动在 Anthropic Messages 和 OpenAI Chat Completions 格式之间转换。

功能差异 — Extended Thinking 和 Prompt Caching 仅在原生 Claude 模型上可用。Tool Use(函数调用)跨所有模型均可用。

模型名写法 — display name(如 claude-sonnet-4-6)和带 gw/ 前缀(如 gw/claude-sonnet-4-6)两种形式都支持,效果等价。

4. 启动使用

BASH
# 启动 Claude Code
claude

# 或直接在项目目录中启动
cd your-project && claude

进入交互界面后,输入 /model 即可切换网关支持的任意模型:

Claude Code /model 切换面板
Claude Code /model 切换面板 — 三档分别对应上一步配置的 Sonnet / Opus / Haiku 网关模型

5. 持久化配置

将环境变量写入 shell 配置文件,避免每次手动设置:

BASH
# 方式一:写入 shell 配置文件(推荐,永久生效)
echo 'export ANTHROPIC_BASE_URL="https://www.llmgateway.cn"' >> ~/.bashrc
echo 'export ANTHROPIC_AUTH_TOKEN="YOUR_API_KEY"' >> ~/.bashrc
echo 'export ANTHROPIC_MODEL="claude-sonnet-4-6"' >> ~/.bashrc  # 可替换为任意聊天模型

# 让 Claude Code 内置档位(Sonnet / Opus / Haiku)映射到网关模型
echo 'export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-4-6"' >> ~/.bashrc
echo 'export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-4-6"' >> ~/.bashrc
echo 'export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-haiku-4-5-20251001"' >> ~/.bashrc

source ~/.bashrc

# 方式二:在 Claude Code 内切换模型
# 启动后输入 /model 命令即可交互选择模型
# 支持所有网关中的聊天模型,如 gpt-5.4、gemini-3.1-pro-preview 等

常见问题

现象原因 / 解决
启动报「Connection refused」检查 ANTHROPIC_BASE_URL不要在末尾加 /v1
401 UnauthorizedANTHROPIC_AUTH_TOKEN 是否填写网关 Key(sk- 开头)
报「model not found」检查模型名称是否输入正确,与网关「模型管理」页保持一致即可(带不带 gw/ 前缀都行)
切换模型不生效/model 命令是会话级;想永久切换请改 ANTHROPIC_MODEL

Claude 省钱技巧

使用 Claude 模型时,通过合理的策略可以显著降低成本。

1. 善用 Prompt Cache

Prompt Cache 可以缓存重复的上下文,大幅降低输入 token 成本:

  • 5 分钟 TTL:适合连续对话场景,缓存读取价格是正常输入的 10%
  • 1 小时 TTL:适合长时间编码会话,缓存读取价格是正常输入的 10%
  • 最佳实践:将项目上下文、代码库结构等固定内容放在消息开头,标记为可缓存

2. 按任务选择模型

不同模型适合不同场景,合理搭配可以节省 50% 以上成本:

场景推荐模型原因
简单代码补全、注释生成Haiku 4.5速度快、成本低
日常编码、代码审查Sonnet 4.6性价比最高
架构设计、复杂重构Opus 4.6推理能力最强

3. 订阅套餐 vs 按量付费

根据使用频率选择合适的付费方式:

  • 每天使用 < 2 小时:按量付费更划算
  • 每天使用 2-6 小时:Pro 或 Plus 套餐(¥99-299/月)
  • 每天使用 > 6 小时:Premium 或 Max 套餐(¥599-999/月)

4. 控制上下文长度

避免发送不必要的上下文:

  • 定期清理对话历史,只保留最近 10-20 轮
  • 使用 Claude Code 的 --context-window 参数限制上下文
  • 避免重复发送大文件内容,使用文件引用

Claude 模型选择指南

Claude 提供三个系列的模型,各有特点和适用场景。

Claude Haiku 4.5

最快速

轻量级模型,响应速度最快,适合高频次的简单任务。

适用场景:代码补全、语法检查、简单问答、注释生成
价格:¥0.80/M 输入,¥4.00/M 输出
特点:速度快、成本低、适合批量处理

Claude Sonnet 4.6

推荐

平衡性能与成本的中端模型,是大多数开发者的首选。

适用场景:日常编码、代码审查、Bug 修复、单元测试编写
价格:¥2.40/M 输入,¥12.00/M 输出(比官方便宜 20%)
特点:性价比最高、支持 Extended Thinking、支持 Prompt Cache

Claude Opus 4.6

最强大

旗舰模型,推理能力最强,适合复杂任务和架构设计。

适用场景:架构设计、复杂重构、算法优化、技术方案评审
价格:¥4.00/M 输入,¥20.00/M 输出(比官方便宜 20%)
特点:推理能力最强、支持 Extended Thinking、适合复杂问题

💡 省钱建议

日常编码用 Sonnet 4.6,简单任务用 Haiku 4.5,复杂架构设计才用 Opus 4.6。合理搭配可以节省 50% 以上成本。

CC Switch 配置

CC Switch 是一个跨平台的 AI 编程工具配置管理器,支持在多个 API Provider 之间一键切换。通过 CC Switch 可以快速将 Claude Code、Codex、Cursor 等工具连接到本网关,无需手动修改环境变量。

1. 安装 CC Switch

BASH
# 方式一:桌面版(推荐)
# 从 GitHub 下载对应平台的安装包:
# https://github.com/farion1231/cc-switch/releases

# 方式二:CLI 版
npm install -g cc-switch-cli

2. 添加本网关为 Provider

打开 CC Switch,点击添加 Provider,填写以下信息:

TEXT
# 在 cc-switch 中添加 Provider 时填写以下信息:
#
# Provider 名称:  LLM Gateway(或自定义名称)
# Base URL:       https://www.llmgateway.cn
# API Key:        在控制台「API 密钥」页面创建的 sk-xxx 密钥
# 模型列表:       点击「获取模型」自动拉取,或手动输入

Base URL — 填写网关地址,不要以 /v1 结尾。

API Key — 在控制台 API 密钥 页面创建,格式为 sk-xxx

模型列表 — CC Switch 会自动调用 GET /v1/models 获取可用模型。

3. 支持的工具

本网关同时兼容多种 API 格式,CC Switch 管理的所有主流工具均可使用:

TEXT
# 本网关支持以下工具,cc-switch 均可一键切换:
#
# 工具            API 格式                端点
# ─────────────  ─────────────────────  ──────────────────────
# Claude Code    Anthropic Messages     /v1/messages
# Codex CLI      OpenAI Responses       /v1/responses
# Cursor         OpenAI Chat            /v1/chat/completions
# Copilot CLI    Anthropic Messages     /v1/messages  (BYOK type=anthropic)
# Trae           OpenAI Chat            /v1/chat/completions
# OpenCode       OpenAI Chat            /v1/chat/completions
# Windsurf       OpenAI Chat            /v1/chat/completions
# Gemini CLI     Google Gemini          /gemini/v1/

4. 手动配置(不使用 CC Switch)

如果不想安装 CC Switch,也可以直接设置环境变量:

BASH
# 如果不使用 cc-switch,也可以手动配置环境变量:

# Claude Code
export ANTHROPIC_BASE_URL="https://www.llmgateway.cn"
export ANTHROPIC_AUTH_TOKEN="sk-your-api-key"
export ANTHROPIC_MODEL="claude-sonnet-4-6"

# Codex CLI
export OPENAI_BASE_URL="https://www.llmgateway.cn/v1"
export OPENAI_API_KEY="sk-your-api-key"

# Cursor / Windsurf
# 在设置中将 Base URL 设为 https://www.llmgateway.cn/v1
# API Key 填写 sk-your-api-key

Codex CLI 配置

Codex CLI 是 OpenAI 推出的开源 AI 编程助手。默认走 Responses API,但接入网关时强烈建议改用 Chat Completionswire_api = "chat"),兼容性最好。

1. 安装 Codex CLI

需要 Node.js ≥ 22。使用 npm 全局安装:

BASH
npm install -g @openai/codex

2. 三件套配置

Codex CLI 需要同时配齐三处:环境变量 + ~/.codex/config.toml + ~/.codex/auth.json,缺一启动报错。

步骤 1:环境变量

BASH
# 设置环境变量
export OPENAI_BASE_URL="https://www.llmgateway.cn/v1"
export OPENAI_API_KEY="YOUR_API_KEY"

步骤 2:~/.codex/config.toml

TOML
# ~/.codex/config.toml
[model_providers.gateway]
name = "LLM Gateway"
base_url = "https://www.llmgateway.cn/v1"
env_key = "OPENAI_API_KEY"

profile = "default"

[profiles.default]
model = "gpt-5.4"
model_provider = "gateway"
wire_api = "chat"

🔑 关键wire_api = "chat" 必须显式写。Codex 默认 responses,会发 GET 预检请求导致兼容性问题。

步骤 3:~/.codex/auth.json

JSON
// ~/.codex/auth.json — Codex 启动时需要此文件
{
  "auth_mode": "apikey",
  "OPENAI_API_KEY": "YOUR_API_KEY"
}

🔑 关键OPENAI_API_KEY 这个字段名 Codex 写死了,不能改成别的名字,否则会报 API key auth is missing a key

如果 config.toml 引用了其他自定义环境变量名,请同步设置:

BASH
# 设置配置文件中引用的环境变量
export OPENAI_API_KEY="YOUR_API_KEY"

3. 可用模型

BASH
# OpenAI 系列(推荐用于 Codex)
gpt-5.4             # GPT-5.4
gpt-5.4-codex       # GPT-5.4 Codex — 代码专用
gpt-5.4-codex-high  # GPT-5.4 Codex High

# Claude 系列(同样支持)
claude-sonnet-4-6   # Sonnet 4.6
claude-opus-4-6     # Opus 4.6

# 其他模型
gemini-3.1-pro-preview  # Gemini 3.1 Pro Preview
glm-5.1                 # GLM 5.1

4. 启动使用

BASH
# 使用默认模型启动
codex

# 指定模型启动
codex --model gpt-5.4

# 直接提问
codex --model gpt-5.4 "explain this codebase"

5. 持久化配置

将环境变量写入 shell 配置文件,避免每次手动设置:

BASH
# 写入 shell 配置文件(永久生效)
echo 'export OPENAI_BASE_URL="https://www.llmgateway.cn/v1"' >> ~/.bashrc
echo 'export OPENAI_API_KEY="YOUR_API_KEY"' >> ~/.bashrc
source ~/.bashrc

常见问题

现象原因 / 解决
API key auth is missing a key~/.codex/auth.json 里字段名必须是 OPENAI_API_KEY,不能改名
启动后第一次请求 405 / 400config.tomlwire_api 没设为 "chat",默认走 responses 不通
401 Unauthorized三处的 Key 是否一致;环境变量是否 source 生效
Base URL 报错Base URL 必须以 /v1 结尾

Cursor 配置

Cursor 通过覆盖 OpenAI Base URL 接入网关。网关内的 Claude / GPT / Gemini / GLM 全系模型都通过 OpenAI 协议提供,不需要也无法走 Anthropic 协议(Cursor 当前版本未开放 Anthropic Base URL 自定义入口)。

1. 覆盖 OpenAI Base URL

打开 Cursor → SettingsModels,找到 OpenAI API Key 区域:

TEXT
// Cursor Settings → Models → OpenAI API Key
// 1. 填入你的网关 API Key
// 2. 勾选 "Override OpenAI Base URL"
// 3. 填入网关地址(带 /v1):
https://www.llmgateway.cn/v1
// 4. 点击 Verify,绿色勾即可

Cursor 设置页里也能看到 Anthropic API Key 区域,但没有 Override Anthropic Base URL 选项,无法把 Anthropic 流量指到自定义端点,因此本指南不使用 Anthropic 方式。Claude 系列模型通过上面的 OpenAI Override 走网关即可,网关会自动做协议转换。

2. 添加自定义模型

模型列表里点 + Add Model,输入模型名后保存。

⚠️ Cursor 必须给模型名加 gw/ 前缀

否则 Cursor 会把请求按官方 OpenAI 模型名拦截/改写,导致 Verify 失败或调不到对应模型。例如填 gw/claude-sonnet-4-6不要claude-sonnet-4-6

网关已兼容 gw/ 前缀,会自动剥离前缀后路由到对应模型。

TEXT
// Cursor 添加自定义模型时,模型名【必须】带 gw/ 前缀
// 否则 Cursor 会按官方 OpenAI 模型名拦截/改写,导致 Verify 失败或调不到对应模型

// ✅ 正确
gw/claude-sonnet-4-6
gw/gpt-5.4-codex

// ❌ 错误(会被 Cursor 拦截)
claude-sonnet-4-6
gpt-5.4-codex

3. 推荐模型

Cursor 中所有模型名都要带 gw/ 前缀:

BASH
# Cursor 中所有模型名都要带 gw/ 前缀

# OpenAI 系列
gw/gpt-5.4
gw/gpt-5.4-codex
gw/gpt-5.4-codex-high

# Claude 系列(通过 OpenAI 协议透传,由网关自动转换)
gw/claude-sonnet-4-6
gw/claude-opus-4-6

# 其他
gw/gemini-3.1-pro-preview
gw/glm-5.1

4. 验证配置

配置完成后,在 Cursor 中打开任意文件,使用 Ctrl+L(Mac: Cmd+L)打开 AI 对话框,选择已配置的模型发送一条消息,确认能正常收到回复。

常见问题

现象原因 / 解决
Verify 一直转圈 / 失败① Base URL 是否带 /v1 且填在 OpenAI 区域;② 自定义模型名是否加了 gw/ 前缀
添加自定义模型后没响应模型名忘了加 gw/ 前缀;Cursor 会按官方 OpenAI 模型名处理,导致请求被改写
Cursor Agent 模式偶发 400Cursor Agent 会发 Anthropic 形状请求体到 OpenAI 端点,本网关已兼容;如仍失败请反馈日志
想直接配 Anthropic 端点Cursor 当前版本没有 Anthropic Base URL 覆盖入口,统一走 OpenAI Override 即可

Copilot CLI 配置

GitHub Copilot CLI 通过 BYOK(Bring Your Own Key)模式,可将推理流量切换到自定义的 OpenAI 或 Anthropic 兼容端点。本网关推荐使用 type=anthropic 配置,覆盖网关内全部聊天模型。

1. 安装 Copilot CLI

参考 GitHub 官方文档安装。常见的安装方式是 npm install -g @github/copilot 或通过 gh extension install github/gh-copilot 启用 gh copilot 子命令。

2. 配置环境变量(推荐 Anthropic 协议)

BASH
# 推荐配置:BYOK 走 Anthropic 协议(兼容性最佳)
export COPILOT_PROVIDER_TYPE="anthropic"
export COPILOT_PROVIDER_BASE_URL="https://www.llmgateway.cn"
export COPILOT_PROVIDER_API_KEY="YOUR_API_KEY"
export COPILOT_MODEL="claude-sonnet-4-6"

# 上下文与输出长度上限(按所选模型实际能力调整)
export COPILOT_PROVIDER_MAX_PROMPT_TOKENS="200000"
export COPILOT_PROVIDER_MAX_OUTPUT_TOKENS="8192"

COPILOT_PROVIDER_TYPE=anthropic — 推荐配置。Copilot CLI 将走 Anthropic Messages 协议(/v1/messages),网关内部按需在 Anthropic 与 OpenAI / Gemini 上游间转换,所有聊天模型均可使用。

COPILOT_PROVIDER_BASE_URL — 网关地址,不要/v1 结尾。

COPILOT_PROVIDER_API_KEY — 在控制台「API 密钥」页面创建。

COPILOT_PROVIDER_MAX_PROMPT_TOKENS — 系统提示与工具定义本身就会占用约 21k token,建议至少设为 32000,否则工具上下文会被截断。实际上限以所选模型为准。

3. 可用模型

BASH
# 与其他工具一致,可使用网关中所有聊天模型

# Claude 系列(推荐,配合 type=anthropic 体验最完整)
claude-sonnet-4-6           # Sonnet 4.6
claude-opus-4-6             # Opus 4.6
claude-haiku-4-5-20251001   # Haiku 4.5

# OpenAI 系列
gpt-5.4
gpt-5.4-codex
gpt-5.4-codex-high

# Gemini 系列
gemini-3.1-pro-preview      # Gemini 3.1 Pro Preview

# 智谱 GLM 系列
glm-5.1

4. 启动使用

BASH
# 启动 Copilot CLI(按账户偏好可能是 `copilot` 或 `gh copilot`)
copilot

# 直接提问
copilot "解释这个仓库的目录结构"
Copilot CLI 启动效果
Copilot CLI 启动后通过网关回答的实际效果

5. 持久化配置

BASH
# 写入 shell 配置文件(永久生效)
{
  echo 'export COPILOT_PROVIDER_TYPE="anthropic"'
  echo 'export COPILOT_PROVIDER_BASE_URL="https://www.llmgateway.cn"'
  echo 'export COPILOT_PROVIDER_API_KEY="YOUR_API_KEY"'
  echo 'export COPILOT_MODEL="claude-sonnet-4-6"'
  echo 'export COPILOT_PROVIDER_MAX_PROMPT_TOKENS="200000"'
  echo 'export COPILOT_PROVIDER_MAX_OUTPUT_TOKENS="8192"'
} >> ~/.bashrc
source ~/.bashrc

备选方案:OpenAI 协议

若上游确认走 OpenAI 兼容端点,也可使用 type=openai。注意 base URL 此时需带 /v1

BASH
# 备选方案:BYOK 走 OpenAI 协议
# 注意:部分非 OpenAI 上游对 type=openai 的请求会返回 400,
# 因此推荐默认使用 type=anthropic。仅在确认所选模型走 OpenAI 兼容上游时再用此方式。
export COPILOT_PROVIDER_TYPE="openai"
export COPILOT_PROVIDER_BASE_URL="https://www.llmgateway.cn/v1"
export COPILOT_PROVIDER_API_KEY="YOUR_API_KEY"
export COPILOT_MODEL="gpt-5.4-codex"

注意事项

Anthropic 原生特性(Extended Thinking、Prompt Caching)只在 Claude 上游模型 + type=anthropic 下完整生效;选择 OpenAI / Gemini 上游模型时这些字段会被网关安全降级,但基础对话与工具调用不受影响。

Trae 配置

Trae(字节跳动)底层使用 OpenAI Chat Completions 协议。在 Trae 设置里添加自定义 Provider 即可接入网关,使用网关中所有聊天模型。

1. 添加 Provider

TEXT
// Trae UI 配置步骤
// 步骤 1:打开 Trae 侧边栏聊天框右上角齿轮 → Settings → Models
// 步骤 2:点击 + Add Model
// 步骤 3:Provider 选择 OpenAI 或 OpenAI Compatible
// 步骤 4:填入下列字段并保存
//   - API Key:  YOUR_API_KEY(控制台 API 密钥页创建)
//   - Base URL: https://www.llmgateway.cn/v1
//   - Model:    claude-sonnet-4-6(或网关中其他聊天模型)
// 步骤 5:保存后回到聊天框右上角,重新选择刚添加的模型
Trae Settings 入口
Trae Settings → Models 入口 — 侧边栏聊天框右上角齿轮
Trae Add Model 弹窗
Trae Add Model 弹窗 — Provider 选 OpenAI 或 OpenAI Compatible,按下方表格填写
字段
API Keysk-your-gateway-key
Base URLhttps://www.llmgateway.cn/v1 /v1
Modelclaude-sonnet-4-6 或网关中其他模型名

2. 验证

在 Trae 聊天框输入「介绍你自己」并发送,能正常返回即接入成功。

3. 可用模型

BASH
# Trae 可用网关中所有聊天模型
claude-sonnet-4-6
claude-opus-4-6
gpt-5.4
gpt-5.4-codex
gemini-3.1-pro-preview
glm-5.1

常见问题

现象原因 / 解决
添加 Provider 时找不到 Base URL 输入框选择 OpenAI Compatible(部分版本叫 Custom),内置的 OpenAI 项 Base URL 可能锁死
401 / 模型未找到Base URL 别忘记 /v1 后缀;模型名与网关「模型管理」页保持一致
改完配置不生效保存后回到聊天框右上角重新选一次刚添加的模型

OpenCode 配置

OpenCode 是 sst 推出的 AI 编程 CLI,支持 OpenAI 兼容 API。通过其内置的 TUI 设置界面添加 Provider 接入网关,无需编辑配置文件

1. 在 TUI 中添加 Provider

TEXT
// OpenCode TUI 添加 Provider
// 步骤 1:启动 opencode(交互模式)
// 步骤 2:按 / 或对应快捷键打开命令面板,进入 Settings
//        (部分版本叫 Providers / Models / Custom Endpoints)
// 步骤 3:选择 Add Provider → 选 OpenAI Compatible
// 步骤 4:依次填入下列字段并保存
//   - Name:    LLM Gateway(自定义)
//   - Base URL: https://www.llmgateway.cn/v1
//   - API Key:  YOUR_API_KEY
//   - Model:    claude-sonnet-4-6(或其他网关模型名)
// 步骤 5:保存后 OpenCode 自动测试连接,重启 opencode 后
//        在模型选择面板中即可看到 LLM Gateway 分组
OpenCode 设置入口
OpenCode 命令面板 — 选择 Settings / Providers,进入新增 Provider
OpenCode 选择 OpenAI Compatible
Provider 类型选 OpenAI Compatible,按下方表格填入网关信息
字段
NameLLM Gateway(自定义)
Base URLhttps://www.llmgateway.cn/v1 /v1
API Keysk-your-gateway-key
Modelclaude-sonnet-4-6 或网关中其他模型名

2. 选择模型并使用

在 OpenCode 主界面按 /model(或对应快捷键)打开模型选择面板,挑选 LLM Gateway 下的模型即可:

OpenCode 模型选择 TUI
OpenCode 模型选择面板 — 展开 LLM Gateway 分组挑选具体模型
BASH
# 启动 OpenCode,选择网关模型即可使用
opencode

# 直接执行任务
opencode run "解释这个仓库结构"

常见问题

现象原因 / 解决
找不到 Add Provider 入口不同版本菜单名不同,可能叫 Providers / Models / Custom Endpoints,关键词搜「OpenAI Compatible」
测试连接失败Base URL 是否带 /v1;API Key 是否填写正确
模型选择器里看不到刚加的 Provider重启 OpenCode;或在设置里把该 Provider 切到「启用」状态

Gemini API

Gateway 提供 Google Gemini 原生 API 的透传代理,支持 v1 和 v1beta 两个版本。可直接使用 Gemini SDK 或原生 REST 调用。

端点格式

Action端点
生成内容POST /gemini/v1/models/{model}:generateContent
流式生成POST /gemini/v1/models/{model}:streamGenerateContent
生成内容(v1beta)POST /gemini/v1beta/models/{model}:generateContent
流式生成(v1beta)POST /gemini/v1beta/models/{model}:streamGenerateContent
缓存内容POST /gemini/v1/models/{model}/cachedContents
缓存内容(v1beta)POST /gemini/v1beta/models/{model}/cachedContents

图像生成模型(如 gemini-3.1-flash-image-preview)需要使用 v1beta 版本端点。

文本生成

BASH
curl -X POST "https://www.llmgateway.cn/gemini/v1/models/gemini-2.5-flash:generateContent" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {"parts": [{"text": "Hello!"}]}
    ]
  }'

流式生成

BASH
curl -X POST "https://www.llmgateway.cn/gemini/v1/models/gemini-2.5-flash:streamGenerateContent?alt=sse" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {"parts": [{"text": "Hello!"}]}
    ]
  }'

图像生成(v1beta)

通过 responseModalities 指定返回 IMAGE,模型会在响应中返回 base64 编码的图片数据。按次计费。

BASH
curl -X POST "https://www.llmgateway.cn/gemini/v1beta/models/gemini-3.1-flash-image-preview:generateContent" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {"parts": [{"text": "画一只可爱的猫咪"}]}
    ],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"]
    }
  }'

Python SDK 示例

PYTHON
from google import genai

client = genai.Client(
    api_key="YOUR_API_KEY",
    http_options={"api_version": "v1beta",
                  "url": "https://www.llmgateway.cn/gemini"},
)

# 文本生成
response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="Hello!",
)
print(response.text)

# 图像生成(需要 v1beta)
from google.genai import types

response = client.models.generate_content(
    model="gemini-3.1-flash-image-preview",
    contents="画一只可爱的猫咪",
    config=types.GenerateContentConfig(
        response_modalities=["TEXT", "IMAGE"],
    ),
)
for part in response.candidates[0].content.parts:
    if part.inline_data:
        # part.inline_data.data 为图片的 base64 编码
        print(f"图片 MIME: {part.inline_data.mime_type}")
    elif part.text:
        print(part.text)

请求和响应格式与 Google Gemini API 完全一致,可参考 Gemini API 官方文档

使用 Gemini SDK 时,将 API endpoint 设为 https://www.llmgateway.cn/gemini,API Key 使用网关 Key。SDK 会自动拼接 /v1beta/models/... 路径。

流式响应与超时

Gateway 所有 LLM 端点均支持 Server-Sent Events (SSE) 流式响应。以下是流式行为说明和推荐的超时配置。

SSE 流式行为

Chat Completions: 设置 stream: true,响应为 text/event-stream 格式,每个 chunk 以 data: 前缀发送,最后以 data: [DONE] 结束
Messages API: 设置 stream: true,响应为 Anthropic SSE 格式,包含 message_startcontent_block_deltamessage_stop 等事件
Responses API: 默认流式,响应包含 response.createdresponse.output_text.deltaresponse.completed 等事件
Gemini API: 使用 :streamGenerateContent?alt=sse 端点获取流式响应

推荐超时配置

场景推荐超时说明
非流式请求120-300s大模型生成可能较慢,建议至少 2 分钟
流式请求(首 token)30-60s首个 token 到达时间,超过可能是上游异常
流式请求(chunk 间隔)30s两个 chunk 之间的最大间隔
图像生成120s图像生成耗时较长

重试策略

429 (Too Many Requests): 按 Retry-After 头等待后重试,或使用指数退避(1s → 2s → 4s)
500 / 502 / 503: 可安全重试,建议最多 3 次,使用指数退避
400 / 401 / 402 / 403: 不可重试,需修正请求或充值后再试
流式中断: 如果流式响应中途断开,不建议自动重试(可能导致重复计费),应提示用户重新发送
Gateway 的默认请求超时为 5 分钟。如果你的请求涉及大量 token 生成(如长文档),建议使用流式模式以避免超时。

错误处理

400
Bad Request
请求格式错误或缺少必填参数
401
Unauthorized
API Key 无效或未提供
402
Payment Required
账户余额不足
403
Forbidden
账户已被禁用或模型未配置定价
404
Not Found
请求的模型不存在或未配置
405
Method Not Allowed
HTTP 方法不被支持(如对 POST 端点发送 GET)
413
Request Entity Too Large
请求体超过大小限制(默认 20MB)
429
Too Many Requests
请求频率超过限制
500
Internal Server Error
服务器内部错误,请重试

错误码字典

每个错误响应包含 error.code 字段,可用于程序化错误处理。

错误码说明可重试
bad_json请求体 JSON 格式错误
missing_fields缺少必填字段
missing_model未指定模型名称
invalid_api_keyAPI Key 无效或已吊销
no_user用户不存在
insufficient_balance账户余额不足
no_pricing模型未配置定价
quota_exceeded托管 Key 配额已用完
not_found请求的资源不存在
request_too_large请求体超过大小限制
too_frequent请求频率超限,请稍后重试
db_error数据库操作失败
upstream_read_error上游服务响应异常
sms_error短信发送失败