指南

AI 网关

用 Pikeway key 调用各大厂商的模型,支持 OpenAI Chat Completions、Anthropic Messages 和 OpenAI Responses 三种格式。按 token 计费,和其他 API 共用一份余额。

任何 OpenAI 或 Anthropic 客户端只需改两处就能接入 Pikeway:base URL 和 key。模型目录 里的每个模型都支持这三种格式。

接口
POST /ai/v1/chat/completions
OpenAI Chat Completions,支持流式。
POST /ai/v1/messages
Anthropic Messages,支持流式。anthropic-version 和 anthropic-beta 头会原样转发。
POST /ai/v1/messages/count_tokens
Anthropic token 计数。需要 key,不计费。
POST /ai/v1/responses
OpenAI Responses。
GET /ai/v1/models
模型列表,含价格和能力。不需要 key。

OpenAI Chat Completions

POSThttps://gw.pikeway.ai/ai/v1/chat/completions
bash
curl https://gw.pikeway.ai/ai/v1/chat/completions \
  -H "Authorization: Bearer $PIKEWAY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5",
    "messages": [{ "role": "user", "content": "Summarize the WBTC market in one line." }]
  }'

# X-Pikeway-Cost: 0.000412
# X-Pikeway-Tokens: 18+52

设置 "stream": true 时,响应以 SSE 原样透传。网关会要求上游在流末尾附带用量,以便按 token 计费。

Anthropic Messages

POSThttps://gw.pikeway.ai/ai/v1/messages
bash
curl https://gw.pikeway.ai/ai/v1/messages \
  -H "Authorization: Bearer $PIKEWAY_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 512,
    "messages": [{ "role": "user", "content": "Hello" }]
  }'

在 Claude Code 中使用

Claude Code 使用 Messages 格式,设置两个环境变量就能让它走 Pikeway:

bash
export ANTHROPIC_BASE_URL=https://gw.pikeway.ai/ai
export ANTHROPIC_AUTH_TOKEN=pk-…          # your Pikeway key
claude

Claude Code 用带日期的 Anthropic 官方名称请求模型(如 claude-sonnet-4-5-20250929)。网关会把它解析成目录里的规范名称(claude-sonnet-4.5),无需修改任何模型设置。

OpenAI Responses

POSThttps://gw.pikeway.ai/ai/v1/responses
bash
curl https://gw.pikeway.ai/ai/v1/responses \
  -H "Authorization: Bearer $PIKEWAY_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "model": "gpt-5", "input": "Write a haiku about toll roads." }'

模型名称

把目录或 GET /ai/v1/models 返回的 id 填到 model。模型也接受别名(如 OpenRouter 风格的完整 id 或简称);Anthropic 风格的名称会被规范化:去掉日期或 -latest 后缀,数字之间的短横线换成点。用量总是记在规范名称下。未知模型返回 404 unknown model。

bash
curl https://gw.pikeway.ai/ai/v1/models

{
  "object": "list",
  "data": [{
    "id": "claude-sonnet-5",
    "object": "model",
    "owned_by": "anthropic",
    "display_name": "…",
    "context_length": 200000,
    "pricing": { "input_per_mtok": 3, "output_per_mtok": 15 },
    "capabilities": { "tools": true, "streaming": true, "thinking": true }
  }, …]
}

按 token 计费

  • 每个模型都有每百万 token 的输入价和输出价(input_per_mtok、output_per_mtok)。费用 = 输入 token × 输入价 + 输出 token × 输出价。
  • 命中厂商提示词缓存的输入 token,如果模型有缓存读取价,就按缓存价计费。
  • token 数来自上游返回的 usage。非流式响应会在 X-Pikeway-Tokens(输入+输出)里给出 token 数,在 X-Pikeway-Cost 里给出费用。流式请求在流结束时结算,费用可在调用日志里查看。
  • 被上游拒绝的请求(4xx/5xx)不计费。
  • 余额必须大于 0 才能发起请求,否则返回 402 insufficient balance。
反复发送相同的提示词?给非流式 chat completion 加上 X-Pikeway-Cache: 300,5 分钟内的相同请求会从缓存返回,只收 10% 的 token 费用。见 缓存。