mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-04 00:17:45 +08:00
非 Claude Code 客户端(如 pi)经 OAuth 的 claude_code provider 转发时, 只有请求头被伪装成 Claude Code,请求体仍是客户端原样,被上游以 429 rate_limit_error 拒绝(响应无 ratelimit 额度头,并非真实限流)。 参考 sub2api 的 OAuth 请求体伪装,在传输层补齐请求体: - system 重写为计费头 + 身份句 + 通用提示词三块(Fable 仅保留前两块) - 原 system 迁入 messages 开头,避免丢失客户端指令 - 缺失时补 metadata.user_id,device/session id 基于 key 稳定派生 - 缺失时补 tools/temperature/max_tokens,并限制 cache_control 不超过 4 个 - 已带计费块且有 metadata.user_id 的真实 Claude Code 请求原样放行, 重复应用幂等 接入点覆盖跨格式路径(apply_transport_request_body_semantics)和 原生 claude:messages 同格式路径,仅作用于 provider_type=claude_code。