• shaw's avatar
    fix: 修复非CC客户端OAuth伪装被Anthropic检测为第三方应用的问题 · 49c19a55
    shaw authored and 陈曦's avatar 陈曦 committed
    commit f3aa54b7 的 rewriteSystemForNonClaudeCode 未能通过 Anthropic 第三方检测,
    根因是两个关键信号与真实 Claude Code 不一致:
    
    1. anthropic-beta 头缺少 claude-code-20250219:伪装路径主动将该 beta
       加入 drop set 并移除,但 Anthropic 依赖此 beta 识别 Claude Code 请求。
       修复:非 haiku 模型的伪装请求强制包含 claude-code beta。
    
    2. system 字段使用 string 格式而非 array+cache_control:真实 Claude Code
       始终以 [{type,text,cache_control:{type:"ephemeral"}}] 发送 system,
       string 格式成为第三方检测信号。
       修复:rewriteSystemForNonClaudeCode 改为注入 array 格式。
    
    附带调整:stripSystemCacheControl 按 system 是否被重写动态决定,
    重写时保留 CC prompt 的 cache_control,未重写时(haiku/已含CC前缀)
    保持原有剥离行为。
    49c19a55
gateway_prompt_test.go 12.7 KB