DeepSeekDSH
独立社区指南与 DeepSeek 无隶属关系。官方源码快照

给 DSH 配置自定义 Provider

当模型服务不在 DSH 内置 Provider 列表中时再用这篇。先通过 Web UI 配置,只有界面无法表达的高级选项才修改 YAML。

本页内容
已有内置 Provider 时不要优先自定义

自定义 Provider 主要用于公司网关、自建服务或未收录服务。内置 Provider 已带有 endpoint、protocol 和模型目录信息,配置更简单。

什么时候应该使用自定义 Provider

公司网关

公司统一提供一个 OpenAI-compatible 地址,而不是让客户端直接访问上游模型厂商。

自建服务

模型服务运行在自己的服务器或内网,需要 DSH 指向指定 Base URL。

目录中没有

在 Add provider 中找不到目标服务,需要自行填写协议、凭据与模型。

第 1 步

在 Settings → Models 创建 Provider

打开 Settings → Models → Add a custom provider,填写小写 Provider ID、显示名称、Base URL、API protocol 和至少一个模型。

Provider ID 要一次想好

请求、已保存会话、默认模型和凭据引用都会使用这个 ID。改名不是直接编辑,而是新建 Provider 后删除旧 Provider。

OFFICIAL DSH SCREENSHOT · Add a custom provider
DeepSeek Harness 官方自定义 Provider 表单
官方 DSH Provider 表单;开发者预览期间界面文字可能变化。
第 2 步

配置凭据

最简单的是在 Web UI 输入凭据并保存。DSH 会把托管凭据与普通 Settings 分开保存,浏览器只拿到脱敏后的描述。

使用 YAML?

apiKeyEnv 填的是“环境变量名称”,不是密钥本身。环境变量必须在 DSH 启动前存在;修改后重新启动 DSH。

apiKeyEnv: GATEWAY_API_KEY
第 3 步

添加或发现模型

如果网关实现了 OpenAI-compatible GET /models,可用 Fetch available models。如果聊天接口能用但模型发现失败,很可能只是网关没有实现该接口,确认模型 ID 后手工填写即可。

第 4 步

保存后用新会话测试

保存 Provider,在模型选择器里选中它的模型,再创建一个新的测试会话。

只回复“custom provider connected”,不要修改文件,也不要运行命令。

Provider 修改会在下一次请求生效,通常不需要重启服务器。已经发送过请求的旧 Session 会保留它自己的模型记录,因此验证模型切换时建议新建 Session。

Key 和 URL 都对,但所有请求仍被拒绝

“OpenAI-compatible” 不代表所有字段完全一致。部分网关不接受 reasoning 模型的 developer role,或只认识 max_tokens 而不接受 max_completion_tokens

llm-pi-ai: providers: my-gateway: apiKeyEnv: GATEWAY_API_KEY api: openai-completions baseURL: https://gateway.example/v1 compat: supportsDeveloperRole: false maxTokensField: max_tokens models: - id: my-model

只有在凭据、Base URL 和模型 ID 已确认无误后再修改 $DSH_HOME/settings.yaml。兼容字段会改变实际请求结构,不要盲目添加。

图片输入需要显式声明

手工添加的模型默认按文本模型处理。确认服务端确实支持图片后,在对应模型上添加 input: [text, image]

这只是声明,不是自动检测

如果后端实际上不支持图片,即使 DSH 允许上传,Provider 仍会拒绝请求。

常见问题

MISSING_CREDENTIAL

在 Settings → Models 保存凭据,或确认 apiKeyEnv 指向的环境变量在 DSH 启动时已经存在。

UNKNOWN_MODEL

选择已配置模型,或把缺失模型 ID 添加到 Provider。

Fetch available models 返回 401

检查模型发现请求使用的凭据;如果网关没有 GET /models,直接手工添加模型。

只有 reasoning 模型失败

网关可能不接受 developer role,按官方 Provider 文档核对 compat 设置。

删除 Provider 后页面提示 Select model

默认模型仍可能指向被删除的 Provider ID,重新选择一个当前可用模型。

下一篇网络或代理仍然阻塞 Provider?
打开代理指南 →