前言¶
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 仅作用于带
Customtag 的 provider。
核心能力¶
全局请求头¶
- 在 WebUI 中配置全局
User-Agent和额外 headers,用于每次模型请求。 - 清空全局 headers 后,可恢复 Harness 原始请求头行为。
- 全局和 per-provider 的
User-Agent字段都提供常见 presets,同时保留自由输入。
自定义 provider 请求头¶
- 为带
Customtag 的 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-completionsproviders 配置 reasoning parameter format。
system-role compatibility¶
- 对 compatible custom OpenAI provider,当端点拒绝
developermessages 时,可管理 DSH 的 nativecompat.supportsDeveloperRoleswitch。 - 该 checkbox 是 WebUI 层面对 DSH native
pi-aicompatibility setting 的封装,不拦截或重写 JSON request body。
安装与启用¶
前置条件¶
- Node.js
^22.19.0或>=24.0.0;推荐 Node.js 24 LTS。 - DeepSeek Harness
0.1.1-rc.2或兼容版本,且具备webprofile 和 nativesupportsDeveloperRolesupport。 - 安装、升级或移除插件前,停止正在运行的 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 使插件生效。
典型用法¶
- 打开
Settings > Models。 - 在模型列表顶部的
Global model request headers区域输入User-Agent或其他 headers;留空可保持 Harness defaults。 - 编辑一个已经包含模型的
Customtag provider,或选择Add provider > Add a custom provider并输入其 models。 - 在插入的 per-provider
Request headers区域配置该 provider 的 headers;匹配的 local values 优先于 global values。 - 对 compatible custom OpenAI provider,如果端点拒绝
developerrole,启用Use the system role。 - 在
Model capabilities下选择每个 model 的 input 和 reasoning capabilities;仅当 API 和 model 都支持 image input 时选择Text and images only。 - 使用原有
Apply或Create provider按钮。 - 新建会话并选择该 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 设置只作用于带
Customtag 的 provider。 Text and images only只是向 Harness 声明模型能力;它不能为不支持视觉的 API 或 model 增加 vision support。- system-role 设置面向 DSH native compatibility setting,不是请求体改写。
- 已保存在
settings.yaml的全局 headers 和 provider extension fields 不会自动删除。 v0.5.0TGZ 命令是否可立即使用,取决于该版本是否已作为 GitHub Release 发布。
链接¶
GitHub:
https://github.com/supersealwqas/dsh-custom-provider-settings
插件线索中的目录页(未独立核实):
https://www.skillhub.cn/plugins/supersealwqas/dsh-custom-provider-settings