Skip to content

v1.4.3:修复 GPT 改文件时报 invalid justification

Choose a tag to compare

@github-actions github-actions released this 27 Oct 07:01
· 7 commits to main since this release

修复 GPT 模型(GPT-6.1 Terra 上最明显)改文件或执行命令时报 Error: invalid justification: expected a non-empty sentence 的问题。

  • 原因:插件把 DSH 的工具发给 GPT 时没有写 strict,PackyCode 的 GPT 通道就按严格模式处理,模型被迫填满所有可选参数。DSH 的沙箱提权参数于是被填成 sandbox_permissions: "workspace-write" 加空的 justification,DSH 的 edit / write 拒绝了这次调用;会话不在 workspace-write 模式时,bash 也会拒绝。模型还会顺手编出 timeoutMs: 1000 之类的参数。四个 GPT 模型都有这个问题,1.4.2 之前就存在。
  • 修复:GPT 的工具定义现在显式带上 strict: false(官方 Codex 客户端也这样发),参数说明保持 DSH 原样。模型不再自己填沙箱参数;沙箱真的拦下命令时,它仍会带着理由申请提权,由你确认。
  • 其他模型:DeepSeek Flash 和 Grok 4.7 本来就不会填这些参数,不受影响;Claude 和 Gemini 走各自的协议,也没有变化。
  • 已经出错的会话:被拒的只是那一次工具调用,模型通常会换一种方式完成,不需要处理。

验证:537 项测试、两份构建和发布包检查通过,新测试在修复前会失败。用 DSH 0.2.1-rc.3 自带的工具定义实测:修复前 Terra 15 次调用全都带着空的 justification,其中一次 edit 被 DSH 以同样的报错拒绝;修复后 Terra 和 GPT-6.1 Sol 各 9 次调用都没有再填这两个参数,也没有被拒,沙箱拒绝命令后两者仍各 3 次带理由申请提权。全模型实测中十个模型正常回答;Gemini 4 Argon 当天已不在 PackyCode 的公开模型列表中,网关拒绝这个模型,与本次修复无关。新版本尚未在 DSH 桌面端验证。

在 DSH 插件管理中更新至 1.4.3,然后重新打开 DSH 加载新版。