dsh-custom-provider-settings:为 DeepSeek Harness 自定义供应商补充请求头与模型能力

前言

DeepSeek Harness(DSH)的插件生态遵循「一切皆插件」。这里需要区分:社区插件目录是独立站点,与 DeepSeek / 幻方没有官方从属关系,也不是官方应用商店。

对使用自定义 provider 的开发者来说,常见问题包括:端点要求特定 User-Agent 或额外 HTTP header;模型是否接受图片;推理档位如何暴露;OpenAI-compatible 端点不接受 developer role 时如何兼容。

下面介绍 dsh-custom-provider-settings。它由 supersealwqas 维护,MIT 许可,通过 DSH 插件系统加载,不修改 Harness 源文件。

这是什么

dsh-custom-provider-settings 是一个 WebUI 插件,为 DeepSeek Harness 增加全局模型请求头,并扩展自定义 provider 的 per-provider headers、图片输入声明、推理档位配置和 DeepSeek system-role compatibility。

它的核心边界是:

  • 全局请求头作用于所有 channel 和 model,包括 official DeepSeek、built-in third-party 和 custom providers。
  • per-provider headers、model capabilities 和 compatibility controls 仅作用于带 Custom tag 的 provider。

核心能力

全局请求头

  • 在 WebUI 中配置全局 User-Agent 和额外 headers,用于每次模型请求。
  • 清空全局 headers 后,可恢复 Harness 原始请求头行为。
  • 全局和 per-provider 的 User-Agent 字段都提供常见 presets,同时保留自由输入。

自定义 provider 请求头

  • 为带 Custom tag 的 provider 配置 User-Agent 和额外 HTTP request headers。
  • 同名字段中,匹配的 local values 优先于 global values。
  • 正常模型请求和 Fetch available models 都会使用这些请求头。
  • Fetch available models 使用当前 form 中已填入的 header 值,包括尚未保存的值。

模型输入与推理配置

  • 将每个 custom model 声明为 text-only 或 text-and-image capable。
  • 配置每个 model 暴露的 reasoning levels,并将每个 level 映射到发给其 API 的值。
  • 设置 provider-level default reasoning level。
  • openai-completions providers 配置 reasoning parameter format。

system-role compatibility

  • 对 compatible custom OpenAI provider,当端点拒绝 developer messages 时,可管理 DSH 的 native compat.supportsDeveloperRole switch。
  • 该 checkbox 是 WebUI 层面对 DSH native pi-ai compatibility setting 的封装,不拦截或重写 JSON request body。

安装与启用

前置条件

  • Node.js ^22.19.0>=24.0.0;推荐 Node.js 24 LTS。
  • DeepSeek Harness 0.1.1-rc.2 或兼容版本,且具备 web profile 和 native supportsDeveloperRole support。
  • 安装、升级或移除插件前,停止正在运行的 WebUI;命令完成后重启 WebUI。
  • 插件通过 DSH 插件系统加载,运行权限取决于启动 DSH 的进程。安装前请检查源码、MIT 许可和自身环境。

安装命令

下面的命令安装 v0.5.0 release TGZ。该 URL 在此 reviewed version 发布为 GitHub Release 后可用。

npx --yes -p @deepseek-ai/dsh dsh plugin --profile web add https://github.com/supersealwqas/dsh-custom-provider-settings/releases/download/v0.5.0/dsh-custom-provider-settings-0.5.0.tgz

命令完成后,重启 WebUI 使插件生效。

典型用法

  1. 打开 Settings > Models
  2. 在模型列表顶部的 Global model request headers 区域输入 User-Agent 或其他 headers;留空可保持 Harness defaults。
  3. 编辑一个已经包含模型的 Custom tag provider,或选择 Add provider > Add a custom provider 并输入其 models。
  4. 在插入的 per-provider Request headers 区域配置该 provider 的 headers;匹配的 local values 优先于 global values。
  5. 对 compatible custom OpenAI provider,如果端点拒绝 developer role,启用 Use the system role
  6. Model capabilities 下选择每个 model 的 input 和 reasoning capabilities;仅当 API 和 model 都支持 image input 时选择 Text and images only
  7. 使用原有 ApplyCreate provider 按钮。
  8. 新建会话并选择该 model;global headers 会自动应用。

User-Agent presets

全局和 per-provider 的 User-Agent 字段包含以下 presets:

claude-cli/2.1.161 (external, cli)
claude-cli/2.1.161
claude-code/1.0.0
claude-code/0.1.0
Kilo-Code/1.0

字段仍可手动输入其他 User-Agent

使用注意

  • 全局 headers 会影响所有 channel 和 model,配置前确认不会改变官方 DeepSeek 或内置第三方 provider 的行为。
  • per-provider 设置只作用于带 Custom tag 的 provider。
  • Text and images only 只是向 Harness 声明模型能力;它不能为不支持视觉的 API 或 model 增加 vision support。
  • system-role 设置面向 DSH native compatibility setting,不是请求体改写。
  • 已保存在 settings.yaml 的全局 headers 和 provider extension fields 不会自动删除。
  • v0.5.0 TGZ 命令是否可立即使用,取决于该版本是否已作为 GitHub Release 发布。

链接

GitHub:

https://github.com/supersealwqas/dsh-custom-provider-settings

插件线索中的目录页(未独立核实):

https://www.skillhub.cn/plugins/supersealwqas/dsh-custom-provider-settings

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

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

Xiaoye