你们在 zcode v3.3.3 使用 opencode go glm-5.2 出问题了吗?

3 小时 14 分钟前
 bwnjnOEI

前提不使用任何 LLM Gateway

如题,今天出问题了 zcode 加了字段 opencode 那边不认

ZCode 报错信息

报错摘要
Error from provider: Extra inputs are not permitted, field: 'extra_body'

TraceID: a3c0beb8-c0db-4d7f-a8f7-b2fd7e44f26a

报错详情
Turn execution failed
provider=e6946690-f10b-4b8d-8fd1-4fe4895658ff provider_code=invalid_request_error model=glm-5.2 request=ba64ec8b-2a19-4db1-8391-f76b18f5d290 reason=invalid_request status=400 retryable=false

让 cc opus 修复了内容如下,发给你的 agent 让他帮你修,替你省 token:

做了什么
备份了原始文件:/opt/ZCode/resources/glm/zcode.cjs.bak

Patch 了 hbn() 函数( zcode.cjs 位置 ~1958824 ):

之前:extra_body: { chat_template_kwargs: { reasoning_effort: "max" } } → 被展开到请求体顶层,opencode 代理不认
之后:reasoningEffort: "max" → 标准 OpenAI 兼容字段,被 AI SDK 提取为 reasoning_effort
Patch 了 fPo() 函数(位置 ~8919210 ):

"off" 推理级别的 extra_body: { thinking: { type: "disabled" } } → reasoningEffort: "low"
config.json 也保留了 reasoning 配置(作为额外保护层,虽然实际上被 bbn defaults 覆盖了)

为什么 config.json 单独不够
ZCode 的 bbn 模型默认配置数组中有两条规则匹配 glm-5.2:

glm-thinking-toggle (匹配所有含 "glm" 的模型)
glm-5.2-reasoning-depth (匹配 glm-5.2 )
两条都设置了 replaceReasoning: true ,在 AZt() 函数中强制覆盖 config.json 中的 reasoning 配置。所以必须 patch 源码。

也不知道 glm coding plan 买不到用别人家的也不让用是怎么个意思?

另外你还需生成配套的升级防覆盖脚本

187 次点击
所在节点    程序员
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1226195

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX