content_block_start events 数百次碎片化 - Claude Code
Quick fix
升级到包含 b78192e8f 修复的下一版 cc-switch;该修复会忽略空 reasoning_content 并合并连续文本增量。
Symptom
Section titled “Symptom”continuous text is broken into dozens of separate lines.在 cc-switch 的 openai_chat 到 Anthropic SSE 转换中,当上游同一 delta 同时带有 content 和空的 reasoning_content 字段时,转换器会按字段是否存在处理区块生命周期。结果是每个内容增量都关闭文本块、打开空 thinking 块,再重新打开文本块,导致 Claude Code 将回复渲染为大量分行或项目符号。
该问题在 v3.16.3 和 v3.20.0 中均有复现记录。维护者确认修复已合并到 main(b78192e8f),将忽略空 reasoning_content,并把连续 content 增量追加到同一个 text 块;该修复将在下一版本发布。真正交错的非空 reasoning/content 以及每个 chunk 都携带 finish_reason: "" 的其他碎片化情形不在本页范围内。
升级到包含 b78192e8f 修复的下一版 cc-switch。升级后,如上游 delta 中的 reasoning_content 为空,cc-switch 应忽略它,并将连续的 content 增量合并到一个 text 块。
在修复版本发布前,可改用 LiteLLM 原生的 /v1/messages Anthropic adapter endpoint,或使用实现了正确内容块累积的其他适配器。
如果升级后仍可复现,按维护者要求通过本地代理提供原始 SSE 捕获并重新打开该 issue。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 1 个真实 issue
(暂无 FAQ)
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。