想问问大家有用ccSwitch把codex接入claudecode中使用的吗

likewind 2026-06-13 19:54 1

如题所述,我直接使用ccSwitch中的codex供应商,登录自己的gpt账号,接入claudecode中使用,但是我发现缓存命中率始终很低,一直保持在50%;而使用DeepSeek的缓存命中率就基本都在95%以上;请问这是为什么呢?佬友们有什么好办法吗?


最新回复 (4)
  • _Oops 06-13 20:09
    1

    没这么试过,感觉是兼容性的问题吧 他们不是一个协议,Deepseek应该是缓存机制比较宽松吧, 我觉得codex也挺好用的 没必要再转成claude了。

  • likewind 楼主 06-13 20:18
    2

    主要是有时候需要用gpt写一些文字工作,但是不知道是codex的系统提示词还是什么问题,用codex写出来的东西ai味很重,但是接入到claudecode里面写出来的东西就还好;

  • dddnc 06-13 20:30
    3

    可以自己部署一个sub2api或者cpa把协议转换一下就可以了

  • 魏笑 06-13 21:17
    4

    Claude Code 的 prompt caching 为什么命中率掉到 50%,DeepSeek 却能保持 95%+


    核心原因是:Claude Code(从 v2.1.36+ 开始)在每次请求的 System Prompt 开头注入了一个动态的 x-anthropic-billing-header(包含随机 5 个十六进制字符的 cch=xxx),每次都不一样。这个 header 直接作为 prompt prefix 的一部分,发给后端模型。Anthropic 的 Prompt Caching 依赖精确前缀匹配(hash),前缀一变就全缓存失效。


    而 DeepSeek 作为第三方兼容模型(Anthropic 格式),在发现这个问题后,进行了适配,根本不注入这个专属 billing header,因此deepseek的 prompt 几乎完全稳定,缓存命中率自然能拉到 95%+。


    这个机制其实是 Anthropic 用来防止滥用、反缓存的“反向工程”:



    • 官方 Claude Code 二进制(ELF)在 Bun/Zig 层通过 memmem 替换 cch=00000 placeholder,注入真实 hash。

    • 会导致每轮 full rebuild(即使历史对话没变)。

    • 第三方模型(OpenAI、DeepSeek、甚至 ccSwitch 转发的)都没适配这个注入,所以缓存失效 + 费用暴增。


    而openai的模型并没有自己主动适配,因此需要通过修改配置文件的方式来适应。


    直接解决办法(ccSwitch + Codex 下最简单)


    ccSwitch 会把这个配置同步到 Codex 的 ~/.codex/config.toml(或 auth.json),但 Claude Code 的 env 配置还需要手动加到 Codex 自己的配置文件里:



    1. 用 CC Switch 切换到你当前的 GPT/Claude 账号 provider(Claude Code 模式)。

    2. 打开 Codex 配置(通常在 ~/.codex/config.toml 或 CC Switch 的 Codex 配置面板里 Edit Provider → Config JSON/TOML)。

    3. env 或者对应 section 加这行:


    [env]
    CLAUDE_CODE_ATTRIBUTION_HEADER = "0"
    # 或者如果 config 是 JSON:
    "env": {
    "CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
    }

    你可以把这些发给你的AI来执行。

* 帖子来源Linux.do
返回