开发文档
集成 AnRouter 所需的一切。完美兼容 OpenAI, Anthropic 和 Gemini SDK —— 2分钟内即可收到您的首个响应。
快速开始
AnRouter 是 OpenAI API 的即插即用替代方案。如果您之前使用过 OpenAI, 仅需要修改两个参数:接口的 BASE URL 和您的 API KEY, 其余参数和调用逻辑完全一致。
接口地址: https://api.anrouter.com/v1
认证方式: Authorization: Bearer YOUR_API_KEY
from openai import OpenAI
client = OpenAI(
api_key="YOUR_ANROUTER_API_KEY",
base_url="https://api.anrouter.com/v1"
)
response = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Write a binary search in Python."}
]
)
print(response.choices[0].message.content)
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_ANROUTER_API_KEY',
baseURL: 'https://api.anrouter.com/v1',
});
const response = await client.chat.completions.create({
model: 'deepseek-v4-flash',
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'Write a binary search in TypeScript.' },
],
});
console.log(response.choices[0].message.content);
package main
import (
"context"
"fmt"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
option.WithAPIKey("YOUR_ANROUTER_API_KEY"),
option.WithBaseURL("https://api.anrouter.com/v1"),
)
resp, _ := client.Chat.Completions.New(context.Background(),
openai.ChatCompletionNewParams{
Model: openai.F("deepseek-v4-flash"),
Messages: openai.F([]openai.ChatCompletionMessageParamUnion{
openai.SystemMessage("You are a helpful assistant."),
openai.UserMessage("Write a binary search in Go."),
}),
},
)
fmt.Println(resp.Choices[0].Message.Content)
}
curl https://api.anrouter.com/v1/chat/completions \
-H "Authorization: Bearer $ANROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-flash",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Write a binary search in Python."}
]
}'
身份认证
所有 API 请求均需要通过 API 密钥进行身份认证。请在您的请求头中, 将密钥作为 Bearer 令牌传入 Authorization 头:
Authorization: Bearer YOUR_ANROUTER_API_KEY
安全性建议: 请妥善保管您的密钥——切勿将其暴露在客户端代码, 公开代码仓库或任何前端明文应用中。您的 API 密钥拥有您账户的全部访问权限。如果密钥泄漏, 请立即前往控制台进行吊销和重置。
可用模型列表
请在发起接口调用时使用对应的模型识别 ID。您也可以调用 GET /v1/models 获取实时的可用模型列表。
| 模型 ID | 上下文窗口 | 模型厂商 |
|---|---|---|
| deepseek-v4-flash | 1,000,000 tokens (1M) | DeepSeek |
| mimo-v2.5-pro | 1,000,000 tokens (1M) | 小米集团 |
| kimi-k2.6 | 256,000 tokens (256K) | 月之暗面 |
| glm-5.2 | 1,000,000 tokens (1M) | Z.ai |
| qwen-3.6-27b | 256,000 tokens (256K) | Qwen |
| minimax-m2.7 | 200,000 tokens (200K) | MiniMax |
速率限制与配额
速率限制(Rate Limits)根据每分钟请求数(RPM)和每分钟处理的 Token 数(TPM)双重维度计算。默认计费周期的具体限额如下:
- 标准版(Standard): 60 RPM / 100,000 TPM
- 专业版(Pro): 600 RPM / 2,000,000 TPM (专属优先请求队列)
- 企业版(Enterprise): 自定义高并发配置, 根据独占算力吞吐量保障合同计算。
当您的调用超出该配额限制时, 接口会返回 429 Rate Limit Exceeded 的 HTTP 状态码。我们建议您在客户端的调用中集成指数退避(Exponential Backoff)重试策略。
对话补全 API (Chat)
POST /v1/chat/completions
为给定会话创建模型回复, 完全兼容 OpenAI Chat Completions。
请求体核心参数说明
messages array(必填)
消息对象数组。消息结构:{"role": "user"|"system"|"assistant", "content": "..."}.
model string(必填)
目标模型 ID(例如deepseek-v4-flash).
stream boolean(可选, 默认 false)
为 true 时, 通过 Server-Sent Events (SSE) 持续返回增量片段。
temperature number(可选, 默认 1.0)
控制输出随机性(0.0 到 2.0)。数值越低, 输出越稳定。
返回响应 JSON 结构体示例
{
"id": "chatcmpl-anr98213",
"object": "chat.completion",
"created": 1751000000,
"model": "deepseek-v4-flash",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "A binary search splits the list in half..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 18,
"completion_tokens": 42,
"total_tokens": 60
}
}
Responses API
AnRouter 完美兼容 OpenAI 最新的状态化 Responses API(在 OpenAI SDK 1.66+ / 4.80+ 中引入)。直接使用 SDK 的 client.responses.create() 接口发起请求, 即可即插即用。
AnRouter 完全支持 OpenAI 新一代有状态 Responses 推理接口(OpenAI SDK v1.66+ / v4.80+ 引入)。可直接调用client.responses.create(...).
# Python responses snippet
response = client.responses.create(
model="deepseek-v4-flash",
input="Explain transformers in one sentence."
)
print(response.output_text)
Anthropic 消息接口 (Messages)
您无需修改任何核心的 SDK 调用代码, 仅需将 Anthropic SDK 的 Base URL 修改为 https://api.anrouter.com, 即可将现有的 Anthropic/Claude 调用无缝平移至 AnRouter 平台。
将 Anthropic 官方 SDK 的 baseURL 指向以下地址, 即可无缝接入 AnRouter 模型:https://api.anrouter.com(不需要 /v1 后缀)。
import anthropic
client = anthropic.Anthropic(
api_key="YOUR_ANROUTER_API_KEY",
base_url="https://api.anrouter.com"
)
message = client.messages.create(
model="deepseek-v4-flash",
max_tokens=1024,
messages=[{"role": "user", "content": "Explain CAP Theorem."}]
)
print(message.content[0].text)
获取模型列表 API
调用此接口可以获取您当前账户所能调用的全部大语言模型产品清单。
获取 AnRouter 当前可用的模型列表。
curl https://api.anrouter.com/v1/models \
-H "Authorization: Bearer $ANROUTER_API_KEY"
接口错误码说明
AnRouter 通过标准的 HTTP 状态码返回业务执行结果以及异常原因:
| 状态码 | 异常 Code 标识 | 异常原因与处理说明 |
|---|---|---|
| 400 | invalid_request_error | 请求格式不正确, 缺少必需字段或传入了不支持的参数。 |
| 401 | authentication_error | API 密钥验证失败或未携带 API 密钥。 |
| 429 | rate_limit_error | 触发了您的并发数限制(RPM)或 Token 流量上限限制(TPM)。 |
| 500 | api_error | 网关服务异常。如持续触发该错误, 请联系技术专家群协助排查。 |
流式输出 (Streaming)
支持实时的 Token-by-Token 流式传输, 这对于需要即时渲染文字的人机交互聊天室等场景十分关键。在请求中配置 "stream": true 即可激活。
# Python streaming
stream = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role": "user", "content": "Explain AI."}],
stream=True
)
for chunk in stream:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)
函数调用 (Tools)
允许大模型自主根据用户查询选择调用您预定义的方法, 并接收执行结果再次生成回答。完全兼容 OpenAI 提供的 Tools 调用接口规格。
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get current weather in city.",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
}]
response = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role": "user", "content": "What's the weather in Tokyo?"}],
tools=tools
)
JSON 输出模式
强制大模型输出结果符合标准的 JSON 数据格式。需要在接口参数中指定 "response_format": {"type": "json_object"} 并在 Prompt 中配合引导。
response = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[
{"role": "system", "content": "Respond strictly in JSON."},
{"role": "user", "content": "Get Alice's details: age 30, city Berlin."}
],
response_format={"type": "json_object"}
)
Codex
这份教程同时覆盖 Codex CLI 和 Codex 桌面 App 接入 AnRouter 模型。Codex 的长期配置放在 ~/.codex/config.toml,CLI、桌面 App 和 IDE 插件共享本地配置层,所以推荐把 AnRouter 写成独立 provider,而不是长期依赖临时环境变量。
~/.codex/config.toml 管理用户配置,支持自定义 model_providers,CLI 参数可以单次覆盖默认模型,并可通过 codex app 打开桌面端。一、安装并确认 Codex CLI
- 优先使用官方独立安装脚本:
curl -fsSL https://chatgpt.com/codex/install.sh | sh。Windows PowerShell 使用irm https://chatgpt.com/codex/install.ps1 | iex。 - 运行
codex --version检查安装,再运行codex确认可以进入 TUI。 - 如果只使用 OpenAI 官方模型,可运行
codex login登录;如果主要走 AnRouter,自定义 provider 读取ANROUTER_API_KEY即可。
二、临时测试方式
这个方式只在当前终端生效,适合第一次验证 Base URL 和模型名。
export OPENAI_API_KEY="your_anrouter_api_key"
export OPENAI_BASE_URL="https://api.anrouter.com/v1"
codex --model deepseek-v4-flash三、推荐长期配置 config.toml
~/.codex/config.toml 里的独立 provider。# ~/.codex/config.toml
model = "glm-5.2"
model_provider = "anrouter"
[model_providers.anrouter]
name = "AnRouter"
base_url = "https://api.anrouter.com/v1"
env_key = "ANROUTER_API_KEY"终端里可直接导出 Key;如果桌面 App 或 IDE 插件读不到 shell 环境变量,把 Key 放到 ~/.codex/.env 后重启 App。
~/.codex/.env。export ANROUTER_API_KEY="your_anrouter_api_key"
# ~/.codex/.env
ANROUTER_API_KEY=your_anrouter_api_key四、桌面 App 使用步骤
- 运行
codex app或直接打开已安装的 Codex App。 - 在 App 里打开项目文件夹,新建 Local thread。
- 确认
~/.codex/config.toml已写入 AnRouter provider,并确认~/.codex/.env里有ANROUTER_API_KEY。 - 如果需要确认 App 能看到 Key,可在 App 终端里运行
printenv ANROUTER_API_KEY。 - 修改配置后重新开一个 session,避免旧会话缓存旧 provider。
推荐模型
- glm-5.2:编程、代码推理、复杂调试和多文件重构首选。
- deepseek-v4-flash:日常改代码、解释代码、低成本快速会话。
- qwen-3.6-27b:27B 多模态模型,客户端支持时可处理文本、图片或视频输入。
- kimi-k2.6:大上下文仓库阅读和长文件处理。
https://api.anrouter.com/v1。CLI 可用但 App 不可用时,优先检查 ~/.codex/.env 和重启 App。只有 provider 明确支持 Responses wire API 时才添加 wire_api = "responses";普通 OpenAI 兼容 chat completions 路由保持不写。Claude Code CLI 与桌面端详细教程
Claude Code 的 CLI 可以通过 LLM Gateway 接入 AnRouter,但桌面端规则不同。官方文档明确:CLI 读取 ANTHROPIC_BASE_URL 和网关凭据;桌面 App 的网关路由需要组织/管理员下发配置,普通本地 shell 变量或 settings.json 不足以让桌面端走第三方网关。
ANTHROPIC_BASE_URL=https://api.anrouter.com,不要加 /v1。Claude Code 会请求 $ANTHROPIC_BASE_URL/v1/messages。Codex、OpenCode、Aider 等 OpenAI 兼容工具才使用 https://api.anrouter.com/v1。一、CLI 安装
- 安装 Claude Code CLI:
npm install -g @anthropic-ai/claude-code。 - 进入项目目录运行
claude,确认 CLI 能启动。 - 如果网关使用 Authorization Bearer,用
ANTHROPIC_AUTH_TOKEN;如果明确要求x-api-key,才用ANTHROPIC_API_KEY。
二、临时测试
export ANTHROPIC_BASE_URL="https://api.anrouter.com"
export ANTHROPIC_AUTH_TOKEN="your_anrouter_api_key"
export ANTHROPIC_MODEL="glm-5.2"
claude三、写入 Claude Code settings.json
// ~/.claude/settings.json
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.anrouter.com",
"ANTHROPIC_AUTH_TOKEN": "your_anrouter_api_key",
"ANTHROPIC_MODEL": "glm-5.2",
"CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
}
}四、验证方式
- 运行
claude后输入/status。 - Status 页应看到 Anthropic base URL,以及
ANTHROPIC_AUTH_TOKEN或ANTHROPIC_API_KEY作为凭据来源。 - 如果返回 401,通常是凭据 header 类型错了:Bearer 用
ANTHROPIC_AUTH_TOKEN,x-api-key 用ANTHROPIC_API_KEY。 - 用
/model切换模型;如果网关模型发现可用,会出现额外模型。
五、桌面 App 怎么用
| 场景 | 正确做法 |
|---|---|
| 安装桌面端 | 从 claude.ai/download 下载,登录后打开 Code 标签。 |
| 普通 Claude 使用 | 选择项目、模型和权限模式,使用 diff、preview、terminal、file editor 等桌面功能。 |
| AnRouter 网关 | 需要企业/管理员下发桌面端网关配置。没有下发时,请用 CLI 或 VS Code 插件跑 AnRouter。 |
ANTHROPIC_BASE_URL 配置误认为一定会让桌面端走 AnRouter。OpenCode CLI 与桌面 App 详细教程
OpenCode 是模型无关的 AI coding agent,提供终端 TUI、桌面 App 和 IDE 插件。官方配置支持通过 @ai-sdk/openai-compatible 添加 OpenAI 兼容 provider,因此适合接入 AnRouter。
~/.config/opencode/opencode.json,项目配置为项目根目录的 opencode.json,配置可覆盖 TUI、CLI run、桌面 App 和 GitHub Action。一、安装 CLI
| 方式 | 命令 |
|---|---|
| 官方脚本 | curl -fsSL https://opencode.ai/install | bash |
| npm | npm install -g opencode-ai |
| Homebrew | brew install anomalyco/tap/opencode |
| Windows | choco install opencode |
二、临时环境变量测试
export OPENAI_BASE_URL="https://api.anrouter.com/v1"
export OPENAI_API_KEY="your_anrouter_api_key"
opencode三、推荐 opencode.json 配置
{
"$schema": "https://opencode.ai/config.json",
"model": "anrouter/glm-5.2",
"small_model": "anrouter/deepseek-v4-flash",
"provider": {
"anrouter": {
"npm": "@ai-sdk/openai-compatible",
"name": "AnRouter",
"options": {
"baseURL": "https://api.anrouter.com/v1",
"apiKey": "{env:ANROUTER_API_KEY}"
},
"models": {
"glm-5.2": { "name": "GLM 5.2", "limit": { "context": 1048576, "output": 128000 } },
"qwen-3.6-27b": { "name": "Qwen-3.6-27B", "limit": { "context": 262144, "output": 262144 } },
"kimi-k2.6": { "name": "Kimi K2.6", "limit": { "context": 262144, "output": 262144 } },
"mimo-v2.5-pro": { "name": "MiMo V2.5 Pro", "limit": { "context": 1048576, "output": 131072 } },
"deepseek-v4-flash": { "name": "DeepSeek V4 Flash", "limit": { "context": 1048576, "output": 16384 } },
"minimax-m2.7": { "name": "MiniMax M2.7", "limit": { "context": 204800, "output": 196608 } }
}
}
}
}然后设置 Key 并启动:
export ANROUTER_API_KEY="your_anrouter_api_key"
opencode四、选择模型与验证
- 在 OpenCode TUI 输入
/models。 - 选择
anrouter/glm-5.2、anrouter/qwen-3.6-27b、anrouter/kimi-k2.6或anrouter/deepseek-v4-flash。 - 先发一个小问题测试。失败时运行
opencode auth list检查是否有冲突凭据。 - 如果 provider 不出现,检查
npm是否为@ai-sdk/openai-compatible,并确认options.baseURL是https://api.anrouter.com/v1。
五、桌面 App / IDE 插件
- 先在 CLI 中确认
opencode.json可用。 - 打开 OpenCode 桌面 App,选择包含
opencode.json的项目目录。 - 如果桌面端读不到 shell 里的
ANROUTER_API_KEY,把 provider 配置放到全局~/.config/opencode/opencode.json,并把 Key 设置到系统/用户环境变量。 - 通过模型选择器或
/models选择anrouter/*模型,再发送短提示验证。
/v1/chat/completions provider 使用 @ai-sdk/openai-compatible。只有明确使用 /v1/responses 的 provider 才改成 @ai-sdk/openai。Cursor 编辑器集成
Cursor 是一款基于 VS Code 构建的 AI 优先代码编辑器, 支持自定义 OpenAI 兼容模型供应商。通过将其指向 AnRouter, 您可以通过统一端点接入 DeepSeek, Kimi, GLM, MiMo 和 MiniMax 等前沿推理模型, 兼容 OpenAI 协议。
配置步骤
- 打开 Cursor, 按
Ctrl+Shift+J(Mac 上为Cmd+Shift+J)打开 Cursor 设置。 - 导航至 模型 → 模型供应商, 选择 OpenAI 兼容。
- 将 Base URL 设置为
https://api.anrouter.com/v1。 - 将您的 AnRouter API 密钥粘贴到 API Key 字段中。
- 在 模型 列表中, 添加您要使用的模型 ID(见下表)。点击 验证 确认连接。
- 选择您喜欢的模型作为 AI 对话和内联补全的默认模型。
可用模型 ID
| 模型 ID | 模型厂商 | 推荐场景 |
|---|---|---|
| deepseek-v4-flash | DeepSeek | 快速代码补全与日常任务 |
| glm-5.2 | Z.ai | 编程、代码推理与复杂重构首选 |
| qwen-3.6-27b | Qwen | 需要图片/视频输入时使用的 27B 多模态模型 |
| mimo-v2.5-pro | 小米 | Agentic software engineering, math reasoning |
| kimi-k2.6 | 月之暗面 | Vision, long context, UI/UX and repository analysis |
deepseek-v4-flash 以获得更快速度。处理复杂代码推理和多文件重构时, 切换到 glm-5.2。如果客户端支持图片/视频输入, 可使用 qwen-3.6-27b。Windsurf 集成
Windsurf(由 Codeium 出品)是一款具备深度上下文感知和多文件编辑能力的 AI IDE。它通过 AI 供应商设置支持自定义 OpenAI 兼容供应商, 让您可以轻松将其指向 AnRouter 并使用任何支持的前沿模型。
配置步骤
- 打开 Windsurf, 点击左下角齿轮图标 → AI 设置 → 供应商。
- 点击 添加自定义供应商, 选择 OpenAI 兼容 作为供应商类型。
- 将 API Base URL 设置为
https://api.anrouter.com/v1。 - 将您的 AnRouter API 密钥粘贴到 API Key 字段中。
- 在 默认模型 中输入您要使用的模型 ID(如
deepseek-v4-flash)。 - 点击 保存 并重启 Windsurf。Cascade AI 面板现在将通过 AnRouter 路由。
环境变量方式(备选)
也可以在启动 Windsurf 前通过环境变量配置 API 凭据:
# Linux / macOS
export OPENAI_API_BASE=https://api.anrouter.com/v1
export OPENAI_API_KEY=your_anrouter_api_key
windsurf .
# Windows PowerShell
$env:OPENAI_API_BASE = "https://api.anrouter.com/v1"
$env:OPENAI_API_KEY = "your_anrouter_api_key"
windsurf .
kimi-k2.6(256K 上下文)或glm-5.2处理大规模重构任务。VS Code Cline 插件集成
Cline(前身为 Claude Dev)是一款强大的 VS Code 自主编程 Agent 扩展, 可自主规划, 编写和执行多步代码变更。Cline 原生支持 OpenAI 兼容 API 供应商, 因此您可以轻松将其路由到 AnRouter, 通过统一端点接入 DeepSeek, Kimi 等前沿推理模型。
配置步骤
- 从 VS Code Marketplace 安装 Cline 扩展。
- 点击 Activity Bar 中的 Cline 图标打开 Cline 面板。
- 点击 Cline 面板内的 设置(齿轮)图标。
- 将 API Provider 设置为 OpenAI 兼容。
- 将 Base URL 设置为
https://api.anrouter.com/v1。 - 将您的 AnRouter API 密钥粘贴到 API Key 字段中。
- 在 模型 字段中输入您首选的模型 ID(如
glm-5.2)。 - 点击 保存。Cline 将立即使用 AnRouter 处理所有 Agent 编程任务。
Cline 推荐使用的模型
| 模型 ID | 上下文 | 推荐用途 |
|---|---|---|
| glm-5.2 | 1M | 最适合复杂代码推理和多文件智能体任务 |
| kimi-k2.6 | 256K | 适合需要完整仓库上下文的任务 |
| deepseek-v4-flash | 1M | 适合轻量任务, 成本更低 |
| qwen-3.6-27b | 256K | 客户端支持图片/视频输入时使用 |
Continue 插件配置
Continue 是一款适用于 VS Code 和 JetBrains IDE 的开源 AI 编程助手扩展, 提供内联代码建议, 对话式辅助和斜杠命令。Continue 通过 JSON 配置文件支持 OpenAI 兼容 API, 连接 AnRouter 非常简单。
第一步 — 安装 Continue
从 VS Code Marketplace 或 JetBrains 插件市场安装 Continue。安装完成后, 会创建配置文件 ~/.continue/config.json。
第二步 — 编辑 config.json
打开~/.continue/config.json并将 AnRouter 添加为模型供应商。您可以同时配置多个模型:
{
"models": [
{
"title": "DeepSeek V4 Flash (AnRouter)",
"provider": "openai",
"model": "deepseek-v4-flash",
"apiBase": "https://api.anrouter.com/v1",
"apiKey": "YOUR_ANROUTER_API_KEY"
},
{
"title": "Kimi K2.6 (AnRouter)",
"provider": "openai",
"model": "kimi-k2.6",
"apiBase": "https://api.anrouter.com/v1",
"apiKey": "YOUR_ANROUTER_API_KEY"
}
],
"tabAutocompleteModel": {
"title": "DeepSeek Flash (autocomplete)",
"provider": "openai",
"model": "deepseek-v4-flash",
"apiBase": "https://api.anrouter.com/v1",
"apiKey": "YOUR_ANROUTER_API_KEY"
}
}
第三步 — 重新加载并选择模型
保存配置后重新加载 VS Code。在 Continue 侧边栏中, 使用模型下拉菜单切换您配置的模型。所有对话和 Tab 自动补全请求都会通过 AnRouter 路由。
tabAutocompleteModel可独立配置内联幽灵文本自动补全模型。建议在这里使用速度更快的模型, 例如deepseek-v4-flash以获得低延迟建议, 同时在对话面板中使用能力更强的模型。Aider 终端助手配置
Aider 是一款终端 AI 结对编程工具, 可编辑本地 git 仓库中的文件, 提交变更, 并通过自然语言处理复杂的多文件重构。Aider 支持任何 OpenAI 兼容 API 端点, 接入 AnRouter 只需两个环境变量。
已安装 Aider
设置以下环境变量后, 像平常一样启动 Aider:
Linux / macOS
export OPENAI_API_BASE="https://api.anrouter.com/v1"
export OPENAI_API_KEY="your_anrouter_api_key"
aider --model openai/deepseek-v4-flash
Windows PowerShell
$env:OPENAI_API_BASE = "https://api.anrouter.com/v1"
$env:OPENAI_API_KEY = "your_anrouter_api_key"
aider --model openai/deepseek-v4-flash
全新安装
- 安装 Aider:
pip install aider-chat - 设置上面的环境变量(也可以加入您的
~/.bashrc或~/.zshrc)。 - 进入您的 git 仓库并运行:
aider --model openai/glm-5.2 path/to/file.py
环境变量说明
| 变量 | 值 | 说明 |
|---|---|---|
| OPENAI_API_BASE | https://api.anrouter.com/v1 | AnRouter API 端点 |
| OPENAI_API_KEY | your_anrouter_api_key | 您的 AnRouter API 密钥 |
openai/(例如 openai/glm-5.2)。这会让 Aider 使用 OpenAI 客户端库, 而不是原生供应商集成。GitHub Copilot 集成配置
GitHub Copilot 支持通过 VS Code 高级设置自定义 OpenAI 兼容 API 端点。将 Copilot 的 API 调用重定向到 AnRouter 后, 您可以在 Copilot Chat 面板和内联建议中使用 AnRouter 的前沿模型, 相比 Copilot 默认模型可大幅节省成本。
VS Code 设置方式
打开 VS Code, 通过 Ctrl+Shift+P 打开命令面板, 选择 打开用户设置(JSON), 并加入以下配置块:
// settings.json
{
"github.copilot.advanced": {
"openaiApiKey": "your_anrouter_api_key",
"openaiApiBaseUrl": "https://api.anrouter.com/v1"
}
}
在 Copilot Chat 中选择模型
- 在 VS Code 中打开 Copilot Chat 面板。
- 点击聊天面板顶部的模型选择下拉菜单。
- 选择一个 AnRouter 模型 ID;配置自定义 Base URL 后, 这些模型会出现在列表中。
- 开始对话。所有请求都会通过 AnRouter 路由。
glm-5.2适合复杂推理,deepseek-v4-flash适合快速问答与代码生成。VS Code 集成
在 VS Code 中使用 AnRouter 有多种方式。最灵活的方案是通过 Continue 扩展, 它同时提供内联幽灵文字自动补全和全功能对话面板, 均可配置指向任意 OpenAI 兼容端点。
方式一:Continue 扩展(推荐)
- 安装Continue扩展(来自 VS Code Marketplace)。
- 打开
~/.continue/config.json(Continue 首次启动时会自动创建该文件)。 - 添加 AnRouter 作为模型供应商:
// ~/.continue/config.json
{
"models": [
{
"title": "AnRouter - GLM 5.2",
"provider": "openai",
"model": "glm-5.2",
"apiBase": "https://api.anrouter.com/v1",
"apiKey": "your_anrouter_api_key"
},
{
"title": "AnRouter - Kimi K2.6",
"provider": "openai",
"model": "kimi-k2.6",
"apiBase": "https://api.anrouter.com/v1",
"apiKey": "your_anrouter_api_key"
}
],
"tabAutocompleteModel": {
"title": "AnRouter - DeepSeek Flash (autocomplete)",
"provider": "openai",
"model": "deepseek-v4-flash",
"apiBase": "https://api.anrouter.com/v1",
"apiKey": "your_anrouter_api_key"
}
}
方式二:Cline 扩展
如果需要多文件智能体编辑, 可安装 Cline。在 Cline 设置面板中, 将 API Provider 设置为 OpenAI 兼容, 将 https://api.anrouter.com/v1 作为 Base URL, 并粘贴您的 AnRouter 密钥。完整说明请查看 Cline 集成章节。
方式三:GitHub Copilot Chat 覆盖
如果您订阅了 GitHub Copilot, 可以通过 github.copilot.advanced 在 VS Code 设置中将 Copilot Chat 面板重定向到 AnRouter。请查看 GitHub Copilot 集成章节获取配置步骤。
LangChain 集成
LangChain 是构建 LLM 驱动应用最广泛使用的框架。AnRouter 可作为 LangChain 内部 OpenAI API 的即插即用替代品——在实例化 ChatOpenAI 时传入 AnRouter 的 base URL 和 API 密钥即可。所有 LangChain 功能——链, Agent, RAG 管道, 记忆, 结构化输出——均无需任何其他修改即可正常使用。
安装
pip install langchain langchain-openai
基础对话补全
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="deepseek-v4-flash",
openai_api_key="your_anrouter_api_key",
openai_api_base="https://api.anrouter.com/v1"
)
response = llm.invoke("Explain the difference between LangChain chains and agents.")
print(response.content)
在 Chain 中使用
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
llm = ChatOpenAI(
model="glm-5.2",
openai_api_key="your_anrouter_api_key",
openai_api_base="https://api.anrouter.com/v1"
)
prompt = ChatPromptTemplate.from_template("Summarize this in one sentence: {text}")
chain = prompt | llm | StrOutputParser()
result = chain.invoke({"text": "LangChain is a framework for building LLM applications."})
print(result)
在 Agent 中使用
from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate
from langchain_community.tools import DuckDuckGoSearchRun
llm = ChatOpenAI(
model="glm-5.2",
openai_api_key="your_anrouter_api_key",
openai_api_base="https://api.anrouter.com/v1"
)
tools = [DuckDuckGoSearchRun()]
prompt = ChatPromptTemplate.from_messages([
("system", "You are a helpful assistant."),
("human", "{input}"),
("placeholder", "{agent_scratchpad}"),
])
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
executor.invoke({"input": "What is the latest news about DeepSeek?"})
OPENAI_API_KEY和OPENAI_API_BASE设置为环境变量, 而不是直接传给ChatOpenAI。LangChain 会自动读取。LlamaIndex 集成
LlamaIndex 是构建 RAG(检索增强生成)和 Agentic AI 应用的领先数据框架。通过使用带有自定义 api_base 的 OpenAI 兼容 LLM 类, 您可以将所有 LlamaIndex 查询通过 AnRouter 路由。所有 LlamaIndex 功能——VectorStoreIndex, 查询引擎, Agent, 对话引擎——均无需修改即可正常工作。
安装
pip install llama-index llama-index-llms-openai
配置 LLM
from llama_index.llms.openai import OpenAI
from llama_index.core import Settings
llm = OpenAI(
model="kimi-k2.6",
api_key="your_anrouter_api_key",
api_base="https://api.anrouter.com/v1"
)
# Set as the global default so all LlamaIndex operations use it
Settings.llm = llm
RAG 示例 — 索引并查询文档
from llama_index.llms.openai import OpenAI
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings
Settings.llm = OpenAI(
model="glm-5.2",
api_key="your_anrouter_api_key",
api_base="https://api.anrouter.com/v1"
)
Settings.embed_model = OpenAIEmbedding(
api_key="your_anrouter_api_key",
api_base="https://api.anrouter.com/v1"
)
# Load documents and build index
documents = SimpleDirectoryReader("./docs").load_data()
index = VectorStoreIndex.from_documents(documents)
# Query
query_engine = index.as_query_engine()
response = query_engine.query("What is the main topic of these documents?")
print(response)
kimi-k2.6(256K 上下文)以避免上下文溢出。使用deepseek-v4-flash适合上下文压力较小且更重视速度的任务。CrewAI 多智能体集成
CrewAI 是一款流行的多 Agent 编排框架, 用于构建协作式 AI 系统。Agent 以具有独特角色, 目标和背景故事的"团队"形式组织。CrewAI 通过其 LLM 类支持任何 OpenAI 兼容的 LLM, 因此您可以将所有 Agent 推理通过 AnRouter 路由, 无需更改任何 Agent 逻辑。
安装
pip install crewai crewai-tools
将 AnRouter 配置为 LLM 后端
from crewai import LLM, Agent, Task, Crew
# Create an LLM instance pointing to AnRouter
llm = LLM(
model="openai/glm-5.2", # prefix with "openai/" for OpenAI-compatible providers
base_url="https://api.anrouter.com/v1",
api_key="your_anrouter_api_key"
)
# Define agents with the AnRouter LLM
researcher = Agent(
role="Senior Research Analyst",
goal="Uncover cutting-edge developments in AI",
backstory="You work at a leading tech think tank.",
llm=llm,
verbose=True
)
writer = Agent(
role="Tech Content Strategist",
goal="Craft compelling content on tech advancements",
backstory="You are a renowned content strategist known for insightful articles.",
llm=llm,
verbose=True
)
# Define tasks
research_task = Task(
description="Analyze the latest frontier AI model releases and identify key trends.",
expected_output="A bullet-point summary of 5 key AI trends.",
agent=researcher
)
write_task = Task(
description="Write a short blog post based on the research findings.",
expected_output="A 3-paragraph blog post about AI trends.",
agent=writer
)
# Assemble and run the crew
crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task], verbose=True)
result = crew.kickoff()
print(result)
openai/ (e.g. openai/glm-5.2类并配置自定义 Base URL 时, 请在模型名前加上LLM。这会提示 CrewAI 的 litellm 后端使用 OpenAI 兼容客户端。AutoGen / AG2 多智能体集成
AutoGen(现为 AG2)是微软用于构建具有对话模式的多 Agent AI 系统的框架。AutoGen Agent 相互通信以解决任务, 该框架通过配置列表支持自定义 OpenAI 兼容端点。所有 Agent 类型——AssistantAgent, UserProxyAgent, GroupChat——均无需任何代码更改即可工作。
安装
pip install pyautogen
双 Agent 对话示例
import autogen
# Configure AnRouter as the LLM backend
config_list = [{
"model": "glm-5.2",
"api_key": "your_anrouter_api_key",
"base_url": "https://api.anrouter.com/v1",
"api_type": "openai"
}]
llm_config = {
"config_list": config_list,
"temperature": 0.7,
"timeout": 120
}
# Create agents
assistant = autogen.AssistantAgent(
name="assistant",
llm_config=llm_config,
system_message="You are a helpful AI assistant."
)
user_proxy = autogen.UserProxyAgent(
name="user_proxy",
human_input_mode="NEVER", # fully automated
max_consecutive_auto_reply=3,
code_execution_config={"work_dir": "coding", "use_docker": False}
)
# Start conversation
user_proxy.initiate_chat(
assistant,
message="Write a Python function that calculates the nth Fibonacci number."
)
多 Agent GroupChat 示例
# Multiple specialized agents in a group chat
coder = autogen.AssistantAgent(name="Coder", llm_config=llm_config,
system_message="You write clean, well-documented Python code.")
reviewer = autogen.AssistantAgent(name="Reviewer", llm_config=llm_config,
system_message="You review code for bugs and suggest improvements.")
groupchat = autogen.GroupChat(agents=[user_proxy, coder, reviewer], messages=[], max_round=6)
manager = autogen.GroupChatManager(groupchat=groupchat, llm_config=llm_config)
user_proxy.initiate_chat(manager, message="Build and review a binary search function.")
human_input_mode="NEVER" on UserProxyAgent用于全自动流水线。使用human_input_mode="TERMINATE"可在每次自动回复前加入人工审核。OpenAI Agents SDK 集成
OpenAI Agents SDK(前身为 Swarm)是 OpenAI 官方用于构建 Agentic AI 应用的框架, 支持自定义 API 客户端, 意味着您可以通过单个客户端覆盖将其指向 AnRouter, 并在所有 Agent, Runner 和切换流程中使用 AnRouter 的任何模型。
安装
pip install openai-agents
基础 Agent 示例
from agents import Agent, Runner, set_default_client
from openai import AsyncOpenAI
# Point the SDK at AnRouter
client = AsyncOpenAI(
base_url="https://api.anrouter.com/v1",
api_key="your_anrouter_api_key"
)
set_default_client(client)
# Define an agent
agent = Agent(
name="Assistant",
model="glm-5.2",
instructions="You are a helpful assistant. Be concise and accurate."
)
# Run synchronously
result = Runner.run_sync(agent, "Summarize the key advantages of transformer architectures.")
print(result.final_output)
多 Agent 切换示例
from agents import Agent, Runner, handoff, set_default_client
from openai import AsyncOpenAI
import asyncio
set_default_client(AsyncOpenAI(
base_url="https://api.anrouter.com/v1",
api_key="your_anrouter_api_key"
))
code_agent = Agent(
name="CodeAgent",
model="glm-5.2",
instructions="You write production-quality Python code."
)
triage_agent = Agent(
name="TriageAgent",
model="deepseek-v4-flash",
instructions="Route coding questions to CodeAgent, answer general questions yourself.",
handoffs=[handoff(code_agent)]
)
async def main():
result = await Runner.run(triage_agent, "Write a function to reverse a linked list.")
print(result.final_output)
asyncio.run(main())
deepseek-v4-flash 适合分流 Agent(低成本, 高吞吐),glm-5.2 适合需要强代码推理的专业 Agent,qwen-3.6-27b 适合需要多模态输入的 Agent。n8n 工作流自动化集成
n8n 是一款功能强大的开源工作流自动化平台, 拥有 500+ 集成。其内置 AI 节点支持 OpenAI 兼容 API, 因此您可以在任何 n8n AI 工作流中使用 AnRouter 的前沿模型——聊天机器人, 文档提取, 摘要管道等——无需编写任何代码。
方式一:OpenAI 节点 + 自定义 Base URL
- 在 n8n 工作流画布中点击 + Add Node, 并搜索 OpenAI。
- 在节点的 凭据 区域点击 新建凭据。
- 将API Key设置为您的 AnRouter API 密钥。
- 将 Base URL 设置为
https://api.anrouter.com/v1。 - 在节点设置中, 将 资源 设置为 聊天, 并将 模型 设置为您偏好的模型 ID(例如
deepseek-v4-flash)。 - 按需连接输入和输出节点。点击执行节点进行测试。
方式二:HTTP Request 节点(直接调用 API)
如需最大灵活性, 可使用HTTP Request节点直接调用 AnRouter:
Method: POST
URL: https://api.anrouter.com/v1/chat/completions
Headers:
Authorization: Bearer your_anrouter_api_key
Content-Type: application/json
Body (JSON):
{
"model": "deepseek-v4-flash",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "{{ $json.userMessage }}"}
]
}
使用 n8n AI Agent 节点
AI Agent 节点支持自定义 OpenAI 兼容聊天模型。添加 OpenAI Chat Model 子节点, 使用上面的 AnRouter 凭据完成配置, 并连接到 AI Agent。这样 Agent 就可以使用 n8n 的完整工具生态, 包括网页搜索, 表格, 数据库等。
Dify 平台集成
Dify 是一款流行的开源 LLM 应用开发平台, 支持聊天机器人, Agent, RAG 管道和工作流自动化。Dify 对 OpenAI 兼容模型供应商有一流支持。在 Dify 设置中将 AnRouter 添加为模型供应商后, 所有 Dify 应用, 聊天流程和 Agent 均可从模型选择器中选择 AnRouter 模型。
添加 AnRouter 作为模型供应商
- 登录您的 Dify 实例, 点击头像 → 设置。
- 进入 模型供应商, 滚动到 OpenAI-Compatible, 然后点击 添加模型。
- 填写表单:
Model Name: deepseek-v4-flash (or any model ID you want to add)
Model Type: LLM
API Key: your_anrouter_api_key
API Base URL: https://api.anrouter.com/v1
Model Context: 128000 (tokens)
Vision: Off (unless using a vision model)
- 点击 保存。对每个要添加的模型重复步骤 2–4(例如
glm-5.2,qwen-3.6-27b,kimi-k2.6)。 - 创建或编辑 Dify 应用时, 在模型下拉菜单中选择您的 AnRouter 模型。
自托管 Dify(Docker)
如果您运行自托管 Dify, 也可以在 docker-compose.yaml 中通过环境变量设置默认模型供应商:
# In your Dify docker-compose.yaml, under the api service environment:
OPENAI_API_BASE: https://api.anrouter.com/v1
OPENAI_API_KEY: your_anrouter_api_key
deepseek-v4-flash作为快速聊天流程默认模型, 使用kimi-k2.6用于需要大文档上下文的知识库 RAG 应用。Flowise 低代码 AI 集成
Flowise 是一款使用 LangChain 构建 LLM 流程和聊天机器人的开源拖放 UI。它让您无需编写代码即可可视化组装 RAG 管道, Agent 和对话 UI。Flowise 包含一个接受自定义 base URL 的 ChatOpenAI 节点, 连接 AnRouter 非常简单。
安装(自托管)
npm install -g flowise
npx flowise start # opens UI at http://localhost:3000
通过 ChatOpenAI 节点连接 AnRouter
- 打开 Flowise:
http://localhost:3000, 并新建一个 Chatflow。 - 从左侧节点面板搜索ChatOpenAI并拖到画布中。
- 点击 ChatOpenAI 节点打开设置。
- 点击 凭据 区域中的 新建, 并输入您的 AnRouter API 密钥。
- 将 模型名称 设置为您偏好的模型(例如
deepseek-v4-flash)。 - 在 附加参数 中, 将 BasePath 设置为
https://api.anrouter.com/v1。 - 将 ChatOpenAI 节点连接到其他节点(例如Conversational Retrieval QA Chain用于 RAG), 然后保存流程。
ChatOpenAI Node Configuration:
Model Name: glm-5.2
OpenAI Api Key: your_anrouter_api_key
BasePath: https://api.anrouter.com/v1
Temperature: 0.7
Max Tokens: 4096
在 RAG 管道中使用
对于文档问答, 将 ChatOpenAI 节点连接到Conversational Retrieval QA Chain节点, 然后添加Vector Store节点(如 Chroma 或 Pinecone)作为检索器。Flowise 会处理完整的 RAG 编排, 您只需将 LLM 节点指向 AnRouter。
/v1后缀:https://api.anrouter.com/v1。与 Anthropic SDK 不同, Flowise 不会自动追加路径后缀。从 OpenRouter 迁移
AnRouter 提供与 OpenRouter 在功能上等价的 OpenAI 兼容 API 接口, 但专注于中国前沿模型——DeepSeek, Kimi, GLM, MiMo 和 MiniMax。如果您已有面向 OpenRouter 配置的代码或工具, 只需替换 base URL 即可迁移到 AnRouter, 无需任何其他代码更改。
从 OpenRouter 迁移
# Before (OpenRouter)
client = openai.OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="your_openrouter_key"
)
# After (AnRouter) — only the base_url and api_key change
client = openai.OpenAI(
base_url="https://api.anrouter.com/v1",
api_key="your_anrouter_api_key"
)
直接 REST API 调用
AnRouter API 可以作为任何 OpenRouter REST 调用的直接替代:
Linux / macOS
curl https://api.anrouter.com/v1/chat/completions -H "Authorization: Bearer $ANROUTER_API_KEY" -H "Content-Type: application/json" -d '{
"model": "deepseek-v4-flash",
"messages": [{"role": "user", "content": "Hello, who are you?"}]
}'
Windows PowerShell
$headers = @{"Authorization" = "Bearer $env:ANROUTER_API_KEY"; "Content-Type" = "application/json"}
$body = '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"Hello!"}]}'
Invoke-RestMethod -Uri "https://api.anrouter.com/v1/chat/completions" -Method Post -Headers $headers -Body $body
为什么选择 AnRouter 而非 OpenRouter?
| 功能 | AnRouter | OpenRouter |
|---|---|---|
| 中国 AI 模型 | 完整覆盖 | 部分覆盖 |
| API 兼容性 | OpenAI + Anthropic | 仅 OpenAI |
| 价格 | 最高降低 60% | 标准价格 |
| 区域重点 | 中国 AI 生态 | 全球 |
Ollama 与 AnRouter 结合使用
Ollama 设计用于在本地机器上运行开源 LLM。然而, 许多为使用 Ollama(通过其 OpenAI 兼容 API)编写的工具和脚本可以轻松重定向到 AnRouter, 实现云端前沿模型推理——无需本地 GPU。当您希望在不更改应用代码的情况下在本地和云端推理之间切换时, 这非常有用。
将 Ollama 兼容代码重定向到 AnRouter
如果您的脚本使用 Ollama 的 OpenAI 兼容端点(http://localhost:11434/v1), 只需修改 Base URL 即可切换到 AnRouter:
from openai import OpenAI
# Before (Ollama local)
# client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
# After (AnRouter cloud — same code structure)
client = OpenAI(
base_url="https://api.anrouter.com/v1",
api_key="your_anrouter_api_key"
)
response = client.chat.completions.create(
model="deepseek-v4-flash", # use AnRouter model IDs
messages=[{"role": "user", "content": "What is the capital of France?"}]
)
print(response.choices[0].message.content)
Ollama + AnRouter 混合使用
您可以将 LiteLLM 作为网关, 根据模型名称将部分请求路由到本地 Ollama, 其余请求路由到 AnRouter:
import litellm
# Route to local Ollama (small model, offline tasks)
response_local = litellm.completion(
model="ollama/llama3",
messages=[{"role": "user", "content": "Quick local task."}]
)
# Route to AnRouter (frontier model, complex reasoning)
response_cloud = litellm.completion(
model="openai/glm-5.2",
api_base="https://api.anrouter.com/v1",
api_key="your_anrouter_api_key",
messages=[{"role": "user", "content": "Complex analysis task."}]
)
LiteLLM 统一网关集成
LiteLLM 是一个统一 Python SDK 和代理, 将 100+ LLM 供应商的 API 接口标准化。AnRouter 通过带有自定义 api_base 的 openai/ 供应商前缀集成。配置后, 所有 LiteLLM 功能——自动重试, 故障转移, 负载均衡, 成本追踪和日志记录——均可与 AnRouter 无缝协作。
安装
pip install litellm
基础调用
import litellm
response = litellm.completion(
model="openai/deepseek-v4-flash", # prefix with "openai/" for custom endpoints
api_base="https://api.anrouter.com/v1",
api_key="your_anrouter_api_key",
messages=[{"role": "user", "content": "Explain gradient descent in simple terms."}]
)
print(response.choices[0].message.content)
故障转移路由
如果主模型不可用, LiteLLM 的故障转移功能可以自动切换到另一个 AnRouter 模型:
import litellm
# Define fallback order
response = litellm.completion(
model="openai/glm-5.2",
api_base="https://api.anrouter.com/v1",
api_key="your_anrouter_api_key",
messages=[{"role": "user", "content": "Your prompt here."}],
fallbacks=[
{"model": "openai/deepseek-v4-flash", "api_base": "https://api.anrouter.com/v1", "api_key": "your_anrouter_api_key"},
{"model": "openai/kimi-k2.6", "api_base": "https://api.anrouter.com/v1", "api_key": "your_anrouter_api_key"}
]
)
LiteLLM 代理服务器
将 LiteLLM 作为本地代理运行, 并以 AnRouter 作为后端。这样所有应用都可以指向http://localhost:8000而无需逐个应用配置:
# config.yaml
model_list:
- model_name: deepseek-v4-flash
litellm_params:
model: openai/deepseek-v4-flash
api_base: https://api.anrouter.com/v1
api_key: your_anrouter_api_key
- model_name: glm-5.2
litellm_params:
model: openai/glm-5.2
api_base: https://api.anrouter.com/v1
api_key: your_anrouter_api_key
# Start the proxy
litellm --config config.yaml --port 8000
代理运行后, 任何 OpenAI 兼容客户端都可以指向http://localhost:8000并使用任意 API Key(代理会负责与 AnRouter 的认证)。
http://your-litellm-server:8000而无需每个人单独配置 AnRouter Key。