DeepSeek Harness
把 DeepSeek Harness(dsh)的模型插件指向 U-Token 通用币——安装、配置供应商、设置 API Key 与验证。
DeepSeek Harness(命令名 dsh)是 DeepSeek 官方开源的 agent harness,采用「一切皆插件」架构——模型、工具、技能、会话、沙箱、界面全部是可替换的插件。它默认调用 DeepSeek 官方 API,把其中的模型插件指向 U-Token 通用币 之后,同一套 harness 就能使用 U-Token 通用币 目录里的全部模型。
dsh 处于开发者预览阶段,官方明确说明会有破坏性变更,配置字段可能随版本变化。
前提条件
- 已注册 U-Token 通用币 账号并获取 API Key(前往获取 ↗)
- 已安装 Node.js(
dsh通过 npm 分发)
配置步骤
1. 安装 dsh
dsh 的包名是 @deepseek-ai/dsh,安装后提供 dsh 命令。
npm install -g pnpm # 已安装可跳过
pnpm add -g @deepseek-ai/dsh
dsh --versionpnpm 的全局 bin 目录需要在 PATH 上,用 pnpm bin -g 可以查到具体路径。安装过程中 pnpm 可能提示 Ignored build scripts: node-pty, koffi …,可以忽略——这两个依赖自带各平台预编译二进制,不需要本地编译。
不想全局安装也可以直接试跑:
npx @deepseek-ai/dsh web2. 配置自定义供应商
dsh 的配置根目录是 $DSH_HOME,macOS / Linux 默认 ~/.dsh,Windows 默认 %USERPROFILE%\.dsh。以下两种方式任选其一。
dsh web终端会打印一个带 token 的地址(默认 http://127.0.0.1:3080)并自动打开浏览器。点左下角的设置。

在左侧切到模型。内置的 DeepSeek(deepseek-official)是官方直连,走 U-Token 通用币 需要新建一个自定义提供方——点添加自定义提供方。
按下表填写:
| 字段 | 填入 |
|---|---|
| Provider ID | 小写字母开头的标识,例如 gateway-codex |
| 显示名称 | 留空即跟随 Provider ID |
| API 地址 | https://u-token.ai/v1 |
| API 协议 | openai-responses 或 openai-completions,见下方 |
| API 密钥 | 你的 U-Token 通用币 API Key |
点获取可用模型,dsh 会调用 GET /v1/models 拉取这把 Key 授权的模型列表。勾选要用的,点添加所选。
模型目录填好后,点创建提供方。

API 协议按你要用的模型选。 上图用的是 openai-responses,配的是 GPT 系模型——它们开放了
Responses 端点。U-Token 通用币 只有部分模型支持 Responses(以 GET /v1/models 返回的
responses_endpoint 为准),其余模型改用 openai-completions 即可。Claude
另有原生协议,配法见再配一个 Claude
提供方。见协议与端点。
一个提供方只对应一种协议,需要的话可以建多个——例如 gateway-codex 走 openai-responses 给 GPT
系,gateway-claude 走 anthropic-messages 给 Claude 系,在模型选择器里按分组切换。
API Key 会写入 $DSH_HOME/.credentials.yaml(仅当前用户可读),供应商配置写入 $DSH_HOME/settings.yaml,保存后立即生效,无需重启。
模型 ID 填 GET /v1/models 返回的裸 ID(例如 gpt-5.6-sol、claude-opus-5),不需要渠道前缀——网关会按该密钥授权的渠道路由。模型目录留空也可以,此时选择器里不显示模型,但目录外的 ID 仍可直接发送。完整目录见模型列表。
3. 设置 API Key
apiKeyEnv 填的是凭据名。dsh 按「启动时的环境变量 → $DSH_HOME/.credentials.yaml → 项目目录 .env → 家目录 .env」的顺序解析。用 Web UI 配过的话 Key 已经在凭据文件里,可以跳过这一步。
写入 ~/.zshrc:
export AI_GATEWAY_API_KEY=sk-你的KEY4. 验证
dsh --profile headless "只回复两个字:可用。不要调用任何工具。"输出「可用」就说明模型层已经走通 U-Token 通用币。
在 Web 界面里,输入框右下角的模型选择器会多出该提供方的分组,选中其中一个模型即可开始对话。

日常使用可以启动 Web 界面(dsh web),或者用 dsh --profile headless "run the tests" 跑完单次任务后退出。
再配一个 Claude 提供方
Claude 在 U-Token 通用币 上走原生 Anthropic 协议,和 GPT 系那套 OpenAI 协议不是一回事。dsh 里一个提供方只绑定一种协议,所以再建一个自定义提供方即可——两个提供方可以共用同一把 API Key。
| 字段 | 填入 |
|---|---|
| Provider ID | 例如 gateway-claude |
| API 地址 | https://u-token.ai |
| API 协议 | anthropic-messages |
| API 密钥 | 同一把 U-Token 通用币 API Key |
这里的 API 地址不带 /v1。 Anthropic 原生协议的请求地址是 https://u-token.ai,与 OpenAI
协议用的 https://u-token.ai/v1 不同,填错会连不上。见客户端请求地址。
点获取可用模型,勾选 Claude 系列模型,点添加所选。

模型目录填好后点创建提供方。

配好后,模型选择器里会同时出现两个分组,按需切换即可。

三平台差异
配置文件的内容三平台完全一致,只有路径和环境变量写法不同。
| macOS | Linux | Windows | |
|---|---|---|---|
配置根目录 $DSH_HOME | ~/.dsh | ~/.dsh | %USERPROFILE%\.dsh |
| API Key 持久化 | ~/.zshrc | ~/.bashrc | setx |
| Shell 工具沙箱 | Bash | Bash | PowerShell(Bash 沙箱自动禁用) |
常见问题
TIMEOUT: Request timed out.
dsh 是 Node 应用,不读取 http_proxy / all_proxy 环境变量,系统代理能连通不代表 dsh 能连通。确认 https://u-token.ai 在运行 dsh 的网络环境下可直接访问。
MISSING_CREDENTIAL
apiKeyEnv 写的凭据名没解析到值。确认环境变量在启动 dsh 的那个终端里已经生效,或者 Key 已经存进 $DSH_HOME/.credentials.yaml。
另一种情形是选错了模型:内置的 deepseek-official 即使没配 Key,它的模型也照样列在模型选择器里,名字和自定义路由的很像,注意别选到它。
回复是空的,也不报错
api 选了 openai-responses,但该模型并不支持 Responses 端点。把供应商的 api 改成 openai-completions。
INVALID_REQUEST / 400 endpoint_not_supported
报文里会写 does not support the /v1/responses endpoint。同样把 api 改成 openai-completions。
401 或 402
401 多为密钥错误、失效或前后带空格;402 是余额不足或该密钥已达消费上限。见错误排查。
插件加载失败、提示路由重复
同一个路由名被注册了两次,检查 $DSH_HOME/cordis.patch.yml 和 settings.yaml 里是否都定义了同名提供方。
进阶:用 patch 层配置
settings.yaml 改的是运行时用户设置,改完下一个请求就生效。如果要改插件装配本身(替换或禁用某个插件),用 patch 层 $DSH_HOME/cordis.patch.yml:
- id: llm-pi-ai
config:
providers:
gateway-codex:
apiKeyEnv: AI_GATEWAY_API_KEY
api: openai-responses
baseURL: https://u-token.ai/v1
- id: agent-default-model
config:
provider: gateway-codex
model: gpt-5.6-sol用 dsh web --dump-config 可以打印合成后的完整插件树,确认配置有没有生效。
推荐模型
完整模型列表见模型列表或控制台「价格」页。dsh 主要用于 agent 场景,建议选择支持工具调用的对话模型。
