API 文档

统一接入酷站AI API:OpenAI SDK 使用 https://api.koozhan.com/v1,Anthropic SDK / Claude Code 使用 https://api.koozhan.com。

1Quickstart · 三步接入

第一步:注册账号

访问 https://koozhan.com/register 用邮箱注册账号。注册成功立即可用。

第二步:创建 API Key

登录后在控制台 → API Keys → 点 创建新 Key,选择渠道并起个名字(用于识别用途,比如 my-app-prod),保存后会得到一串以 sk-dz- 开头的 API Key。统一文本模型渠道的 Key 可调用全部文本模型;DeepSeek、OpenAI、Claude 渠道的 Key 只能调用对应厂商的模型。

提示:API Key 只显示一次,记得立即复制保存。如丢失只能删掉重建。每个账号可建多个 Token,按项目隔离方便对账。

第三步:替换 base_url

把官方 SDK 的 base_url 改成我们的:

Python (OpenAI)
Python (Anthropic)
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="gpt-5.6-sol",                        # 模型名照原样填
    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-opus-5-5",
    max_tokens=2048,
    messages=[{"role": "user", "content": "你好"}],
)
# 按类型取正文块(响应里若带思考块也不受影响)
print(next(b.text for b in msg.content if b.type == "text"))

两套兼容协议

协议base_url路径用途
OpenAI 兼容https://api.koozhan.com/v1/v1/chat/completions所有模型(推荐)
Anthropic 原生https://api.koozhan.com/v1/messagesClaude 模型 / Claude Code CLI

两个协议指向同一个网关,用哪个看你的 SDK 习惯——OpenAI SDK 走 OpenAI 兼容,Anthropic SDK 走原生协议。模型名以 模型页 和控制台返回为准(例如 gpt-5.6-sol、claude-opus-5-5)。

客户端提示:推荐使用官方 OpenAI / Anthropic SDK 或 curl。自写 HTTP 客户端请设置正常的 User-Agent 和标准请求头;极少数默认脚本 UA 可能被边缘安全规则拦截。

2OpenAI 兼容协议

OpenAI 兼容协议适合 GPT、DeepSeek、Claude 等常用聊天场景。多数客户端只需替换 base_url;Claude 模型会在网关内转换为 Anthropic Messages 协议,因此少数厂商专属字段可能不适用。

Endpoint

POST https://api.koozhan.com/v1/chat/completions

请求示例

cURL
Windows PowerShell
Python
Node.js
流式 (Stream)
curl https://api.koozhan.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-dz-xxxxxxx" \
  -d '{
    "model": "claude-opus-5-5",
    "messages": [
      {"role": "system", "content": "你是一位专业的助手"},
      {"role": "user", "content": "用一句话介绍黑洞"}
    ],
    "max_tokens": 2048
  }'
# Windows 请用这一段:上面的 curl 写法(单引号、反斜杠换行)在 PowerShell / cmd 里会被改坏,返回 400
$body = @'
{
  "model": "claude-opus-5-5",
  "messages": [{"role": "user", "content": "只回复 OK"}],
  "max_tokens": 2048
}
'@
$resp = Invoke-RestMethod -Method Post -Uri "https://api.koozhan.com/v1/chat/completions" `
  -Headers @{ Authorization = "Bearer sk-dz-xxxxxxx" } `
  -ContentType "application/json; charset=utf-8" `
  -Body ([Text.Encoding]::UTF8.GetBytes($body))
$resp.choices[0].message.content
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-opus-5-5",
    messages=[
        {"role": "system", "content": "你是一位专业的助手"},
        {"role": "user", "content": "用一句话介绍黑洞"},
    ],
    max_tokens=2048,
)
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.6-sol",
  messages: [
    { role: "system", content: "你是一位专业的助手" },
    { role: "user", content: "用一句话介绍黑洞" },
  ],
  max_tokens: 2048,
});

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-opus-5-5",
    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)

支持参数

参数类型说明
modelstring模型名(必填)
messagesarray对话历史(必填,含 system/user/assistant role)
max_tokensint最大输出长度;推理模型(如 gpt-5.6-sol、claude-opus-5-5)的思考也计入,建议不低于 1024
temperaturefloat0-2,越大越发散;部分模型(如 claude-opus-5-5)不支持,会被忽略
top_pfloat0-1,nucleus 采样;部分模型(如 claude-opus-5-5)不支持,会被忽略
streambool启用 SSE 流式
toolsarrayfunction calling 工具定义
response_formatobjectJSON mode:{"type":"json_object"}

3Anthropic 原生协议

如果你的代码已经在用官方 anthropic SDK,只需改一行 base_url 就能切到酷站AI。原生 /v1/messages 会尽量透传请求和响应;具体能力以所选模型和当前上游通道实际支持为准。

Endpoint

POST https://api.koozhan.com/v1/messages

注意:上面是完整 HTTP endpoint。Anthropic SDK / Claude Code 的 base_url 填 https://api.koozhan.com,不要带 /v1,SDK 会自动拼接 /v1/messages。

请求示例

cURL
Windows PowerShell
Python
流式 (Stream)
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-opus-5-5",
    "max_tokens": 2048,
    "system": "你是一位专业的助手",
    "messages": [
      {"role": "user", "content": "用一句话介绍黑洞"}
    ]
  }'
# Windows 请用这一段:上面的 curl 写法(单引号、反斜杠换行)在 PowerShell / cmd 里会被改坏,返回 400
$body = @'
{
  "model": "claude-opus-5-5",
  "max_tokens": 2048,
  "messages": [{"role": "user", "content": "只回复 OK"}]
}
'@
$resp = Invoke-RestMethod -Method Post -Uri "https://api.koozhan.com/v1/messages" `
  -Headers @{ "x-api-key" = "sk-dz-xxxxxxx"; "anthropic-version" = "2023-06-01" } `
  -ContentType "application/json; charset=utf-8" `
  -Body ([Text.Encoding]::UTF8.GetBytes($body))
($resp.content | Where-Object { $_.type -eq "text" }).text
import anthropic

client = anthropic.Anthropic(
    api_key="sk-dz-xxxxxxx",
    base_url="https://api.koozhan.com",
)

msg = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=2048,
    system="你是一位专业的助手",
    messages=[
        {"role": "user", "content": "用一句话介绍黑洞"},
    ],
)

# 按类型取正文块(响应里若带思考块也不受影响)
print(next(b.text for b in msg.content if b.type == "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-opus-5-5",
    max_tokens=2048,
    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 等高级能力支持不完全一致,生产使用前建议先用目标模型做一次测试。claude-opus-5-5 始终开启自适应思考:不支持 temperature、top_p、top_k(会被忽略),也不支持 thinking 字段和强制调用工具(tool_choice 为 any 或 tool),请用 output_config.effort(low/medium/high/xhigh/max)调节思考强度;响应里可能带思考块,取正文时请按 type == "text" 选取。完整字段参考 Anthropic 官方文档。

4图片生成

接口与 OpenAI 的图片生成接口兼容,一次请求生成一张图片。

Endpoint

POST https://api.koozhan.com/v1/images/generations

请求头 Authorization: Bearer <图片 Key>。图片 Key 在控制台“图片生成”页创建;文本模型的 Key 不能调用这个接口,图片 Key 也不能调用文本接口。

请求示例

先把 Key 放进变量,再发请求,避免粘贴时把命令弄乱:

bash / zsh
IMG_KEY='在这里粘贴你的图片 Key'
cURL
Python (OpenAI SDK)
curl https://api.koozhan.com/v1/images/generations \
  -H "Authorization: Bearer $IMG_KEY" \
  --json '{"model":"gpt-image-2.5","prompt":"一只橘猫坐在窗台上,水彩风格","size":"1024x1024","response_format":"url"}'
from openai import OpenAI

IMG_KEY = "在这里粘贴你的图片 Key"
client = OpenAI(base_url="https://api.koozhan.com/v1", api_key=IMG_KEY)
r = client.images.generate(model="gpt-image-2.5", prompt="一只橘猫坐在窗台上,水彩风格", size="1024x1024", response_format="url")
print(r.data[0].url)

--json 需要 curl 7.82 或更新的版本。旧版本把 --json '…' 换成 -H "Content-Type: application/json" -d '…'。

参数

参数说明
modelgpt-image-2.5 或 gpt-image-2
prompt图片描述,最长 4000 个字符
size1024x1024、2048x2048、3840x2160、2160x3840,两个模型都提供
quality画质,可选。low:标准画质,默认值,不传、传 auto 或 standard 也是它,按张计费。high:高画质,按 token 计费,目前只有 gpt-image-2.5 有。medium 暂未开放,传 medium 或其他取值返回 400,不会自动换成别的画质
response_formatb64_json(默认,图片内容以 base64 放在返回里)或 url(返回一个下载地址,1 小时内有效)
n只支持 1

在终端里调试时建议用 "response_format":"url":默认的 b64_json 会把几百万个字符直接打印出来。

返回

JSON
{
  "created": 1791648596,
  "id": "8a18b886-8770-4341-a8a0-6c793e5869b4",
  "model": "gpt-image-2.5",
  "size": "1024x1024",
  "quality": "low",
  "data": [{"url": "https://api.koozhan.com/v1/images/files/…"}],
  "expires_at": 1791652220,
  "usage": {"images": 1, "tier": "1K", "input_tokens": 20, "output_tokens": 196, "charged_cny": 0.08}
}

图片是 PNG。请在 1 小时内下载保存,过期后地址失效。

quality 是这张图片实际使用的画质(low 或 high)。usage.charged_cny 是这一张实际扣费的金额(元);usage.input_tokens 和 usage.output_tokens 是描述和图片用掉的 token 数,个别情况下可能没有这两项。

计费

标准画质按张计费;高画质按 token 计费:输出(图片)每百万 token $30,输入(描述)每百万 token $5,每张有最高金额。价格和最高金额见模型页。只有成功生成才扣费。请求通常需要等待十几秒到一两分钟;一次请求最长 5 分钟内会有结果,到时仍未生成的按超时失败返回,不扣费。建议把客户端的超时设到 6 分钟。

高画质在提交时按该尺寸的最高金额检查余额并暂时预留,生成成功后按实际 token 扣费(不超过最高金额,也不低于同尺寸的标准画质价格),实际金额在返回的 usage.charged_cny 里。

连接中途断开时任务仍会完成并扣费。需要可靠重试时,每个请求带一个自己生成的 Idempotency-Key 请求头;断开后用同一个值重发同样的请求,会取回原来的结果,不会重复生成和扣费。同一个值换了描述、尺寸、模型或画质再发,会返回 409。

限制

  • 每个账号同时进行的生成任务最多 4 个。
  • 每把图片 Key 每分钟最多 20 次请求。
  • 描述被内容审核拒绝不扣费。10 分钟内被拒绝 5 次,该账号的图片生成会暂停 30 分钟。

错误码

HTTPerror.code含义
400content_policy描述被内容审核拒绝,未扣费。修改描述后重试
400request_rejected这段描述无法生成图片,未扣费。修改描述后重试
400invalid_model、invalid_size、size_not_available_for_model、invalid_request参数不对;quality 传了 medium 或不认识的取值也是 invalid_request
400quality_not_available所选模型或尺寸没有高画质;错误信息里会给出有高画质的模型
402insufficient_balance余额不足以生成这一张;高画质按最高金额检查
403image_key_required用的不是图片 Key
409idempotency_key_reused同一个 Idempotency-Key 被用于不同的请求
429content_cooldown多次被内容审核拒绝,暂停中;Retry-After 给出剩余秒数
429image_concurrency_limit、image_rate_limit、image_capacity_busy超过并发或频率限制,或系统繁忙,稍后重试
502 / 503 / 504upstream_unavailable、image_unavailable、upstream_timeout服务暂时不可用或超时,未扣费,稍后重试

5Codex CLI 配置

OpenAI 官方的 Codex CLI(codex 命令)需要用自定义 provider 接入酷站AI。不要改动内置的小写 openai provider;按下面配置一个名为 OpenAI 的自定义 provider(大小写必须一致),指向酷站AI。

第一步:安装 Codex CLI

npm
Windows PowerShell
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
config.toml
model_provider = "OpenAI"
model = "gpt-5.6-sol"
review_model = "gpt-5.6-sol"
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-... 填到环境变量。设置后请重新打开终端,让环境变量生效。Codex 需要 OpenAI 或 统一文本模型渠道的 Key。

Windows PowerShell
Mac / Linux
[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

快速测试

想先验证配置是否正确,可以在终端运行:

Windows PowerShell
Mac / Linux
codex exec --skip-git-repo-check -m gpt-5.6-sol "只回复 OK"
codex exec --skip-git-repo-check -m gpt-5.6-sol "只回复 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。
  • 提示“Codex 暂不支持 Claude 模型”:Codex 只能使用 GPT 等 OpenAI 系模型;Claude 模型请用 Claude Code。

6Claude Code CLI 配置

Anthropic 官方的 Claude Code 命令行工具(claude 命令)可以使用酷站AI Claude 或 统一文本模型渠道的 API Key。配置是 ANTHROPIC_BASE_URL=https://api.koozhan.com 加 ANTHROPIC_API_KEY=sk-dz-...。

安装 Claude Code(如果还没装)

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

配置环境变量

设两个环境变量即可。推荐先在当前终端临时设置,确认能用后再写成永久环境变量。

PowerShell (Windows)
bash / zsh (Mac/Linux)
fish
# 当前 PowerShell 临时生效
$env:ANTHROPIC_BASE_URL = "https://api.koozhan.com"
$env:ANTHROPIC_API_KEY = "sk-dz-xxxxxxx"
claude

# 永久生效:设置后重新打开 PowerShell
[Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "https://api.koozhan.com", "User")
[Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "sk-dz-xxxxxxx", "User")
# 一次性临时启用(当前 shell 有效)
export ANTHROPIC_BASE_URL="https://api.koozhan.com"
export ANTHROPIC_API_KEY="sk-dz-xxxxxxx"

# 永久生效:追加到 ~/.zshrc 或 ~/.bashrc
echo 'export ANTHROPIC_BASE_URL="https://api.koozhan.com"' >> ~/.zshrc
echo 'export ANTHROPIC_API_KEY="sk-dz-xxxxxxx"' >> ~/.zshrc
source ~/.zshrc

# 启动
claude
set -Ux ANTHROPIC_BASE_URL "https://api.koozhan.com"
set -Ux ANTHROPIC_API_KEY "sk-dz-xxxxxxx"

claude

验证

启动 claude 后,命令行会进入交互模式。问一句话比如 hi,能正常返回就是配置成功。也可以用非交互方式快速测试:

Test
claude --bare -p --model claude-opus-5-5 "只回复 OK"
常见问题:
  • 提示 API key not found:检查环境变量名是否准确(推荐使用 ANTHROPIC_API_KEY)
  • 提示仍在连接 Anthropic 官方:检查 ANTHROPIC_BASE_URL 是否是 https://api.koozhan.com,不要带 /v1。以前按 https://koozhan.com 配置的仍可继续使用,不必修改;新配置请用 https://api.koozhan.com。
  • 返回 invalid or expired API key:Key 填错、已删除或已停用,在控制台 API Keys 页核对。
  • 长时间没有输出,约 3 分钟后提示 Failed to authenticate / 401:API Key 填错或已失效。Claude Code 会先自动重试约 10 次才报错,请检查 ANTHROPIC_API_KEY。
  • 返回“模型 … 未对此 API Key 开通”:这个 Key 的渠道不含该模型(例如 DeepSeek 渠道的 Key),请换用 Claude 或统一文本模型渠道的 Key;返回“模型 … 不存在”:检查模型名。
  • 返回 402 / 余额不足:到控制台充值,或减少上下文和输出长度后重试。
  • 返回“该 API Key 暂不可用”:在控制台 API Keys 页重新创建 Key。
  • 日志里出现 {"title": ...}:这是 Claude Code 自动生成会话标题的请求,不是用户最终答案
  • 启动时提示 "claude-opus-5-5" isn't described by this version's model catalog:这是 Claude Code 对模型名的提示,不影响调用,回答照常返回;升级 Claude Code 后可能不再出现。

查看用量

在 koozhan 控制台 → 日志页可以看到每次 claude 调用的具体 token 用量与费用明细。Claude Code 一次运行可能产生多条 /v1/messages 日志,例如标题生成、上下文管理和最终回答,这是正常现象。

7CC Switch 图形化配置

CC Switch 是第三方开源桌面工具(Windows / macOS / Linux),可以在图形界面里管理 Claude Code 和 Codex 的接口配置,一键切换。它做的事情和第 5、6 节手动配置相同:把接口地址和 API Key 写进本机配置文件。酷站AI 与 CC Switch 没有关联,下面只说明在 CC Switch 里怎么填。

安装

从 GitHub Releases 下载对应系统的安装包;Mac 也可以用 Homebrew:

macOS
brew install --cask cc-switch
启用前请注意:CC Switch 启用某个供应商时,会改写本机的 ~/.claude/settings.json(Claude Code)和 ~/.codex/config.toml、~/.codex/auth.json(Codex)。首次打开时它会把你现有的配置导入为一个默认供应商,想恢复时切回它即可。如果你之前按第 6 节设置过 ANTHROPIC_BASE_URL / ANTHROPIC_API_KEY 环境变量,建议先删除,避免两套配置同时生效。

添加 Claude Code 供应商

在 CC Switch 顶部选中 Claude,点右上角 +,选择自定义配置,按下表填写:

字段填写
供应商名称酷站AI(可自定)
官网https://koozhan.com(可选)
API Key控制台创建的 sk-dz-...
请求地址 / Base URLhttps://api.koozhan.com,末尾不要带 /v1 或 /
上游格式(高级选项)Anthropic Messages(原生),不要开启本地路由

保存后在供应商卡片上点 启用。CC Switch 写入 ~/.claude/settings.json 的内容大致如下(Key 放在 ANTHROPIC_AUTH_TOKEN 中,酷站AI 同样支持):

settings.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.koozhan.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-dz-xxxxxxx"
  }
}

添加 Codex 供应商

在 CC Switch 顶部切到 Codex,点 +,选择自定义配置:

字段填写
供应商名称koozhan(建议小写英文)
API Key控制台创建的 sk-dz-...
Base URLhttps://api.koozhan.com,末尾不要带 /v1
模型gpt-5.6-sol(Codex 只能使用 GPT 等 OpenAI 系模型)
上游格式Responses(原生),不要开启本地路由

CC Switch 会把 Key 写进 ~/.codex/auth.json,并在 ~/.codex/config.toml 写入类似下面的内容。可以在 CC Switch 的 config.toml 编辑框里核对:

config.toml
model_provider = "koozhan"
model = "gpt-5.6-sol"

[model_providers.koozhan]
name = "koozhan"
base_url = "https://api.koozhan.com"
wire_api = "responses"
requires_openai_auth = true
可选:启用 WebSocket。上面的配置走 HTTPS,可以直接使用。想和第 5 节一样优先走 WebSocket,可在编辑框里给 [model_providers.koozhan] 加一行 supports_websockets = true,并在文件末尾加上 [features] 和 responses_websockets_v2 = true。出现 WebSocket 相关警告时删掉这两项即可。

验证

启用供应商后,重新打开一个终端再运行下面的命令,能返回内容就说明接通了:

Claude Code
Codex
claude -p --model claude-opus-5-5 "只回复 OK"
codex exec --skip-git-repo-check -m gpt-5.6-sol "只回复 OK"
常见问题:
  • Claude Code 返回 404:请求地址末尾多了 /v1 或 /,按上表改正(Codex 带不带 /v1 都能用,建议按上表不带)。
  • 返回 missing API key:Key 没有写进配置。Codex 请确认 requires_openai_auth = true 还在,Key 已填写。
  • 返回 invalid or expired API key:Key 填错、已删除或已停用,在控制台核对后重新填写。
  • 切换后仍在用旧配置:已经打开的 Claude Code / Codex 不会自动换,退出后在新终端里重新启动。
  • Claude Code 提示认证冲突:同时存在 ANTHROPIC_API_KEY 环境变量和 CC Switch 写入的 ANTHROPIC_AUTH_TOKEN,删除环境变量后重开终端。
  • 想用回官方账号或其他配置:在 CC Switch 里切回原来的供应商即可。

CC Switch 支持通过链接一键导入供应商,但这类链接会包含 API Key,请不要把含 Key 的链接、配置文件或截图发到群聊和公开场合。

8Claude 桌面端配置

Anthropic 官方的 Claude 桌面端(Windows / macOS)可以把模型请求改走第三方网关,不需要登录 Claude 账号,聊天、Cowork 和 Code 都可用。使用酷站AI Claude 或 统一文本模型渠道的 API Key。需要较新的桌面端版本(1.2581 及以上),菜单名称以你安装的版本为准。

注意:桌面端不读取 ANTHROPIC_BASE_URL 环境变量,也不读取 ~/.claude/settings.json 里的接口设置。第 6、7 节的配置只对命令行版 Claude Code 生效,桌面端要按本节在应用里单独设置。

第一步:打开开发者模式

先不要登录 Claude 账号:让桌面端停在登录界面(已经登录的请先退出登录)。然后选菜单 Help → Troubleshooting → Enable Developer Mode(Windows 是登录界面左上角的 ☰ 菜单)。打开后菜单栏会多出 Developer。

第二步:填写网关

菜单 Developer → Configure Third-Party Inference…,在 Connection 部分按下表填写:

字段填写
Inference providerGateway
Gateway base URLhttps://api.koozhan.com,末尾不要带 /v1 或 /
Gateway API key控制台创建的 sk-dz-...
Credential kindStatic API key(默认)
Gateway auth schemeBearer(默认);选 x-api-key 也可以

填好后点 Apply Changes,再点 Save & Restart。桌面端重启后,登录界面会多出一个用这份配置启动的选项,选它进入。

第三步:选模型

模型列表会自动从酷站AI 读取,在模型选择器里选 claude-opus-5-5 等 Claude 模型即可开始使用。列表只显示 Claude 模型;GPT、DeepSeek 不能在 Claude 桌面端里使用。

常见问题:
  • 模型列表是空的:地址多写了 /v1,或 Key 填错。地址只填 https://api.koozhan.com。
  • 提示 模型 … 未对此 API Key 开通:这把 Key 是 DeepSeek 或 OpenAI 渠道的,换用 Claude 或统一文本模型渠道的 Key。
  • 找不到 Developer 菜单:先完成第一步;仍然没有时把桌面端升级到最新版本。
  • 配置窗口显示 Couldn't load configuration,点 Retry 也没用:这是 Claude 桌面端自身的已知问题,窗口还没有连到酷站AI,与 Key 无关。依次尝试:退出 Claude 账号登录后在登录界面重新打开;从官网重新安装最新版;换一个能访问 claude.ai 的网络(这个窗口打开时要先连 Anthropic 的服务器)。仍然打不开时,请改用第 6 节的 Claude Code 或第 7 节的 CC Switch,同一把 Key 可以直接用。
  • 想用回官方账号:在登录界面选择用 Anthropic 账号登录即可。

酷站AI 与 Anthropic 没有关联;这里只说明在 Claude 桌面端里怎么填写。官方说明见 Claude Desktop on 3P · LLM gateway。

9opencode 配置

opencode 是第三方开源的终端编程助手。在它的配置文件里加一个自定义供应商即可使用酷站AI 的 Claude 模型,使用 Claude 或 统一文本模型渠道的 API Key。

写配置文件

把下面内容保存为配置文件(已有文件时把 provider 一段合并进去):

  • macOS / Linux:~/.config/opencode/opencode.json
  • Windows:%USERPROFILE%\.config\opencode\opencode.json
opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "koozhan": {
      "npm": "@ai-sdk/anthropic",
      "name": "Koozhan",
      "options": {
        "baseURL": "https://api.koozhan.com/v1",
        "apiKey": "sk-dz-xxxxxxx"
      },
      "models": {
        "claude-opus-5-5": { "name": "Claude Opus 5.5" }
      }
    }
  },
  "model": "koozhan/claude-opus-5-5",
  "small_model": "koozhan/claude-opus-5-5"
}

保存后重新启动 opencode,用 /models 选择 koozhan/claude-opus-5-5。要用其他 Claude 模型,在 models 里按同样写法再加一行,模型名与模型页一致。

三个容易错的地方:
  • 地址要带 /v1:baseURL 填 https://api.koozhan.com/v1。这一点和 Claude Code 相反;漏掉会返回 404。
  • 不要用 opencode 内置的 Anthropic 供应商:它自带的模型表里没有酷站AI 的模型名,会在本地直接报 Model not found,请求根本发不出来。按上面的写法新建一个供应商(这里叫 koozhan)。
  • small_model 要写:opencode 会用一个小模型给会话起标题,不指定时可能选到酷站AI 没有的模型,标题生成失败(不影响对话)。

想用 GPT 或 DeepSeek 模型时,另建一个供应商,把 npm 改成 @ai-sdk/openai-compatible,baseURL 同样填 https://api.koozhan.com/v1,在 models 里写对应的模型名。酷站AI 与 opencode 没有关联,配置项以 opencode 官方文档为准。