Claude Code疑问整理
claude hub渲染问题
问题标题
开启 CC Switch 路由后,Claude Hub 显示的模型名不是第三方请求的真实模型
问题描述
开启 CC Switch 路由,并将 OpenAI 协议转换为 Anthropic 协议后,Claude Hub 渲染出来的模型名会变成 Claude 系列模型名,而不是第三方请求中实际使用的真实模型名。
请求链路
OpenAI 请求 → CC Switch 路由 → 转换为 Anthropic 协议 → Claude Hub 展示模型名
实际结果
Claude Hub 中显示的是 Claude 模型名,例如 claude-xxx。
期望结果
Claude Hub 中应显示第三方请求的真实模型名;或者至少同时展示“原始模型名”和“映射后的 Claude 模型名”。
影响
- 无法从 Claude Hub 准确判断上游实际调用的模型。
- 调试、日志核对、计费或统计时容易出现偏差。
- 第三方模型与 Claude 模型之间的映射关系不透明。
可能原因
CC Switch 在路由转发或协议转换过程中重写了 model 字段,将第三方模型名映射成了 Claude 模型名,Claude Hub 读取到的是映射后的名称。
建议处理方向
- 在 Claude Hub 中保留并展示原始模型名。
- 或同时展示“原始模型名 → Claude 映射名”。
- 检查 CC Switch 的模型映射、别名或路由配置,确认是否强制覆盖了
model字段。
一句话版本
开启 CC Switch 路由并将 OpenAI 转为 Anthropic 协议后,Claude Hub 渲染的模型名会变成 Claude 模型名,而不是第三方请求的真实模型名。
settings.json 配置
问题标题
环境变量只对当前会话生效,换台机器或团队成员各自配置时容易遗漏,应该怎么持久化配置?
问题描述
通过环境变量(如 ANTHROPIC_BASE_URL、CLAUDE_CODE_AUTO_MODE_SERVER)能解决当前会话的问题,但这些设置不会落盘。换一台机器要重新配一遍,团队成员之间也无法共享同一份配置。
解决思路
把配置写进 settings.json。它是标准 JSON 格式,用于做持久化和统一管理。
配置层级
| 层级 | 路径 | 生效范围 |
|---|---|---|
| 用户级 | 用户主目录下的 .claude/settings.json |
对所有项目生效 |
| 项目级 | 项目根目录下的 .claude/settings.local.json |
只对当前项目生效 |
项目级的优先级高于用户级,可以给特定项目做特殊配置而不影响全局。
文件长什么样
以 autoMode 为例,在 autoMode 对象下声明 server 走本地通道,并明确 classifierRequests 是免费的,不再触发提示:
字段名仅为示意,实际字段以你的客户端版本为准。
注意
settings.local.json通常会被.gitignore排除,适合放本地私有配置(如 token);需要团队共享的部分才考虑放进可提交的settings.json。- 文件里不要写真实的密钥值,需要引用时用环境变量占位符。
- 改完
settings.json需要重启会话才会生效。
一句话版本
环境变量只管当前会话,settings.json 负责落盘持久化;用户级管全局,项目级管单个项目,项目级优先级更高。