原理:用官方 3P Gateway 把 Claude Desktop 的 Code 页接到 cc-switch,再热切换任意兼容模型
前言:今天中午想把ccswitch的模型放到桌面版,结果就是接不通,有佬说只能cli,但是claude自己告诉我共用底层,所以我摆弄了半天,最后终于知道,底层的确是共用的底层,但是官方文档也写了,桌面版默认只能用官方账号,要换模型只能用cli,但是想要好看有更多功能的桌面版怎么办?
然后我就发现了这篇官方的最新文档,这篇教程就是基于它来的:
Install and configure Claude Cowork with third-party platforms
另外这篇也值得看一眼:
Use Claude Code Desktop
先罗列桌面版除了嚎堪到底还多了什么
不用想了,AI生成,所以折叠。了解的不用看,不了解的建议看看
点我展开 (点击了解更多详细信息)前置条件
- 已安装最新版 Claude Desktop。
- Windows 已启用
Virtual Machine Platform。 cc-switch正在运行。- 你已经在
cc-switch里导入了能用的 Claude provider。 cc-switch开启本地代理,地址一般是http://127.0.0.1:15721。最好确认一下。- 如果也在用 CLI,建议保留
C:\Users\<用户名>\.claude\settings.json里的代理配置。
这里非常重要:cc-switch 一定要开启本地代理
不是不能自己填写provider,但是:
如果你把 Desktop 的 Gateway base URL 直接填成某个 provider 地址,比如:
http://127.0.0.1:8317/v1
那桌面版只会连这个固定后端,你在 cc-switch 里切换 provider,Desktop 不会跟着切。你好要再跑一边下面的教程才行,来一次还行,天天来谁受得了
而cc-switch能一起热切换,把请求转发给当前选中的 provider。
教程
1. 打开claude桌面版 3P 设置界面
按官方文档,点击桌面版左上角三条横线,按照这个路径:
Help -> Troubleshooting -> Enable Developer modeDeveloper -> Configure third-party inference
这会打开官方的 3P Setup UI。
2. 在 Connection 里选择 Gateway
在 Connection 页面,选择:
Gateway
不要选 Bedrock,不要选 Vertex,不要选 Foundry。
因为我们这里要走本地 cc-switch 统一入口。
当然,如果你要连接到亚马逊/谷歌/微软,可以根据自身情况选择。
3. 填写连接字段
按下面这样填:
-
Gateway base URL- 填:
http://127.0.0.1:15721(具体看你自己的本地代理地址)
- 填:
-
Gateway API key- 填:
PROXY_MANAGED(基本都是这个)
- 填:
-
Gateway auth scheme- 选:
bearer
- 选:
-
Gateway extra headers- 先留空
-
Organization UUID- 先留空
- 这个主要是给部署标识和 telemetry 用,不是鉴权必填
-
Credential helper script- 先留空
- 只有你的 token 需要动态刷新时才需要
-
Skip login-mode chooser- 这个是跳过登录,建议打开
- 这样启动后直接走 Gateway,不会弹出官方登录分流
-
Bootstrap config URL- 先留空
- 这个是做 per-user JSON overlay 的,单机测试不是必需
4. 点击面板左下角,切到 Show as JSON 检查一次
建议切到 Show as JSON,确认配置里至少有这些键:
{
"inferenceProvider": "gateway",
"inferenceGatewayBaseUrl": "http://127.0.0.1:15721",
"inferenceGatewayApiKey": "PROXY_MANAGED",
"inferenceGatewayAuthScheme": "bearer",
"inferenceModels": ["sonnet", "haiku", "opus"], //这行待会儿我们手动弄
"isClaudeCodeForDesktopEnabled": true
}
这几个键里最重要的是:
inferenceProviderinferenceGatewayBaseUrlinferenceGatewayApiKeyinferenceModels(就是这个需要手动)isClaudeCodeForDesktopEnabled
说明一下上面那个为什么要手动,这里我踩坑了:
inferenceModels是模型下拉框的候选列表,不弄会无法选择模型,就是说ccswitch中我们选择的claude对应的三个模型会拉不出来。sonnet、haiku、opus在这里更像 Anthropic 风格的 alias,不代表真实上游一定是 Claude。你可以自定义名称,我没有试验过数量,你说不定可以试试,不过ccswitch本身只限定了三个可选项。我个人建议参考ccswitch方便一些。isClaudeCodeForDesktopEnabled: true用来确保Code页可见。
那行在面板是无法编辑的,那怎么加上面那行?
方法一:导出 .reg 再改
- 先在表单里把这些能填的都填好:
Gateway base URL = http://127.0.0.1:15721Gateway API key = PROXY_MANAGEDGateway auth scheme = bearer
- 点右下角
Export - 导出 Windows 的
.reg - 用记事本打开这个
.reg - 在
[HKEY_CURRENT_USER\SOFTWARE\Policies\Claude]下面加一行:
"inferenceModels"="[\"sonnet\",\"haiku\",\"opus\"]"
如果你想先保守测试,只加一个也行:
"inferenceModels"="[\"sonnet\"]"
- 保存后双击导入,或者用命令:
reg import "C:\path\to\your.reg"
- 完全退出 Claude Desktop
托盘里也退出 - 重新打开,再看模型下拉框
方法二:直接用 PowerShell 写注册表
如果你不想导出文件,直接执行(记得确认内容,别完全复制粘贴):
New-Item -Path 'HKCU:\SOFTWARE\Policies\Claude' -Force | Out-Null
Set-ItemProperty -Path 'HKCU:\SOFTWARE\Policies\Claude' -Name 'inferenceProvider' -Value 'gateway'
Set-ItemProperty -Path 'HKCU:\SOFTWARE\Policies\Claude' -Name 'inferenceGatewayBaseUrl' -Value 'http://127.0.0.1:15721'
Set-ItemProperty -Path 'HKCU:\SOFTWARE\Policies\Claude' -Name 'inferenceGatewayApiKey' -Value 'PROXY_MANAGED'
Set-ItemProperty -Path 'HKCU:\SOFTWARE\Policies\Claude' -Name 'inferenceGatewayAuthScheme' -Value 'bearer'
Set-ItemProperty -Path 'HKCU:\SOFTWARE\Policies\Claude' -Name 'inferenceModels' -Value '["sonnet","haiku","opus"]'
Set-ItemProperty -Path 'HKCU:\SOFTWARE\Policies\Claude' -Name 'isClaudeCodeForDesktopEnabled' -Value 1 -Type DWord
然后完全退出并重开 Desktop。
确认(可选):
C:\Users\user\.cc-switch\logs\cc-switch.logC:\Users\user\.cc-switch\cc-switch.db
6. 重启后应该是这样的:

查本地记录确认是不是真的接通了
方法一:查 cc-switch.log
文件路径:
C:\Users\<用户名>\.cc-switch\logs\cc-switch.log
你要找的是最新的这类行:
[Claude] >>> 请求 URL: ...
如果你看到它在请求你当前 provider 的地址,说明已经真的走到了第三方。
方法二:查 cc-switch.db
文件路径:
C:\Users\<用户名>\.cc-switch\cc-switch.db
重点看表:
proxy_request_logs
你要重点确认这几列:
data_source = proxyprovider_id = 当前选中的 providerrequest_model = sonnet/haiku/...model = 真实上游模型status_code = 200
如果这里是 source=proxy,就说明你不是在看会话导入的假象,而是真的经过了代理。
方法三:查 Claude 会话元数据
文件路径:
C:\Users\<用户名>\.claude\sessions\*.json
看最新那个 session 文件,重点确认:
entrypoint = claude-desktop-3p
如果是这个值,说明当前是 Desktop 3P 会话,不是普通官方 Desktop Chat。
方法四:查 3P 本地日志
文件路径:
C:\Users\<用户名>\AppData\Roaming\Claude\logs\custom3p-setup.log
这个文件适合排查:
- 3P 模式有没有启用
- 启动时有没有 provider / bootstrap / custom_3p 相关报错
可以让 AI 帮你检查哪些文件
你要是不想自己翻日志,可以直接把这些文件路径给 AI,让它帮你判断:
C:\Users\<用户名>\.cc-switch\logs\cc-switch.log
C:\Users\<用户名>\.cc-switch\cc-switch.db
C:\Users\<用户名>\.claude\sessions\最新那个.json
C:\Users\<用户名>\AppData\Roaming\Claude\logs\custom3p-setup.log
C:\Users\<用户名>\.claude\settings.json
让 AI 帮你回答这 4 个问题就够了:
- 现在是不是
claude-desktop-3p - 最新请求是不是
source=proxy - 当前
provider_id是谁 - 真实上游
model是什么
怎么退回官方普通模式
感觉需要的人不多所以先折叠
点我展开 (点击了解更多详细信息)其实还是在借用a/的agent框架
1 个帖子 - 1 位参与者