news 2026/10/13 6:56:41

DeepSeek Harness 对接第三方 API 教程:自定义模型提供商配置与排错

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepSeek Harness 对接第三方 API 教程:自定义模型提供商配置与排错

DeepSeek Harness(命令行名dsh)是 DeepSeek AI 开源的 agent harness,除了自带 DeepSeek 模型路由,也支持把请求指向自建网关或第三方中转站。

DSH 目前处于开发者预览阶段,迭代很快,可能出现破坏兼容性的变更。本文基于 0.2.0-rc.2 的 Web UI 走通配置流程,示例用占位密钥、没有发起真实调用;文中的地址和模型名都只作示例,请替换成你自己的。

一、启动 DSH

装好 Node.js 后直接运行:

npx @deepseek-ai/dsh web

默认在http://127.0.0.1:3080启动 Web UI 并自动打开浏览器。在 SSH 里启动只会打印宿主机地址,需要自己做端口转发;加--no-open可以只跑服务不弹浏览器。想跟着仓库版本走,也可以 clone 源码后pnpm install && pnpm run build,再用pnpm dsh web启动。

启动后先选中一个工作区,会话输入框才可用。

二、添加自定义模型 API

进入路径:

左下角「设置」→ 左侧「模型」→「添加模型提供商」

卡片默认停在第三方模型提供商,那是 DSH 内置的提供商列表;中转站和自建网关要切换到右侧的自定义模型 API。

需要填的字段有六个:

  • Provider ID:小写字母开头的唯一标识,请求、已保存会话和凭据引用都会用到它,且不支持改名。示例demo-gateway。
  • 显示名称:只影响界面显示,示例「AI 算力超市」。
  • API 地址:填的是基础 URL,不要带/chat/completions,填成完整端点反而会失败。示例https://aiapi.market/v1。进入站点加站长微信领取免费算力。
  • API 协议:可选 OpenAI Chat Completions、OpenAI Responses、Anthropic Messages,必须与网关实际实现一致,一个提供商只能用一种。示例保持OpenAI Chat Completions。
  • API 密钥:服务商控制台创建的调用令牌,示例sk-你的调用令牌。密钥保存在本机$DSH_HOME/.credentials.yaml,settings 只保留引用,界面也不会回显明文。
  • 模型目录:至少添加一个模型。模型 ID 要填服务商给出的实际调用名而不是展示名,示例deepseek-v4-pro,显示名「DeepSeek V4 Pro」。

「获取可用模型」相当于调用 OpenAI 兼容的GET /models,用当前表单的地址和密钥去探测。它只是便利手段:端点不支持该接口,或返回格式不在识别范围内,手动填写模型 ID 效果完全一样。

填完点击创建提供商:

卡片上的绿点表示凭据已经保存。本文示例的服务商是 AI 算力超市(aiapi.market),提供 OpenAI 兼容接口,一个密钥就能调用多种模型;换成其他中转站或自建网关,步骤完全相同。

三、验证

模型改动会在下一次请求时生效,不需要重启 DSH。点击输入框右下角的模型按钮,列表会按提供商分组:

选中后按钮上会显示新的模型名:

发一句「请用一句话说明你已连接成功」,能正常返回就说明地址、协议、密钥和模型 ID 已经对齐。

四、常见问题

  • 获取可用模型返回 401:密钥复制不完整、已过期,或令牌分组没有目标模型权限。
  • MISSING_CREDENTIAL:DSH 没找到该提供商的凭据,回模型页重新保存一次密钥。
  • UNKNOWN_MODEL:模型 ID 不在该提供商已配置的模型里,补齐模型或切换到已配置的模型。
  • 探测失败或提示没有data/models:端点列表格式不在探测范围内,不影响调用,手动填模型 ID 即可。
  • 地址和密钥都对,但每个请求都被拒绝:多数是请求形状的兼容性问题。DSH 把系统提示词以role: "developer"发出、输出上限写成max_completion_tokens,而不少网关只认system和max_tokens。在$DSH_HOME/profiles/web/cordis.patch.yml里改:
-id:llm-pi-aiconfig:providers:demo-gateway:api:openai-completionsbaseURL:https://aiapi.market/v1compat:supportsDeveloperRole:falsemaxTokensField:max_tokensmodels:-id:deepseek-v4-pro

改完不用重启,适配器会在下一次请求时重新读取。手动录入的模型默认没有推理等级菜单,需要给它加reasoningEfforts;如果网关后面是 DeepSeek V4 这类「不明确关闭就会思考」的模型,再加一个compat.thinkingFormat: deepseek。完整字段以官方providers.zh.md为准。

小结

接第三方模型真正要对齐的只有四点:API 地址填基础 URL、协议与网关一致、模型 ID 用实际调用名、密钥包含目标模型权限。剩下的多半能用compat里那两个开关解决。DSH 仍在快速迭代,界面和字段可能变化,以官方文档为准。

文中截图里的地址与模型名仅作配置示例。API 密钥只应保存在本地,不要写进文章、截图或公开仓库。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/13 6:56:07

PS5远程游玩实战:从局域网到公网的AnyPS5搭建指南

1. 项目源起:为什么需要“AnyPS5”先说结论:PS5是一台好机器,但绝大多数时间它只能待在客厅的电视柜上。白天上班、通勤在路上、或者在书房想随手摸一把游戏,都得老老实实坐在那台4K电视前面——这不是体验问题,是空间…

作者头像 李华
网站建设 2026/10/13 6:55:58

上海室内空气检测-摄影布景与收藏空间的材料版本怎样留痕

上海室内空气检测遇到摄影布景更换或收藏房搬迁,应先固定实际材料与摆放版本,再解释对应的空气结果。相同地址不代表相同配置;拆箱包装、长期保留展柜与未来才进入的物品应分别记录。材料版本卡帮助读者把数量、位置、进出时间和照片连起来&a…

作者头像 李华
网站建设 2026/10/13 6:55:18

基于Java+Vue+ElementUI的电子病历产科管理系统设计与实现

跑过几个妇幼保健院和综合医院产科的信息化项目之后,你会发现需求书里几乎都会写一句话:“构建以电子病历为核心的数字产科管理系统”。这句话听起来像标准话术,真正落地时涉及的却是一整套从门诊建档、产检记录、高危评估、待产住院、产程分…

作者头像 李华
网站建设 2026/10/13 6:55:01

天地盖 vs 普通开槽摇盖纸箱:承重性能与装箱效率核心区别

天地盖 vs 普通开槽摇盖纸箱:承重性能与装箱效率核心区别一、对比引言天地盖纸箱与普通开槽摇盖纸箱(RSC 型)是工业包装中最主流的两类箱型,二者结构形式完全不同,在承重性能、装箱效率、自动化适配、成本等维度差异显…

作者头像 李华
网站建设 2026/10/13 6:54:47

Inno Setup 安装界面美化:从基础换图到高DPI自适应UI改造

简介:本资源是一套面向Windows桌面软件开发者与UI设计师的InnoSetup安装/卸载界面美化实战方案,聚焦nwjs等Electron类应用的安装体验升级,解决默认安装向导风格单一、品牌感弱、用户第一印象差等实际问题。压缩包含183个文件,主体…

作者头像 李华