在使用 DeepSeek Harness (DSH) 构建智能体时,部分模型由于后训练倾向,会在工具调用参数中自动携带 sandbox_permissions 及其配套的 justification 字段。当会话权限已处于较高层级(例如完整访问权限)时,这些携带的值往往不是“严格加宽”的,从而触发 DSH 沙箱的误拒绝错误:
Error: sandbox escalation to "workspace-write" is not strictly wider than this call's current "workspace-write" mode
这种情况下,开发调试会中断,需要反复调整提示词或权限配置。
插件介绍¶
dsh-strip-sandbox-permissions 是一个零依赖的 DeepSeek Harness (DSH) 插件。它由用户 Sharl210 维护,位于 admin-security 分类下。插件的核心功能是在模型工具调用参数对象中删除 sandbox_permissions 和 justification 字段,从而避免因权限字段导致的误拒绝。
工作原理¶
每一个模型的工具调用都会经过 llm/stream 瀑布流,这是所有适配器的必经拦截点。插件在 block-end 块中解析工具调用参数对象,删除顶层的这两个升级专属字段,然后重新序列化输出。
插件仅剥离这两个字段,其余参数原样保留。如果这两个字段不存在,则直接零开销透传原始块。同时,插件具备容错能力,对于无效 JSON、非对象参数以及非工具调用块,会保持原样不做处理。
安装与启用¶
插件通过 npm 发布。安装步骤如下:
dsh plugin --profile <your-profile> add dsh-strip-sandbox-permissions
安装完成后需要重启 DSH 才能生效。可以通过以下命令验证插件是否安装成功:
dsh plugin --profile <your-profile> list
适用场景与注意¶
该插件适用于希望绕过模型工具调用中自动携带的权限字段,防止因严格权限检查导致的误拒绝场景。
注意事项:
* 插件以当前 DSH 进程的权限运行,安装前建议检查源码。
* 插件遵循 MIT 许可证。
通过上述步骤,开发者可以消除由模型后训练倾向引起的沙箱误拒绝,确保工具调用流程顺畅。