DeepSeek Harness是什么?
DeepSeek Harness 是面向 DeepSeek 模型的开源 Agent 工具,支持自定义模型服务商。
本教程介绍如何在 DeepSeek Harness 中配置 TokenHub 自定义服务商。选好支持工具调用的模型后,先用代码读取等低风险任务验证连接,再测试编辑或较长的 Agent 任务。比较模型时,可以看工具调用是否稳定、响应速度、上下文长度和实际成本。首次调用成功后,到 TokenHub 请求记录中核对模型 ID、请求状态和用量;如果任务失败,先区分接口报错和工具调用失败。
DeepSeek Harness(dsh)可以在 Models 页面添加 TokenHub 自定义 Provider。这个 Provider 必须填写网关实际提供的单一协议;TokenHub 的 OpenAI Chat Completions 路由使用 openai-completions,Base URL 填 https://us-api.tokenhub.com/v1。
DeepSeek Harness 仍处于 developer preview,官方明确提示版本可能包含破坏性兼容性变更。首次接入应使用低风险任务验证,再用于真实仓库。
适合场景
DeepSeek Harness 适合需要将模型、工具和工作区组合为 Agent 工作流的开发任务。它会保存 Provider、模型和会话设置;因此 Provider ID 应在创建前确认,避免后续迁移默认模型和会话引用。
启动 DeepSeek Harness
按官方项目的推荐方式启动本地 Web UI:
npx @deepseek-ai/dsh web默认会启动本地 Web UI 并尝试在浏览器打开。若从 SSH 或远程环境运行,请按官方 Web UI 指南处理访问地址;先确认界面可用,再继续配置 Provider。
准备 TokenHub 凭证与模型
在 TokenHub 工作台创建 API Key,并从模型广场复制准确的 Model ID。不要把真实 API Key 提交到仓库或分享给其他人。
| 项目 | 填写内容 |
|---|---|
| Provider ID | 建议使用小写、稳定的 tokenhub |
| Base URL | https://us-api.tokenhub.com/v1 |
| API protocol | openai-completions |
| Credential | TokenHub API Key |
| Model ID | TokenHub 模型广场中的准确 Model ID |
添加 TokenHub 自定义 Provider
- 打开 Settings → Models。
- 选择 Add a custom provider,不要把 TokenHub 当成内置 Provider 填写。
- 填写小写的 Provider ID、显示名称、Base URL、API protocol 和 API Key。
- 在模型列表中至少添加一个准确的 TokenHub Model ID,然后保存。
- 回到模型选择器,选择刚保存的 Provider 和模型,并新建会话验证。
一个 Provider 只能使用一种协议。若同一网关同时提供 OpenAI Chat Completions、Responses 或 Anthropic Messages,需为每一种协议分别创建 Provider;不要把多个协议混在同一条配置中。
Provider ID 会被保存的会话、默认模型和凭证引用。需要改名时,正确做法是创建新的 Provider、重新选择默认模型,再按需迁移旧配置。
模型发现失败时手动添加
在 Model catalog 中可以使用 Fetch available models 拉取模型列表。该功能依赖网关返回兼容的模型列表格式,因此它只是便利功能,不是接入前提。
如果拉取失败或列表为空:
- 保留正确的 Base URL、协议和 API Key。
- 直接手动输入 TokenHub 模型广场中的完整 Model ID。
- 保存 Provider,并用新会话发送一个简单请求。
- 在 TokenHub 请求日志中确认模型、状态和用量。
不要因为模型发现失败就判断模型不可用。
高级配置:settings.yaml
Models 页面只配置路由必需字段:API Key、显示名、Base URL、协议和模型 ID。图片输入、reasoning effort、请求兼容性、请求头、超时和重试策略等高级能力,应编辑 $DSH_HOME/settings.yaml。
例如,只有在目标模型确实支持图片输入时,才为对应模型显式声明输入模态:
llm-pi-ai:
providers:
tokenhub:
apiKeyEnv: TOKENHUB_API_KEY
api: openai-completions
baseURL: __API_BASE_URL__/v1
models:
- id: YOUR_TOKENHUB_MODEL_ID
input: [text, image]官方文档说明,保存 settings.yaml 后,适配器会在下一个请求读取新配置,通常不需要重启。不要为了“试试看”随意添加 supportsDeveloperRole、maxTokensField 等兼容性覆盖;仅在网关明确要求或默认请求被拒绝时配置。
验证请求是否走 TokenHub
按以下顺序验证:
- 在 Models 页面确认 Provider 与模型已保存。
- 新建会话并选中 TokenHub 模型。
- 先执行低风险任务,例如解释一个文件或总结一小段代码。
- 在 TokenHub 请求日志中确认准确的模型 ID、响应状态和用量。
- 再逐步验证工具调用、长任务或图片输入等扩展能力。
已发送请求的旧会话会保留其会话日志中记录的模型;切换默认模型后,请用新会话验证。
故障排查
| 现象 | 处理方式 |
|---|---|
| Provider 需要改名 | 新建新的 Provider,再重新选择默认模型;不要依赖直接改名。 |
| Fetch available models 失败 | 直接手动添加 TokenHub 的完整 Model ID;模型发现不是接入前提。 |
| 404 或请求格式错误 | 检查协议是否为 openai-completions,Base URL 是否为 https://us-api.tokenhub.com/v1,且没有拼入完整接口路径。 |
| 高级参数不生效 | 检查 $DSH_HOME/settings.yaml;基础 Models 表单不包含 reasoning、图片、超时和重试等字段。 |
| 切换默认模型后旧会话没变化 | 新建会话;已发送请求的会话保留原模型。 |
资料
推荐模型怎么选?
DeepSeek Harness 提供商 FAQ
什么是 DeepSeek Harness 和 DeepSeek Code Harness?
这些术语在这里指的是围绕面向 DeepSeek 的编码模型协调上下文、工具和任务循环的代理工具。
DeepSeek Harness 可以使用自定义服务商吗?
使用其记录的 OpenAI 兼容自定义服务商字段,输入 TokenHub Base URL,然后从环境变量中读取 API 密钥。
DeepSeek Harness 应该使用哪种模型?
选择具有可靠的 工具调用、足够的上下文以及经过验证的对配置协议的支持的编码模型。
如何判断 DeepSeek Harness 是否适合我的项目?
可用的搜索证据对于普遍的最佳主张来说太有限。 Comp 是您自己的代码仓库中的设置、工具成功、延迟、上下文和成本。
DeepSeek Harness 运行失败时先检查什么?
检查Base URL、环境变量、API密钥、模型ID和本机工具支持,然后使用TokenHub日志来识别请求是否到达。
配置资料
本页配置以 TokenHub 教程和官方资料为依据,最后核验于 2026-09-04。