← 返回信息流
Agent SkillLINUX DO · AI·2 小时前

CCSwitch+CPA在Codex上配置GPT模型缺失多项功能

原标题:发现个问题,CCSwitch + CPA 在CODEX上配置的gpt模型,思考过程、图片、fast模式等都不支持

速览

用户发现CCSwitch配合CPA在Codex上配置GPT模型时,缺失思考过程、图片输入、fast模式等功能。分析显示CCSwitch生成的模型目录与官方目录差异较大,缺少基础指令、支持等级、模态等关键配置。用户编写了PowerShell脚本,通过读取官方目录覆盖自定义模型配置以解决问题。该问题可能影响使用CCSwitch+CPA的用户,提示工具需完善模型配置覆盖。

AI 深度解读

背景

用户在使用 Codex CLI 时,通过 CC Switch 对接 CPA(自定义 API)账号池,形成如下链路:Codex → CC Switch → CPA 自定义 Responses 地址 → Codex 模型。CPA 中的模型由用户在 CC Switch 中手动添加,但添加时能填写的字段非常有限(仅模型 ID 和上下文大小)。用户发现 CC Switch 自动生成的模型目录文件(%USERPROFILE%\.codex\cc-switch-model-catalog.json)与 Codex CLI 自带的官方模型目录存在显著差异,导致许多关键功能(如思考过程、图片支持、Fast 模式等)无法正常使用。此问题在 LINUX DO · AI 社区中尚未见到公开讨论,用户怀疑自己的配置方法有误,或 CC Switch 未针对此类自定义模型覆盖场景进行完善。

核心内容

用户通过对比官方目录(通过 codex debug models --bundled 命令获取)与 CC Switch 生成的目录,发现以下不一致之处:

  • base_instructions:CC Switch 仅写入一段通用 Prompt,而官方模型中的指令内容更长、更具体。
  • model_messages:官方目录包含完整的指令模板和 personality 配置,CC Switch 生成的目录中完全缺失。
  • supported_reasoning_levels:CC Switch 将所有模型统一设置为 none / high,但官方不同模型支持的推理等级各不相同。
  • input_modalities:支持图片的官方模型标记为 text,image,CC Switch 通常只设 text
  • supports_image_detail_original:官方部分模型设为 true,CC Switch 默认为 false
  • supports_parallel_tool_callssupport_verbositydefault_verbosity 等工具调用与输出详细程度相关字段也存在差异。
  • truncation_policyservice_tiersadditional_speed_tiers 等策略与服务层级字段不完全一致。

为解决这一问题,用户编写了一个 PowerShell 脚本,其核心思路为:

  1. 读取 codex debug models --bundled 输出的官方模型目录。
  2. 从官方目录中动态筛选出所有 gpt-* 模型。
  3. 对于 CC Switch 目录中的每个自定义模型,使用其 slug(如 <provider-prefix>/gpt-5.6-luna)去匹配官方模型的 slug(如 gpt-5.6-luna),匹配方式为子串包含且不区分大小写,并优先匹配更具体的官方模型(按 slug 长度倒序)。
  4. 匹配成功后,用官方模型的完整配置覆盖当前自定义模型的条目,但保留自定义模型原有的 slug,以避免影响 CPA 路由。
  5. 修改前自动备份原文件,并提供 -ValidateOnly(仅验证不写入)和 -WhatIf(预演不执行)参数。

脚本中关键函数包括:读取 JSON 文件、获取官方目录、深度复制 JSON 对象、查找匹配的官方模型、合并目录、原子写入(备份、写临时文件、验证后移动)。

关键要点

  • CC Switch 为手动添加的模型生成的配置极其简略,多数高级特性(思考过程、图片输入、Fast 模式、详细输出控制、并行工具调用等)均因配置缺失而不可用。
  • 官方模型目录包含大量 CC Switch 未覆盖的字段,这些字段决定了模型的具体行为能力和支持模式。
  • 用户的解决思路是利用官方模型的完整配置作为模板,通过 slug 子串匹配(优先长匹配)为每个自定义模型注入官方对应模型的全部配置。
  • 匹配时必须保留自定义 slug,否则 CPA 自定义响应地址将无法路由到正确的模型。
  • 脚本支持安全机制:自动备份原文件、写入前校验 JSON 有效性、提供只验证和预演模式。
  • 用户还注意到官方目录中除 gpt-* 外还有其他模型(如 codex-auto-review),但脚本仅匹配 gpt-* 条目,避免误匹配。

意义与影响

该问题揭示了 CC Switch 在自定义模型配置上的不足:它仅向用户暴露了模型 ID 和上下文大小两个字段,而忽略了许多影响模型实际功能的关键元信息。这导致用户在通过 CC Switch 使用 CPA 对接 GPT 模型时,无法享受到 Codex CLI 官方模型所支持的高级特性,限制了工具链的灵活性和可用性。

用户自行编写的合并脚本提供了一种临时但有效的解决方法,将官方模型的完整配置注入到 CC Switch 生成的目录中,恢复了对推理等级、图片输入、工具调用等功能的支持。这种方法对同样使用 Codex + CC Switch + CPA 的用户具有参考价值,也体现了社区用户主动解决兼容性问题的能力。

从更广泛的视角看,此问题提示了第三方中间件(如 CC Switch)在对接官方工具时,需要更全面地获取并传递底层模型的能力元数据,否则容易造成功能降级。官方目录 JSON 的结构本身就包含了丰富的模型行为描述信息,中间件开发者或用户可以参照这些字段完善配置生成逻辑,以实现更无缝的集成体验。

查看原文 →linux.do