跳转至

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 读取到的是映射后的名称。

建议处理方向

  1. 在 Claude Hub 中保留并展示原始模型名。
  2. 或同时展示“原始模型名 → Claude 映射名”。
  3. 检查 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 是免费的,不再触发提示:

1
2
3
4
5
6
{
  "autoMode": {
    "server": "local",
    "classifierRequests": "free"
  }
}

字段名仅为示意,实际字段以你的客户端版本为准。

注意

  • settings.local.json 通常会被 .gitignore 排除,适合放本地私有配置(如 token);需要团队共享的部分才考虑放进可提交的 settings.json。
  • 文件里不要写真实的密钥值,需要引用时用环境变量占位符。
  • 改完 settings.json 需要重启会话才会生效。

一句话版本
环境变量只管当前会话,settings.json 负责落盘持久化;用户级管全局,项目级管单个项目,项目级优先级更高。