Repository navigation
v1.4.3:修复 GPT 改文件时报 invalid justification
修复 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 加载新版。