正文内容频繁出现在 thinking(思考)块内,visible text 块几乎为空 - CC Switch
Quick fix
升级 cc-switch 至包含 PR #4210 的版本,将预注入 thinking 占位符改为反应式处理即可解决长上下文会话冻结与正文折叠问题。
Symptom
Section titled “Symptom”正文内容频繁出现在 thinking(思考)块内,visible text 块几乎为空。cc-switch 默认对命中 REASONING_VENDOR_HINTS(含 "deepseek")的 provider 预注入合成型 {"type": "thinking", "thinking": "tool call"} 占位符。该逻辑最初用于兼容 DeepSeek 早期强制回传 thinking 块否则返回 400 的限制。
但在长上下文(如 cache_read 超过 150k tokens)或频繁使用工具调用的场景中,这些无法通过 GUI 开关或整流器拦截的合成占位符会不断累积,破坏 Anthropic 格式的响应结构,导致正文折叠进 thinking 块,最终引发 JSONL 停止写入与客户端 UI 冻结。近期上游已放宽该限制,预注入行为反而成为新的故障源。
升级 cc-switch 至包含 PR #4210 修复的版本(或最新 main 分支)。新版本已移除无条件预注入逻辑,改为仅在检测到上游明确返回 thinking must be passed back 等旧版 400 错误时才动态注入占位符。
Affected Versions
Section titled “Affected Versions”ToolClaude Code / Codex
Versionv3.16.2
PlatformsWindows
Source Issues
Section titled “Source Issues”本页汇总自 1 个真实 issue
- 如何临时绕过此问题?
- 可暂时关闭 cc-switch 的路由模式直接连接上游供应商,或等待官方合并 PR #4210 后升级客户端。
- 为什么以前不会报错现在会?
- 早期 DeepSeek 兼容层强制要求回传 thinking 块否则返回 400,cc-switch 为此预注入占位符;近期上游放宽了该限制,但预注入逻辑未同步调整,反而在长上下文中引发格式冲突。
API Error: 400 Param Incorrect Claude Code升级 CC Switch 到 v3.16.2 或更新版本,修复 MiMo thinking mode 下 reasoning_content 未回传导致的 400 错误。content[].thinking must be passed back升级 cc-switch 到 v3.16.0 或更高版本;临时可回退 Claude Code 到 2.1.150 或关闭 thinking。400 content[].thinking must be passed back升级 cc-switch 至 v3.15.0 及以上版本以修复思考块丢失问题,或降级 Claude Code 并改用 DeepSeek 原生 Anthropic 接口。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。