dsh-tool-adapt:DeepSeek Harness Web 的非官方模型兼容与安全适配层

前言

在 DeepSeek Harness Web 中使用非 DeepSeek 模型族时,开发者常遇到网关兼容性错误、会话死锁(连续失败)以及权限状态管理混乱的问题。dsh-tool-adapt 插件提供了一层兼容性与安全适配机制,旨在解决这些痛点,确保非官方模型在 DSH Web 环境下能更稳定地运行。

插件简介

这是一个面向 DeepSeek Harness Web 非 DeepSeek 模型族的兼容与安全适配层。它由 YrracOwl 维护,采用 MIT 许可证。

核心功能

该插件主要包含以下能力:

  1. 死会话防护:当会话处于“死”状态(例如沙盒权限已为 danger-full-access 或审批策略为 never)时,插件会从模型侧的工具架构中移除 sandbox_permissions 和 justification 字段,或对这些字段进行剥离,避免无限循环。
  2. 模型族惯例注入:根据模型族特性注入特定的调用约定。
  3. 熔断机制:对连续的失败请求进行熔断处理,防止网络或网关层面的抖动导致会话卡死。
  4. 生命周期安全的设置卡片:提供一种安全的配置管理方式,支持在设置面板中修改配置。
  5. 网关兼容性诊断与自动修复:检测并尝试修复因网关拒绝 developer 角色(supportsDeveloperRole)导致的 HTTP 422 错误。该诊断是被动报告的,除非开启自动修复开关,否则不会直接修改配置。
  6. Surface 超限恢复:将网关返回的 INVALID_REQUEST 错误重命名为 CONTEXT_WINDOW_EXCEEDED,以便 dsh-compaction-basic 插件能正确识别并执行恢复逻辑。

安装与启用

在终端执行以下命令安装插件:

dsh plugin --profile web add dsh-tool-adapt

安装后必须重启 DSH Web 进程。主机端在启动时扫描插件列表,重启后设置卡片和可选的状态胶囊才会出现。

启用方式取决于 DSH 版本:
* ≤ 0.1.5:在 设置 → 插件 中找到 ADAPT 卡片。
* ≥ 0.1.7-rc.2:在侧边栏的 插件 面板中找到 dsh-tool-adapt,点击其下的 tool-adapt 行的配置控件。

典型用法

插件支持热配置,修改后立即生效。

1. 显示状态胶囊
默认情况下,状态胶囊是隐藏的。在 ADAPT 卡片中,找到「显示状态胶囊」开关并开启,或在配置中设置 ui.pill 为 true。胶囊会出现在聊天输入框的四个角落之一,支持拖拽切换锚点。

2. 修复网关角色拒绝
如果遇到网关返回 HTTP 422 invalid_request_error,通常是因为网关不支持 developer 角色。在插件面板或配置中,针对对应路由修改以下配置:

providers:
  <route>:
    compat:
      supportsDeveloperRole: false

开启「网关 compat 自动修复」开关后,插件会在诊断时自动写入此配置。

3. 配置管理
完整的配置项可以在设置卡片中修改,或者在旧版 RC 环境中使用 settings.plugin.item 路径,在新版环境中使用 plugins.row.config 路径。

注意事项

  • 胶囊默认隐藏:状态胶囊默认不显示,需手动开启。
  • 配置热加载:通过设置卡片修改的配置会立即应用。
  • 旧版回退:DSH 0.1.2+ 使用 remote.settings 路径,旧版 RC 主机如果没有 remote.settings,会自动回退到 connection API。
  • 诊断被动性:网关兼容性诊断默认为被动模式(仅报告),不会自动修改配置,除非手动开启自动修复功能。
  • 依赖要求:需要依赖 @deepseek-ai/schemastery 版本 ≥ 3.18.4。

总结

dsh-tool-adapt 专注于解决非官方模型在 DSH Web 中的边缘兼容性问题。通过防护死会话、注入模型惯例和提供诊断修复工具,它降低了非官方网关集成的维护成本。更多细节可参考插件目录或GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜