在 DSH 智能体开发中,当会话处于 danger-full-access 模式时,模型常发送空的 justification 或重申当前模式。这会导致校验报错。该插件修复了 pwsh、bash、fs 和 dsh-sandbox 中相关的两个 bug。
核心功能¶
该插件通过双层防御机制解决上述问题:
- Schema 描述更新:优化字段说明,减少模型发送空值或冗余请求的倾向。
- 运行时规范化:在工具执行或策略解析入口添加逻辑,当请求的模式未严格宽于当前模式时,自动清理无效的升级参数。
插件会自动检测并修改 DSH_HOME 和桌面安装目录,确保补丁生效。
安装¶
使用官方命令安装插件:
dsh plugin --profile web add dsh-sandbox-permissions-not-strictly-wider-justification-empty-fix@latest
安装后,插件会在首次加载时自动应用补丁。
卸载与恢复¶
若需卸载该插件,需先恢复原始文件,再移除插件:
Step 1:进入插件目录并执行恢复脚本:
cd $env:DSH_HOME\profiles\web\node_modules\dsh-sandbox-permissions-not-strictly-wider-justification-empty-fix
node scripts/patch.js restore
此命令会调用备份文件,将 dsh-sandbox、dsh-tool-pwsh、dsh-tool-bash 和 dsh-tool-fs 恢复至原始状态。备份存储在 $env:DSH_HOME\backups\dsh-sandbox-permissions-not-strictly-wider-justification-empty-fix\,不受插件移除影响。
Step 2:移除插件:
dsh plugin --profile web remove dsh-sandbox-permissions-not-strictly-wider-justification-empty-fix
适用场景与注意¶
- 适用场景:所有使用非默认模型,且会话可能进入
danger-full-access模式的场景。 - 注意事项:插件以当前 DSH 进程的权限运行,修改的是工具实现文件。安装前建议检查源码与许可证(MIT)。
该插件兼容最新的 dsh-std 插件元协议,不会与其他插件产生冲突。