外观
Claude Desktop 不挂代理跑起来
Claude Desktop 在国内直接用会撞墙,但撞的其实不是同一堵墙。分清楚卡在哪一道门,才好决定怎么绕。
三道门
| 门 | 现象 | 谁在拦 |
|---|---|---|
| ① 地区门 | App unavailable in region | 按出口 IP 判定,无中国大陆 |
| ② 登录门 | 登录页 / 401 | 官方链路只认订阅账号,不收 Console API Key |
| ③ 账号验证门 | Verification is required before your account can receive replies | 挂在账号或组织上,换网、重装、重登都无效 |
第一张图最容易误判
App unavailable in region 经常只是安装器/首启的下载页,不代表 app 的登录门被拦。别看到这张图就下结论,先去读真实状态。
商店版(MSIX)的数据目录在:
%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\config.json
%LOCALAPPDATA%\Claude-3p\ ← 第三方推理模式的数据目录,安装时创建;为空 = 还没启用绕法:第三方推理网关
官方账号模式走不通时,另一条路是 Developer → Configure Third-Party Inference,把 inferenceProvider 设成 gateway。
这条路能用的原因是:它不校验 Anthropic 账号,只认你自己配的网关。
写入的配置长这样(configLibrary 里的一份 profile):
json
{
"inferenceProvider": "gateway",
"inferenceGatewayBaseUrl": "http://127.0.0.1:15721/claude-desktop",
"inferenceGatewayApiKey": "ccs-xxxxxxxx",
"inferenceGatewayAuthScheme": "bearer",
"inferenceModels": [
{ "name": "claude-sonnet-4-5", "labelOverride": "deepseek/deepseek-v4-pro" }
]
}两个关键机制
一、模型 ID 白名单。 3p 模式下,模型列表只保留 claude* / anthropic* 前缀的名字。name 是对外暴露的 Anthropic 名,真实模型由网关侧路由决定(labelOverride)。
所以填 deepseek-v4-pro 会报 Doesn't look like an Anthropic model——必须写成 claude-sonnet-4-5 这类名字,真实模型放到 labelOverride 里。
二、直连要求模型名必须是 claude-*。 如果上游供应商(七牛云、各类中转站)的模型列表里没有 claude 开头的模型,就不能走直连模式,得用本地路由 + 模型映射:本地起一个代理,把 claude-sonnet-4-5 映射到真实模型名。
验证是否真的不依赖代理
改完之后,把系统代理关掉、确认代理端口没有监听,再启动客户端。如果还能拉到模型列表,说明链路通了。
别手动去改系统代理开关
Chromium 系客户端跟随系统的 ProxyEnable。手动把它置 1 而代理软件没在跑,客户端会直接 ERR_PROXY_CONNECTION_FAILED 白屏。
让代理软件自己管理这个开关——智能分流模式下它会跟随连接状态自动读写。
一条容易忽略的边界
Claude Desktop 和 Claude Code CLI 是两条独立链路:
- Desktop 读
%LOCALAPPDATA%\Claude-3p\configLibrary\那套 - CLI 读
~/.claude/settings.json里的env(ANTHROPIC_BASE_URL等)
改了一边不影响另一边,排查时别混。