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 密钥只应保存在本地,不要写进文章、截图或公开仓库。