li
64090de664
fix(apicompat): Responses→Anthropic 转换不再发出上游会拒收的 content block
convertResponsesInputToAnthropic 的 default 分支把未知 item 的 content 逐字
透传成 Anthropic user 消息,Responses 专有的分片类型会原样进入上游请求体。
最典型的是工具执行后回放的 reasoning item:带 content 数组时,reasoning_text
块直接发给 Anthropic,上游回 400 Request body format invalid,而该 item 会一直
留在会话历史里,导致此后每一轮都继续失败。
同时修正两处会产出空内容消息的路径——Anthropic 拒收空内容消息与空白 text 块:
分片全部不可识别时,user 消息退化成 content:""、assistant 消息退化成单个空
text 块。
改动:
- type=reasoning 显式跳过。Anthropic 无法摄入 OpenAI reasoning:encrypted_content
不透明,thinking 重放需要上游签发的 signature。Codex 常见形态(只带 summary +
encrypted_content)本来就会被丢弃,这里让带 content 的形态行为一致。
- default 分支改走 convertResponsesUserToAnthropicContent 白名单转换,保留其中
可识别的文本/图片,丢弃其余分片。
- user / assistant 分支在转换结果为空内容或纯空白文本时跳过该消息。
Fixes #5329
2026-08-07 23:09:03 +08:00
..
2026-07-20 11:39:37 +08:00
2026-07-19 13:05:24 +08:00
2026-07-17 03:35:26 +00:00
2026-07-19 15:00:09 +08:00
2026-07-19 13:05:24 +08:00
2026-07-19 13:05:24 +08:00
2026-07-15 14:31:26 +08:00
2026-07-09 22:52:35 +08:00
2026-07-31 19:36:47 +08:00
2026-05-31 16:14:58 +08:00
2026-06-26 00:58:38 +08:00
2026-07-10 20:46:38 +08:00
2026-07-31 19:36:47 +08:00
2026-07-09 22:52:35 +08:00
2026-07-05 13:58:08 +08:00
2026-07-19 13:05:24 +08:00
2026-07-27 08:19:19 +08:00
2026-07-27 08:19:19 +08:00
2026-07-14 14:48:22 +08:00
2026-07-13 14:38:05 +08:00
2026-07-12 04:53:34 +08:00
2026-07-10 17:38:17 +08:00
2026-06-03 17:26:05 +08:00
2026-07-09 15:34:10 +08:00
2026-08-07 23:09:03 +08:00
2026-07-15 00:59:28 +08:00
2026-07-15 14:31:26 +08:00
2026-08-07 23:09:03 +08:00
2026-07-27 08:19:19 +08:00
2026-07-27 08:19:19 +08:00
2026-07-20 11:39:37 +08:00
2026-06-06 00:59:27 +08:00
2026-07-13 12:08:32 +08:00
2026-07-15 14:31:26 +08:00
2026-07-27 08:19:19 +08:00