ARouter 為主流 LLM 提供商提供統一的 API key 和單一端點。如果你已經在使用 OpenAI 相容的客戶端,遷移通常只需更改 base_url、api_key,以及可選的應用歸因請求標頭。
1. 取得 API Key
在 ARouter 控制台 註冊並建立 API key。
你的 key 格式類似 lr_live_xxxxxxxxxxxx。
2. 安裝 ARouter SDK
官方 @arouter/sdk 適用於任何 Node.js 或 TypeScript 專案,支援 npm、yarn 和 pnpm。
import { ARouter } from "@arouter/sdk";
const client = new ARouter({
apiKey: "lr_live_xxxx",
baseURL: "https://api.arouter.ai",
});
const response = await client.chatCompletion({
model: "openai/gpt-5.4",
messages: [{ role: "user", content: "你好!" }],
});
console.log(response.choices[0].message.content);
查看 Node.js / TypeScript SDK 指南,了解串流輸出、key 管理和 x402 付款範例。
3. 使用現有 SDK
已在使用 OpenAI、Anthropic 或 Go?只需更改 base_url 和 api_key 即可。
Python (OpenAI)
Node.js (OpenAI)
Python (Anthropic)
Go
cURL
fetch
from openai import OpenAI
client = OpenAI(
base_url="https://api.arouter.ai/v1",
api_key="lr_live_xxxx",
default_headers={
"HTTP-Referer": "https://myapp.com", # 可選
"X-Title": "My AI App", # 可選
},
)
response = client.chat.completions.create(
model="openai/gpt-5.4",
messages=[{"role": "user", "content": "你好!"}],
)
print(response.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.arouter.ai/v1",
apiKey: "lr_live_xxxx",
defaultHeaders: {
"HTTP-Referer": "https://myapp.com", // 可選
"X-Title": "My AI App", // 可選
},
});
const response = await client.chat.completions.create({
model: "openai/gpt-5.4",
messages: [{ role: "user", content: "你好!" }],
});
console.log(response.choices[0].message.content);
import anthropic
client = anthropic.Anthropic(
base_url="https://api.arouter.ai",
api_key="lr_live_xxxx",
)
message = client.messages.create(
model="claude-sonnet-4.6",
max_tokens=1024,
messages=[{"role": "user", "content": "你好!"}],
)
print(message.content[0].text)
package main
import (
"context"
"fmt"
"log"
"github.com/arouter-ai/arouter-go"
)
func main() {
client := arouter.NewClient("lr_live_xxxx",
arouter.WithBaseURL("https://api.arouter.ai/v1"),
arouter.WithHeader("HTTP-Referer", "https://myapp.com"),
arouter.WithHeader("X-Title", "My AI App"),
)
resp, err := client.CreateChatCompletion(context.Background(), arouter.ChatCompletionRequest{
Model: "openai/gpt-5.4",
Messages: []arouter.Message{
{Role: "user", Content: "你好!"},
},
})
if err != nil {
log.Fatal(err)
}
fmt.Println(resp.Choices[0].Message.Content)
}
curl https://api.arouter.ai/v1/chat/completions \
-H "Authorization: Bearer lr_live_xxxx" \
-H "HTTP-Referer: https://myapp.com" \
-H "X-Title: My AI App" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-5.4",
"messages": [{"role": "user", "content": "你好!"}]
}'
const response = await fetch('https://api.arouter.ai/v1/chat/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer lr_live_xxxx',
'Content-Type': 'application/json',
'HTTP-Referer': 'https://myapp.com', // 可選:來源追蹤
'X-Title': 'My AI App', // 可選:顯示名稱
},
body: JSON.stringify({
model: 'openai/gpt-5.4',
messages: [{ role: 'user', content: '你好!' }],
}),
});
const data = await response.json();
console.log(data.choices[0].message.content);
HTTP-Referer 和 X-Title 為可選項。如果你希望 ARouter 控制台分析將請求歸因到特定應用或工作流程,請包含這兩個請求標頭。
4. 直接呼叫 API
如果不想安裝 SDK,可以使用任意 HTTP 客戶端呼叫 ARouter:
import json
import requests
response = requests.post(
"https://api.arouter.ai/v1/chat/completions",
headers={
"Authorization": "Bearer lr_live_xxxx",
"HTTP-Referer": "https://myapp.com", # 可選
"X-Title": "My AI App", # 可選
"Content-Type": "application/json",
},
data=json.dumps({
"model": "openai/gpt-5.4",
"messages": [{"role": "user", "content": "你好!"}],
}),
)
print(response.json()["choices"][0]["message"]["content"])
5. 切換不同提供商
使用 ARouter,切換提供商只需更改 model 字串:
# OpenAI
response = client.chat.completions.create(model="openai/gpt-5.4", ...)
# Anthropic(透過 OpenAI SDK!)
response = client.chat.completions.create(model="anthropic/claude-sonnet-4.6", ...)
# Google Gemini
response = client.chat.completions.create(model="google/gemini-2.5-flash", ...)
# DeepSeek
response = client.chat.completions.create(model="deepseek/deepseek-v3.2", ...)
如果省略提供商前綴(例如只寫 "gpt-5.4"),ARouter 預設使用 OpenAI。
下一步
模型路由
理解 provider/model 格式與多模型路由
結構化輸出
強制模型回傳有效的 JSON schema