跳到正文

DeepSeek Harness (dsh)

用一条自定义 provider 把 DeepSeek Harness 接到 HopBase。

DeepSeek Harness(dsh)是 DeepSeek 开源的 Agent 运行时。它通过自定义 provider 接入任意网关——base URL、协议、模型 ID 都是配置项,没有硬编码。

先按模型种类选协议

dsh 需要知道用哪种线上协议。这取决于模型种类,不取决于 dsh。

模型种类apibaseURL
DeepSeek、GPT / Codex、GLM、Kimi、Grok、通义千问openai-completionshttps://api.hop-base.com/v1
Claudeanthropic-messageshttps://api.hop-base.com(不带 /v1)
每种协议配一个 provider:

HopBase 的密钥能调用它所含套餐分组对应的模型种类。想在同一个 dsh 里同时用 DeepSeek 和 Claude,就要配两个 provider,每种协议一个;密钥同时包含两个分组时,两个 provider 可以用同一把密钥。密钥不含该模型所在分组时会拿到 404 model_not_found。

用配置文件接入

函数调用与流式用量已在 HopBase 上端到端验证通过。

添加一个 provider

打开 $DSH_HOME/settings.yaml,在 providers 下加一段:

providers:
  hopbase:
    api: openai-completions
    baseURL: https://api.hop-base.com/v1
    apiKeyEnv: HOPBASE_API_KEY
    models:
      - id: deepseek-v4-pro-202606
      - id: deepseek-v4-flash-202605
      - id: glm-5.3

models 里只列你这把密钥真正能调的型号。完整 ID 请用该密钥调 GET /v1/models 读取,不要照抄这个示例。

导出密钥

export HOPBASE_API_KEY=sk-your-key

apiKeyEnv 填的是环境变量名,dsh 启动时从这个变量里读密钥。不要把密钥本身写进 settings.yaml。

核对模型列表

curl https://api.hop-base.com/v1/models \
  -H "Authorization: Bearer sk-your-key"

你在 models 里列的每一个 ID 都必须出现在这个响应里。少了哪个,说明这把密钥的所有分组都不提供它。

发一次请求

启动 dsh,选中该 provider,让它只回一个词。这一次成功往返就同时验证了 base URL、密钥、协议、模型 ID 四项都对得上。

用网页界面接入

Settings → Models → Add a custom provider,填同样的四个值:协议、base URL、密钥变量名、模型 ID。上面那张协议表在这里同样适用。

再接一个模型种类

想在 DeepSeek 之外再用 Claude,请新增一个 provider,不要改原来那个——协议和 base URL 都不一样:

providers:
  hopbase:
    api: openai-completions
    baseURL: https://api.hop-base.com/v1
    apiKeyEnv: HOPBASE_API_KEY
    models:
      - id: deepseek-v4-pro-202606
  hopbase-claude:
    api: anthropic-messages
    baseURL: https://api.hop-base.com
    apiKeyEnv: HOPBASE_CLAUDE_API_KEY
    models:
      - id: claude-sonnet-5

排错

现象原因
每个请求都 401启动 dsh 的那个 shell 里,apiKeyEnv 指定的环境变量没设
404 model_not_found该模型不在这把密钥的任何分组里,或者 ID 被缩写了。重新用 GET /v1/models 核对
只有 Claude 报 404baseURL 多带了 /v1。Anthropic 协议要用不带路径的域名
请求打到了别的模型两个 provider 共用了同一个 apiKeyEnv。每个模型种类给一个独立变量

下一步

  • DeepSeek V4 是本页背后的模型接入说明——端点、推理输出、缓存,以及网关会改动请求的地方
  • 可用模型:查看密钥可用的模型 ID
  • 报错速查:按报错原文排查