reactive-resume
reactive-resume
A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!
supersealwqas/dsh-custom-provider-settings
DeepSeek Harness 第三方 API 与自定义模型设置插件:支持请求头、User-Agent、模型列表、图像输入和思考等级 | WebUI plugin for third-party APIs and custom models with request headers, image input, and reasoning levels
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:supersealwqas/dsh-custom-provider-settings
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
中文 | English
为 DeepSeek Harness WebUI 增加全局模型请求头,并为用户添加的自定义模型提供方补充局部请求头、图像输入、思考等级和原生 system 角色兼容设置。插件通过 DSH 插件机制加载,不修改 Harness 源代码。
全局请求头会作用于所有渠道和所有模型,包括 DeepSeek 官方、内置第三方和自定义提供方;局部请求头、模型能力和兼容性设置仍只显示在带“自定义”标记的提供方中。
User-Agent 和其他 HTTP 请求头。User-Agent 和其他请求头,作为所有模型 API 请求的通用请求头。User-Agent 提供常用预设,同时保留自由输入。openai-completions 提供方配置思考参数格式。compat.supportsDeveloperRole,兼容拒绝 developer 消息的 OpenAI 协议第三方接口。插件会在原有的自定义提供方表单中插入请求头和模型能力配置。红框区域展示了 User-Agent、其他请求头、图像输入、默认思考等级以及每个模型的思考等级映射。

启用的思考等级会出现在对话输入框中。图中提供 Default、Off、Low、Medium、High、Xhigh 和 Max,并选择了 Xhigh。

^22.19.0 或 >=24.0.0,建议使用 Node.js 24 LTS。dsh plugin 会在 Web profile 目录中调用 pnpm 管理插件。0.1.1-rc.2 或兼容版本的 web profile,并且原生支持 supportsDeveloperRole。可先在 PowerShell 中检查环境:
node --version
npx --version
git --version
corepack enable
pnpm --version
如果 corepack enable 因权限不足失败,请使用管理员 PowerShell 再执行一次,或者按照 pnpm 官方安装说明安装。
安装、升级或卸载插件前,建议先停止正在运行的 WebUI,操作完成后再重新启动。
这种方式安装经过测试的固定版本,不会随着 main 分支变化。安装 v0.5.0:
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:
npx --yes -p @deepseek-ai/dsh dsh web
WebUI 默认地址为 http://127.0.0.1:3080。如果已经全局安装 dsh,可以使用更短的 dsh plugin ... 和 dsh web。
这种方式直接安装仓库当前的 main 分支,适合希望立即获取最新改动的用户。首次运行时,npx 会下载官方 DSH NPM 包及其依赖:
npx --yes -p @deepseek-ai/dsh dsh plugin --profile web add github:supersealwqas/dsh-custom-provider-settings
安装完成后启动 WebUI:
npx --yes -p @deepseek-ai/dsh dsh web
这种方法适合修改或调试插件。进入本仓库后生成 TGZ 安装包,再安装到 Web profile:
New-Item -ItemType Directory -Force .\dist
npm pack --pack-destination .\dist
npx --yes -p @deepseek-ai/dsh dsh plugin --profile web add .\dist\dsh-custom-provider-settings-0.5.0.tgz
npx --yes -p @deepseek-ai/dsh dsh web
dist 目录和 TGZ 文件已被 .gitignore 忽略,不会上传到仓库。
停止 WebUI 后,再次执行对应的 add 命令即可更新插件,不需要先卸载。使用 TGZ 方式时,请把安装命令中的版本号和文件名改为目标版本,可用版本见 Releases。完成后重新启动 WebUI。
npx --yes -p @deepseek-ai/dsh dsh plugin --profile web remove dsh-custom-provider-settings
重新启动 WebUI 后,插件加入的配置区域和功能会被移除;已经写入 settings.yaml 的全局请求头和提供方扩展字段不会被主动删除。
User-Agent 或其他请求头。留空表示继续使用 Harness 内置默认请求头。developer 角色,请勾选“使用 system 角色发送系统提示词”。已有原生 supportsDeveloperRole: false 配置会自动显示为已勾选。“获取可用模型”会使用同一表单中当前填写的请求头,包括尚未保存的值。因此,必须依赖特定 User-Agent 或其他请求头的接口也可以正常获取模型列表。
全局请求头也会用于模型发现请求。请求头合并顺序为 Harness 默认值、全局请求头、自定义提供方局部请求头,因此局部同名字段的优先级最高。
全局和自定义提供方局部的 User-Agent 输入框都提供以下预设:
claude-cli/2.1.161 (external, cli)claude-cli/2.1.161claude-code/1.0.0claude-code/0.1.0Kilo-Code/1.0选择预设后会替换输入框当前内容;输入框仍然可以手动编辑,也可以填写列表之外的任意 User-Agent。
VISION-7392。模型正确返回字符串,说明 Harness 已接受附件,并且接口成功处理了图片。这个设置只是向 Harness 声明模型能力,无法让原本不支持视觉输入的 API 或模型获得图像识别能力。
这个复选框只是 DSH 原生 pi-ai 兼容配置的 WebUI,不会由插件拦截或改写 JSON 请求体。
compat.supportsDeveloperRole: false。supportsDeveloperRole,恢复 DSH/pi-ai 自动检测。compat 下的 thinkingFormat、supportsReasoningEffort 等其他配置。只有原生 pi-ai 兼容类型支持该字段的 OpenAI 协议自定义提供方才会显示此选项。
下面的示例展示了 settings.yaml 中实际的命名空间层级:
dsh-custom-provider-settings:
globalHeaders:
User-Agent: my-global-client/1.0
X-Client-Name: all-models
llm-pi-ai:
providers:
agdsf:
headers:
User-Agent: my-client/1.0
X-Client-Name: my-client
reasoning: high
compat:
thinkingFormat: deepseek
supportsDeveloperRole: false
models:
- id: example-model
input: [text, image]
reasoningEfforts:
low: low
medium: medium
high: high
请求头值会以普通文本存入 settings.yaml。API 密钥和其他秘密信息应放在 Harness 的凭据字段中,不要写进自定义请求头。
清空全局请求头会删除全局覆盖配置,并恢复 Harness 原有的请求头行为;清空某个提供方请求头只会清除该提供方的额外覆盖。
确认插件已安装到 web profile,并在安装后重启 WebUI。全局请求头区域位于“模型”列表顶部;自定义提供方中没有模型时,不会出现可编辑的模型能力配置。
先确认 Base URL、API Key 和 API 协议正确,再检查接口要求的 User-Agent 或其他请求头是否已经填写。插件会把表单中尚未保存的请求头一起用于本次模型列表请求。
保存提供方后新建对话并重新选择模型。思考等级必须在对应模型上启用;图像上传还要求该模型被声明为“文本与图像”。
编辑对应的兼容 OpenAI 协议自定义提供方,勾选“使用 system 角色发送系统提示词”并保存,然后新建对话。这个设置只作用于当前提供方,官方 DeepSeek 和其他自定义提供方的消息角色保持原样。
重新启动 WebUI 后再打开提供方编辑页面。复选框会读取原生 llm-pi-ai.providers.<provider>.compat.supportsDeveloperRole 的有效值。如果 YAML 中已经是 false,界面仍未勾选,请强制刷新页面,确保浏览器加载当前版本的插件前端代码。
0.1.1-rc.2 的插件接口和 WebUI 开发。declared: true 的提供方。npm test
node --check client.js
npm pack --dry-run
思考等级客户端逻辑改编自 JuneLearn/dsh-reasoning-settings,遵循 MIT License。
本项目使用 MIT License,详见 LICENSE。许可证同时保留本仓库和改编来源的版权声明。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: model-provider、multimodal、openai-compatible、web-ui。