DeepSeek Harness 模型提供方怎么配?providers 与 DSH plugin 换模型实操
DeepSeek Harness 的模型提供方在界面「设置 → 模型」里配置,内置 anthropic、openai、moonshotai、zai 等 provider id;API 密钥写进 $DSH_HOME/.credentials.yaml,providers 配置块则落在 cordis.patch.yml。 这篇按「在哪配 → 存在哪 → 报错怎么修」三步讲清模型接入。
DeepSeek Harness 模型提供方在哪配:内置 provider 与「设置 → 模型」
DeepSeek Harness 的模型提供方在界面「设置 → 模型」里配置,内置 id 包括 anthropic、openai、moonshotai、zai,选好之后填密钥与模型名即可(来源)。 按下面步骤走一遍:
- 打开设置面板 — 进入「设置 → 模型」,看到已内置的 provider 列表。预期:
anthropic、openai、moonshotai、zai这些常用 id 可以直接选,不必从零加。 - 选一个 provider id — 用官方内置 id 时只补模型名;接自建或第三方兼容服务时,才需要自己填
baseURL与api协议。预期:api取值为openai-completions、openai-responses、anthropic-messages之一。 - 填模型名 — 在该 provider 下填要用的模型。预期:模型名必须与提供方实际暴露的名称一致,否则请求会报
UNKNOWN_MODEL。 - 保存并验证 — 保存后直接发一次请求。预期:能正常返回即接入成功;改动在下一次请求生效,无需重启。
DeepSeek Harness 的模型密钥存哪:.credentials.yaml 与 providers 配置块
DeepSeek Harness 的 API 密钥存在 $DSH_HOME/.credentials.yaml(界面保存一次即写入),而 provider 的结构化配置写成 $DSH_HOME/profiles/<profile>/cordis.patch.yml 里的 providers 块(来源)。 需要手写结构化配置时,字段按下面来:
providers— 一个以 provider id 为键的配置块,声明这个提供方的连接与模型信息。apiKeyEnv— 指定到哪个环境变量取密钥,适合不想把明文写进文件的场景。baseURL与api— 自定义服务的地址与协议;协议决定请求体格式。models/modelOverrides—models列出该 provider 支持的模型,modelOverrides只覆盖其中某个模型的参数。input/defaultInput— 声明输入模态,图片能力相关的配置就落在这一层。reasoning/reasoningEfforts— 控制推理档位;档位不被支持时会报UNSUPPORTED_REASONING_EFFORT。compat— 兼容性开关,含thinkingFormat、supportsDeveloperRole、maxTokensField,用于适配不同家的接口差异。
# $DSH_HOME/profiles/<profile>/cordis.patch.yml(结构示意)
providers:
openai:
apiKeyEnv: OPENAI_API_KEY
baseURL: https://api.openai.com/v1
api: openai-completions
models:
- gpt-4o
密钥真身放在凭据文件、结构化开关放在 patch 文件——两者分开,是 DeepSeek Harness 的默认设计。模型接通后想再装个 DSH插件 补记忆或检索能力,可以在 DSH Plugin Hub 里挑,装完再回设置页配模型。

DeepSeek Harness 报 MISSING_CREDENTIAL、UNKNOWN_MODEL 怎么修
MISSING_CREDENTIAL 是找不到可用凭据、UNKNOWN_MODEL 是模型名不在 models 列表里、UNSUPPORTED_REASONING_EFFORT 是推理档位不被支持——三类报错各有固定修法(来源)。 按报错分类处理:
- 先看报错码 — 错误信息里会直接给码。预期:先分清是凭据问题还是模型问题,别急着重装。
MISSING_CREDENTIAL— 回「设置 → 模型」重新保存一次密钥;若用apiKeyEnv,确认该环境变量在启动 DeepSeek Harness 的环境里存在。预期:保存后下一次请求即可通过。UNKNOWN_MODEL— 核对模型名拼写与大小写,或把该模型补进providers块的models。预期:模型名对上了报错消失。UNSUPPORTED_REASONING_EFFORT— 降一档到该模型支持的reasoningEfforts。预期:换成受支持档位后请求正常。- 改了不生效 — 确认改动写在当前实际使用的 profile 里。预期:换 profile 试一次即可排除「写错层」。
DeepSeek Harness 模型配置的注意事项与局限
.credentials.yaml是明文敏感文件:里面同时有 API 密钥与浏览器会话签名密钥,不要提交、不要截图外发。settings.yaml存的是引用不是真身:密钥真身在.credentials.yaml,别把明文密钥硬写进其他配置。api协议要对上服务:用openai-completions去接 anthropic 风格接口会失败,选协议前先确认对方接口格式。- 推理档位不是所有模型都支持:
reasoningEfforts填了不被支持的档位会直接报错,参考模型文档再填。 - 配置有层级:
providers写在哪个 profile 只影响哪个 profile,跨 profile 的完整合并顺序见《DeepSeek Harness 配置层级怎么合并》。
模型接好之后,如果要换一台机器或换网络环境,代理与证书往往也要一起配,见《DeepSeek Harness 怎么配网络代理》。
常见问题
DeepSeek Harness 的模型提供方在界面「设置 → 模型」里配置,内置的 provider id 包括 anthropic、openai、moonshotai、zai。选好 id 再填 API 密钥与模型名即可,自定义服务再补 baseURL 与 api 协议。
DeepSeek Harness 的凭据默认存在 $DSH_HOME/.credentials.yaml,界面里保存一次密钥就会写入这个文件。它同时含浏览器会话签名密钥,属于明文敏感文件,不建议手改,也不要提交进任何仓库。
MISSING_CREDENTIAL 表示当前 provider 找不到可用凭据,通常是密钥没填、环境变量名对不上或写错了 profile。先回「设置 → 模型」重填一次密钥,再确认 apiKeyEnv 指向的环境变量在启动环境里真的存在。
UNKNOWN_MODEL 说明填的模型名不在该 provider 的 models 列表里。回「设置 → 模型」核对模型名拼写与大小写,或在 cordis.patch.yml 的 providers 块里把该模型补进 models。
DeepSeek Harness 在 providers 块里用 models 列出该 provider 支持的模型,用 modelOverrides 单独覆盖某个模型的参数,用 input 与 defaultInput 声明输入模态,用 reasoning 与 reasoningEfforts 控制推理档位。改完用一次请求验证,不必重启。
相关术语
- provider
- provider 是 DeepSeek Harness 中承载模型服务的一方,每个 provider 有一个 id(如 anthropic、openai、moonshotai、zai)并关联 API 密钥、baseURL 与模型列表,界面里对应「设置 → 模型」的一个条目。— DeepSeek Harness 官方文档 - 配置模型
- .credentials.yaml
- .credentials.yaml 是 DeepSeek Harness 的用户级凭据文件,位于 $DSH_HOME 下,保存各 provider 的 API 密钥与浏览器会话签名密钥。它由界面写入而非手写,属明文敏感文件。— DeepSeek Harness 官方文档 - 配置模型
- MISSING_CREDENTIAL
- MISSING_CREDENTIAL 是 DeepSeek Harness 在发起请求时找不到可用凭据抛出的错误,常见原因是密钥未保存、apiKeyEnv 指向的环境变量不存在,或改动写在了另一个 profile。— DeepSeek Harness 官方文档 - 配置模型
- UNKNOWN_MODEL
- UNKNOWN_MODEL 是 DeepSeek Harness 在模型名不在该 provider 的 models 列表里时抛出的错误,修法是把模型名拼对,或把该模型补进 providers 块的 models 字段。— DeepSeek Harness 官方文档 - 配置模型
来源
- DeepSeek Harness 官方文档 - 配置模型· deepseek-ai
- dsh CLI README· deepseek-ai