1Quickstart · 三步接入
第一步:注册账号
访问 https://koozhan.com/register 用邮箱注册账号。注册成功立即可用,新账号免费赠送体验额度。
第二步:创建 API Key
登录后在控制台 → 令牌页 → 点 添加新令牌,给令牌起个名字(用于识别用途,比如 my-app-prod),保存后会得到一串以 sk-dz- 开头的 API Key。
第三步:替换 base_url
把官方 SDK 的 base_url 改成我们的:
from openai import OpenAI client = OpenAI( api_key="sk-dz-xxxxxxx", # 你的 API Key base_url="https://api.koozhan.com/v1", # 替换这里 ) resp = client.chat.completions.create( model="claude-sonnet-4-6", # 模型名照原样填 messages=[{"role": "user", "content": "你好"}], ) print(resp.choices[0].message.content)
import anthropic client = anthropic.Anthropic( api_key="sk-dz-xxxxxxx", base_url="https://api.koozhan.com", # 注意:Anthropic 协议不带 /v1 ) msg = client.messages.create( model="claude-sonnet-4-6", max_tokens=1024, messages=[{"role": "user", "content": "你好"}], ) print(msg.content[0].text)
两套兼容协议
| 协议 | base_url | 路径 | 用途 |
|---|---|---|---|
| OpenAI 兼容 | https://api.koozhan.com/v1 | /v1/chat/completions | 所有模型(推荐) |
| Anthropic 原生 | https://api.koozhan.com | /v1/messages | Claude 模型 / Claude Code CLI |
两个协议指向同一个网关,用哪个看你的 SDK 习惯——OpenAI SDK 走 OpenAI 兼容,Anthropic SDK 走原生协议。模型名以 模型页 和控制台返回为准(例如 claude-sonnet-4-6、gpt-5.5、gpt-5.4)。
User-Agent 和标准请求头;极少数默认脚本 UA 可能被边缘安全规则拦截。2OpenAI 兼容协议
OpenAI 兼容协议适合 GPT、DeepSeek、Claude 等常用聊天场景。多数客户端只需替换 base_url;Claude 模型会在网关内转换为 Anthropic Messages 协议,因此少数厂商专属字段可能不适用。
Endpoint
POST https://api.koozhan.com/v1/chat/completions
请求示例
curl https://api.koozhan.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-dz-xxxxxxx" \ -d '{ "model": "claude-sonnet-4-6", "messages": [ {"role": "system", "content": "你是一位专业的助手"}, {"role": "user", "content": "用一句话介绍黑洞"} ], "max_tokens": 200, "temperature": 0.7 }'
from openai import OpenAI client = OpenAI( api_key="sk-dz-xxxxxxx", base_url="https://api.koozhan.com/v1", ) resp = client.chat.completions.create( model="claude-sonnet-4-6", messages=[ {"role": "system", "content": "你是一位专业的助手"}, {"role": "user", "content": "用一句话介绍黑洞"}, ], max_tokens=200, temperature=0.7, ) print(resp.choices[0].message.content) print(f"用量: input={resp.usage.prompt_tokens}, output={resp.usage.completion_tokens}")
import OpenAI from "openai"; const client = new OpenAI({ apiKey: "sk-dz-xxxxxxx", baseURL: "https://api.koozhan.com/v1", }); const resp = await client.chat.completions.create({ model: "gpt-5.5", messages: [ { role: "system", content: "你是一位专业的助手" }, { role: "user", content: "用一句话介绍黑洞" }, ], max_tokens: 200, }); console.log(resp.choices[0].message.content);
# 流式输出(一边生成一边返回,体验更好) from openai import OpenAI client = OpenAI( api_key="sk-dz-xxxxxxx", base_url="https://api.koozhan.com/v1", ) stream = client.chat.completions.create( model="claude-sonnet-4-6", messages=[{"role": "user", "content": "写一首关于光年的诗"}], stream=True, stream_options={"include_usage": True}, # 部分模型/通道会返回 usage,最终扣费以控制台日志为准 ) for chunk in stream: if chunk.choices and chunk.choices[0].delta.content: print(chunk.choices[0].delta.content, end="", flush=True)
支持参数
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 模型名(必填) |
messages | array | 对话历史(必填,含 system/user/assistant role) |
max_tokens | int | 最大输出长度 |
temperature | float | 0-2,越大越发散 |
top_p | float | 0-1,nucleus 采样 |
stream | bool | 启用 SSE 流式 |
tools | array | function calling 工具定义 |
response_format | object | JSON mode:{"type":"json_object"} |
3Anthropic 原生协议
如果你的代码已经在用官方 anthropic SDK,只需改一行 base_url 就能切到酷站AI。原生 /v1/messages 会尽量透传请求和响应;具体能力以所选模型和当前上游通道实际支持为准。
Endpoint
POST https://api.koozhan.com/v1/messages
base_url 填 https://api.koozhan.com,不要带 /v1,SDK 会自动拼接 /v1/messages。请求示例
curl https://api.koozhan.com/v1/messages \ -H "x-api-key: sk-dz-xxxxxxx" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-sonnet-4-6", "max_tokens": 200, "system": "你是一位专业的助手", "messages": [ {"role": "user", "content": "用一句话介绍黑洞"} ] }'
import anthropic client = anthropic.Anthropic( api_key="sk-dz-xxxxxxx", base_url="https://api.koozhan.com", ) msg = client.messages.create( model="claude-sonnet-4-6", max_tokens=200, system="你是一位专业的助手", messages=[ {"role": "user", "content": "用一句话介绍黑洞"}, ], ) print(msg.content[0].text) print(f"用量: input={msg.usage.input_tokens}, output={msg.usage.output_tokens}")
# 流式输出 import anthropic client = anthropic.Anthropic( api_key="sk-dz-xxxxxxx", base_url="https://api.koozhan.com", ) with client.messages.stream( model="claude-sonnet-4-6", max_tokens=512, messages=[{"role": "user", "content": "写一首关于光年的诗"}], ) as stream: for text in stream.text_stream: print(text, end="", flush=True)
支持的字段
常用 Anthropic Messages API 字段会透传:model、messages、system、max_tokens、temperature、top_p、top_k、stop_sequences、stream、tools、tool_choice 等。不同上游供应商对 prompt caching、extended thinking、thinking signature 等高级能力支持不完全一致,生产使用前建议先用目标模型做一次测试。完整字段参考 Anthropic 官方文档。
4Codex CLI 配置
OpenAI 官方的 Codex CLI(codex 命令)需要用自定义 provider 接入酷站AI。不要直接覆盖内置 openai provider;按下面配置一个新的 koozhan provider,方便客户端把请求稳定发到酷站AI API Key relay。
第一步:安装 Codex CLI
npm install -g @openai/codex codex --version
npm install -g @openai/codex codex --version
第二步:创建配置文件
把下面内容保存到 Codex CLI 配置文件:
- Windows:
%USERPROFILE%\.codex\config.toml - Mac / Linux:
~/.codex/config.toml
model_provider = "OpenAI" model = "gpt-5.5" review_model = "gpt-5.5" model_reasoning_effort = "xhigh" disable_response_storage = true network_access = "enabled" windows_wsl_setup_acknowledged = true preferred_auth_method = "apikey" [model_providers.OpenAI] name = "OpenAI" base_url = "https://api.koozhan.com" env_key = "OPENAI_API_KEY" wire_api = "responses" supports_websockets = true requires_openai_auth = true [features] responses_websockets_v2 = true goals = true
wire_api = "responses"、supports_websockets = true 和 responses_websockets_v2 = true 会让 Codex CLI 走 Responses API,并优先使用 WebSocket。若你的网络或客户端版本不支持 WebSocket,可临时改为 supports_websockets = false 走 HTTPS POST /responses。第三步:设置 API Key
把后台复制到的 sk-dz-... 填到环境变量。设置后请重新打开终端,让环境变量生效。
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "sk-dz-xxxxxxx", "User")
# 重新打开 PowerShell 后验证
echo $env:OPENAI_API_KEY
codex
export OPENAI_API_KEY="sk-dz-xxxxxxx" # 永久生效可追加到 ~/.zshrc 或 ~/.bashrc echo 'export OPENAI_API_KEY="sk-dz-xxxxxxx"' >> ~/.zshrc source ~/.zshrc codex
快速测试
想先验证配置是否正确,可以在终端运行:
codex exec --skip-git-repo-check -m gpt-5.5 "只回复 OK"
codex exec --skip-git-repo-check -m gpt-5.5 "只回复 OK"
- 提示
OPENAI_API_KEY不存在:环境变量没有生效,重新打开终端再试。 - 提示 provider 配置错误:确认文件名是
config.toml,不是config.toml.txt。 - 提示 provider 配置错误:确认 provider 名大小写与上面一致,使用
[model_providers.OpenAI]。 - 看到 WebSocket /
no_account警告:请确认 API Key 对应的模型渠道支持 Codex Responses WebSocket;临时绕过可把supports_websockets改为false。
5Claude Code CLI 配置
Anthropic 官方的 Claude Code 命令行工具(claude 命令)可以直接使用酷站AI 的 Claude API Key。实测通过的配置是 ANTHROPIC_BASE_URL=https://koozhan.com 加 ANTHROPIC_API_KEY=sk-dz-...。
安装 Claude Code(如果还没装)
npm install -g @anthropic-ai/claude-code
配置环境变量
设两个环境变量即可。推荐先在当前终端临时设置,确认能用后再写成永久环境变量。
# 当前 PowerShell 临时生效 $env:ANTHROPIC_BASE_URL = "https://koozhan.com" $env:ANTHROPIC_API_KEY = "sk-dz-xxxxxxx" claude # 永久生效:设置后重新打开 PowerShell [Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "https://koozhan.com", "User") [Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "sk-dz-xxxxxxx", "User")
# 一次性临时启用(当前 shell 有效) export ANTHROPIC_BASE_URL="https://koozhan.com" export ANTHROPIC_API_KEY="sk-dz-xxxxxxx" # 永久生效:追加到 ~/.zshrc 或 ~/.bashrc echo 'export ANTHROPIC_BASE_URL="https://koozhan.com"' >> ~/.zshrc echo 'export ANTHROPIC_API_KEY="sk-dz-xxxxxxx"' >> ~/.zshrc source ~/.zshrc # 启动 claude
set -Ux ANTHROPIC_BASE_URL "https://koozhan.com" set -Ux ANTHROPIC_API_KEY "sk-dz-xxxxxxx" claude
验证
启动 claude 后,命令行会进入交互模式。问一句话比如 hi,能正常返回就是配置成功。也可以用非交互方式快速测试:
claude --bare -p --model claude-sonnet-4-6 "只回复 OK"
- 提示
API key not found:检查环境变量名是否准确(推荐使用ANTHROPIC_API_KEY) - 提示仍在连接 Anthropic 官方:检查
ANTHROPIC_BASE_URL是否是https://koozhan.com,不要带/v1 - 提示
Invalid token:在 koozhan 后台确认 Token 还在生效,余额充足 - 提示
无可用渠道:你的 Token 所在分组没有 Claude 渠道,联系管理员 - 日志里出现
{"title": ...}:这是 Claude Code 自动生成会话标题的请求,不是用户最终答案
查看用量
在 koozhan 控制台 → 日志页可以看到每次 claude 调用的具体 token 用量与费用明细。Claude Code 一次运行可能产生多条 /v1/messages 日志,例如标题生成、上下文管理和最终回答,这是正常现象。