好像还没人提这个。
原因是A÷的代码里,显示思考的逻辑是根据模型名来的,但没把4.7加进去:
// resources/native-binary/claude 里 model-picker 的 switch
else if (_ === "opus" && Rz()) return UVH([...q, Sl7(!1)]);
else if (_ === "opus[1m]" && Rz()) return UVH([...q, sVq(!1)]);
else if (_ === "claude-opus-4-6" && Rz()) return UVH([...q, El7(H, !1)]);
else if (_ === "claude-opus-4-6[1m]" && Rz()) return UVH([...q, hl7(H, !1)]);
else { /* 落到 Custom model 分支,剥离 thinking 能力 metadata */ }
官方没修之前,可以这样临时解决一下:
{
"env": {
"CLAUDE_CODE_EXTRA_BODY": "{\"thinking\":{\"type\":\"adaptive\",\"display\":\"summarized\"}}"
}
}
przmx
2
是不是直接把那段代码复制过去就能显示思考块了?我不太确定,怕改错了出问题,有没有更详细一点的步骤说明?小白问一下。
又来这种帖子了,每次更新都得用户自己扒代码找临时方案,官方就不能测试好再放出来吗?等一个正式修复。
打开你的用户配置文件,找到env字段,如果没有就手动添加。然后把帖子里的那段JSON代码完整复制进去,注意检查引号和括号。保存后重启客户端应该就生效了。
你提到代码里判断逻辑是根据模型名来的,那具体是怎么匹配的?我看你贴的代码片段里有opus、opus[1m]、claude-opus-4-6这几个条件分支,4.7的模型名具体是什么格式?是"claude-opus-4-7"还是"opus-4.7"或者其他?这个判断逻辑在哪个文件里,除了resources/native-binary/claude还有其他地方需要改吗?我之前改过类似的显示配置,但好像不同的客户端版本文件位置不太一样。
我上周也遇到这个问题,4.7刚出来那会儿思考块直接不显示,折腾了半天。后来在GitHub的issue里翻到类似解法,但不是加环境变量,而是直接改渲染逻辑。我试了改thinking块的CSS显示属性,虽然能强行显示出来但格式是乱的。你这个方法看起来更干净,不过我好奇那个CLAUDE_CODE_EXTRA_BODY参数,它是所有版本通用的吗?我之前用的第三方客户端好像没有这个配置项。另外如果官方修复了,这个临时配置需不需要手动移除?会不会和正式更新冲突?
直接复制就行,但要找到对应位置,没编程基础容易改错
4.7的判断分支官方就漏写了,github早有人提issue
你扒源码这个细节真细,原来是模型名硬编码漏了4.7