Claude Desktop 接入 CodeGateway(三方网关配置)

把 Claude Desktop 的推理指向 CodeGateway:连接设置、模型选择器清单(inferenceModels)、以及 1M 上下文的正确声明方式。

Claude Desktop 支持把推理请求指向你自己的网关。本页给出接入 CodeGateway 的完整配置,包括模型选择器清单与 1M 上下文的正确声明方式。

一、打开三方推理配置

在 Claude Desktop 里:Help > Troubleshooting > Enable Developer Mode,然后 Developer > Configure Third-Party Inference…。

二、连接设置

配置项

值

Inference provider

Gateway

Gateway base URL

https://api.codegateway.dev(不要加 /v1)

Credential kind

Static API key

Gateway auth scheme

Bearer(x-api-key 也支持)

Gateway API key

你的 sk-cg- 密钥

配好后,Claude Desktop 用 GET /v1/models 拉模型目录,把对话与 Code 会话的请求发到 POST /v1/messages——两者都会走 CodeGateway 的路由、计量与账单。

三、模型选择器里的清单

走自动发现时,Claude Desktop 只保留 id 里含 claude 或 anthropic 的条目,所以 CodeGateway 目录里的 claude-* 都会出现在选择器里(名字用 id,副标题显示「From gateway」)。

想完全自己控制清单(顺序、显示名、默认项),用 managed configuration 的 inferenceModels——它会替代自动发现,第一条即默认选中:

json
[
{ "name": "claude-sonnet-5-5", "supports1m": true, "anthropicFamilyTier": "sonnet", "isFamilyDefault": true },
{ "name": "claude-opus-5-5", "supports1m": true, "anthropicFamilyTier": "opus", "isFamilyDefault": true },
{ "name": "claude-fable-5-1", "supports1m": true, "anthropicFamilyTier": "fable", "isFamilyDefault": true },
{ "name": "claude-sonnet-5", "supports1m": true, "anthropicFamilyTier": "sonnet" },
{ "name": "claude-opus-5", "supports1m": true, "anthropicFamilyTier": "opus" },
{ "name": "claude-opus-4-8", "anthropicFamilyTier": "opus" },
{ "name": "claude-sonnet-4-6", "anthropicFamilyTier": "sonnet" },
{ "name": "claude-haiku-4-5", "anthropicFamilyTier": "haiku", "isFamilyDefault": true }
]
name 必须与 /v1/models 返回的 id 完全一致。填 sonnet 这类别名不会生效——别名不会折叠成 1M 变体。 inferenceModels 是 managed configuration(MDM profile / bootstrapUrl / 各平台的 managed-settings 文件)里的键;Apply locally 写入的本地配置等价。

四、1M 上下文:只给确认 1M 的模型标 supports1m

supports1m 是你在配置里做的一条能力声明:声明这个部署接受 1M token 的请求。请只对目录里确实是 1M 窗口的条目打开它:

id

上下文窗口

supports1m

claude-sonnet-5-5

1M

可以标

claude-opus-5-5

1M

可以标

claude-fable-5-1 / claude-fable-5

1M

可以标

claude-sonnet-5 / claude-opus-5

1M

可以标

claude-sonnet-4-6 / claude-opus-4-8 / claude-haiku-4-5

200K

不要标

标错会怎样?选择器仍会显示一个 1M 变体,但请求打到 CodeGateway 时会被拒绝:网关只在模型目录的 context_window ≥ 1M 时才认 [1m] 后缀,因此 claude-sonnet-4-6[1m] 返回 400 Unsupported model。这样设计是为了让「客户端以为 1M、实际 200K,跑到一半撞上限」这类静默失败变成启动即报错。

五、让裸别名落到正确的模型

Code sessions 里用 sonnet / opus / haiku 这类裸别名时,Claude Desktop 靠 anthropicFamilyTier 决定它对应清单里的哪一条;同一 tier 有多条时,isFamilyDefault: true 的那条胜出。

六、验证

bash
curl -s https://api.codegateway.dev/v1/models \
-H "Authorization: Bearer sk-cg-YOUR_KEY" | head -c 400

再用 CodeGateway 的 Anthropic 端点发一条最小请求:

bash
curl -sS https://api.codegateway.dev/v1/messages \
-H "x-api-key: sk-cg-YOUR_KEY" -H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5-5","max_tokens":16,"messages":[{"role":"user","content":"ping"}]}'

返回 "type":"message" 即链路已通。1M 窗口由模型本身提供,不需要额外开关。

把这篇文档跑成一次真实调用

注册后创建一把 sk-cg- 密钥,把 base URL 指向 CodeGateway,现有 SDK 与 CLI 不用改代码即可切换。按量计费,绑卡赠 $2 额度。

免费注册
作者:CodeGateway 团队