解铃还须系铃人,我找了半天不知道什么原因,还以为是软件升级,或者token失效,都没解决。其实很简单,问了一下claude 桌面软件,4.8版本回答说是:就是你一个问题,中途换了不同模型回答,所以导致找不到还是什么鬼,解决办法就是再开一个新会话就行了。槽蛋

诊断了思维块签名失效问题,推断插件更新触发,提供五项修复方案。

诊断了思维块签名失效问题,推断插件更新触发,提供五项修复方案。

先帮你定位一下:这其实不是 PyCharm 或插件本身"打不开/坏了",插件运行是正常的。报错是你发消息时 Anthropic API 返回的 400,问题出在会话历史里的"思考块"(thinking block) 签名校验失败

你用的应该是 JetBrains 上的 CC GUI (Claude or Codex) 这个插件。它的报错 messages.1.content.0: Invalid signature in thinking block 是一个挺常见的已知问题。

为什么会这样

开启扩展思考(extended thinking)时,每个思考块都带一个加密签名,这个签名和具体模型、以及当时生成的内容是绑定的。当你继续/恢复一个旧会话时,插件会把之前的思考块连同签名一起重新发回 API。一旦签名对不上,就会 400。如果保存会话时没有有效签名,思考块本应被剥离,否则恢复会话就会失败。

最容易触发的几种情况,刚好都符合你"前几天还能用"的描述:

  • 模型被切换了。签名是绑定模型的,在同一个对话里从一个 Claude 模型切到另一个(比如 Opus 切 Sonnet)就会报这个错。如果你换了模型版本(插件最近加了 Opus 4.6 支持)、或在 Claude 与 Codex 之间切、或换了后端(官方 API ↔ 第三方代理/GLM/镜像),旧会话的签名就全失效了。 GitHub
  • 插件刚更新过。这个插件两天前才发过新版本,其中就包含会话恢复、历史 payload 处理相关的改动。更新后再去恢复更新前的旧会话,签名/历史格式容易对不上。
  • 你在恢复一个旧 session,而那个 session 里第一条助手消息正好是带签名的思考块(对应报错里的 messages.1)。

怎么修(按从简到繁排)

  1. 新建一个会话,别去"继续/恢复"那个旧对话。损坏的思考块就存在旧会话历史里,开新会话最快也最稳。
  2. 一个会话里别中途换模型/换后端。如果你确实切过模型或代理,要么切回原来那个,要么直接开新会话。
  3. 临时关掉思考功能:把推理力度(reasoning effort)调到最低或关闭扩展思考。不产生思考块,自然就不会有签名问题——可作为临时绕过方案。
  4. 确认插件版本:如果是更新后才坏的,可以等下一版修复;如果旧会话对你很重要,也可考虑回退到更新前那一版再恢复会话。

最省事的就是第 1 条,先开个新对话试一下能不能正常发消息。如果新会话也立刻报同样的错,那大概率是模型/后端配置的问题(第 2 条),把模型和接入方式确认一下再告诉我,我帮你接着排查。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐