把 New API 签发的模型令牌接入 DeepSeek Harness Desktop,通过自己的网关使用 DeepSeek 等模型。本文先完成最简单的文字对话,再介绍接口自检和常见故障。
适用范围:以支持 Harness“设置 → 模型 → 自定义模型 API”的桌面版本为准。社区桌面壳可能把同一入口放在“AI 设置 → 模型与能力”。本文参考 DeepSeek Harness 上游文档及 ningbainb 维护的 Desktop 项目;后者是社区桌面端,不应与 DeepSeek 官方项目或其他同名桌面壳混为一谈。
示例说明:下面以
https://anyrouter.si为 New API 站点举例。使用其他站点时,替换成自己的服务地址和该站点实际开放的模型 ID。本文核对了配置字段与接口格式,不代表对所有桌面发行版都做过逐项 GUI 实测。核对日期:2026-10-28。
一、先看这张配置表
| 配置项 | 本文示例 | 说明 |
|---|---|---|
| Provider ID | anyrouter | 自定义提供商标识,使用小写;创建后不要随意更换 |
| 显示名称 | AnyRouter / New API | 方便在模型选择器里辨认 |
| 基础 URL / API 地址 | https://anyrouter.si/v1 | 不是管理后台地址,也不是完整的聊天接口路径 |
| API 协议 | OpenAI Chat Completions | 在配置文件中对应 openai-completions |
| API 密钥 | 从 New API 的“令牌 / API Key”页复制 | 使用自己新建的模型调用令牌,不是网站登录密码 |
| 模型 ID | deepseek-v4.1-flash | 仅为示例,必须与你的令牌可访问模型一致 |
| 输入类型 | 先保留文本 | 未确认模型及网关支持图片时,不要自行勾选图片能力 |
最重要的三件事:地址正确、令牌有效、模型 ID 完全匹配。 显示名称可以自定义,模型 ID 不可以凭感觉改写。
二、在 New API 创建专用令牌
- 登录你使用的 New API 站点,确认账户有可用额度或有效套餐。
- 打开“令牌”或“API Key”管理页面,新建一个专用令牌,例如命名为
Harness-Desktop。 - 选择账户实际可用的分组。若站点区分模型分组,确保目标 DeepSeek 模型在该分组中有可用渠道。
- 根据需要设置额度上限、有效期和模型白名单。先给测试阶段一个较小的可控额度,不必一开始开放所有模型。
- 保存后使用“复制密钥”功能取得令牌,妥善保管。
注意:
- 模型出现在列表中,不代表当前分组一定能成功调用;还要看权限、额度和可用渠道。
- 开启模型白名单时,需要把实际使用的模型 ID 加进去。
- 如果设置了 IP 白名单,要考虑电脑公网出口、代理或 VPN 变化;不要用关闭全部访问控制的方式排错。
- 不要复用管理员令牌、其他人的令牌或其他应用的专用密钥。
三、添加自定义模型提供商
1. 找到模型设置
打开 Desktop 的设置,进入 模型。某些社区版本的入口是 AI 设置 → 模型与能力。
选择 添加模型提供商,然后切换到 自定义模型 API。
这里接入的是 New API 网关:不要只把 New API 令牌填进默认的 DeepSeek 官方服务卡片,否则请求可能仍然发往官方端点。
2. 填写地址、协议和密钥
按上面的配置表填写 Provider ID、显示名称、基础 URL、协议和密钥。
本文示例的基础 URL 是:
https://anyrouter.si/v1
客户端会据此请求相应接口,例如:
GET https://anyrouter.si/v1/models
POST https://anyrouter.si/v1/chat/completions
不要把基础 URL 写成以下形式:
https://anyrouter.si/console
https://anyrouter.si/api
https://anyrouter.si/v1/chat/completions
https://anyrouter.si/v1/v1
OpenAI Chat Completions、OpenAI Responses 和 Anthropic Messages 是不同协议。虽然 New API 可以提供多种接口,但具体模型及渠道未必都支持。本文先用 Chat Completions 跑通,不要把 openai-completions 与 openai-responses 当成同一个选项。
3. 添加模型
在 模型目录 中选择 获取可用模型,勾选需要的模型,再更新列表。
如果探测失败或列表为空,也可以手动添加站点提供的模型 ID。本文示例为:
deepseek-v4.1-flash
模型 ID 的大小写、连字符和版本后缀都应原样保留。显示名称可以写成“DeepSeek Flash”,但请求 ID 仍需使用网关认可的名称。
上下文窗口、最大输出和推理等级等高级选项,先使用合理默认值或站点明确公布的参数;不要随意填很大的数值,也不要把没有验证的能力全部开启。最后保存提供商。
四、选择模型并发送第一条消息
- 返回聊天页面,打开模型选择器。
- 选择刚才创建的
AnyRouter / New API提供商,以及对应模型。 - 新建一个会话,避免旧会话继续使用历史记录中的模型。
- 先发送一条不需要文件或工具的消息:
请只回复“连接成功”,不要读取文件或执行命令。
收到正常回复后,再测试自己的真实任务。若客户端或网关提供用量记录,可检查是否出现对应请求;注意不同站点的日志可能有延迟。
文字对话成功,不等于工具调用、图片、推理控制和超长上下文全部兼容。 需要这些功能时应逐项测试,不要为了“让 Agent 工作”而关闭所有操作确认或扩大文件访问范围。
五、可选:在 Windows PowerShell 自检接口
遇到“客户端不通,但不知道是哪里错了”时,可以先绕过桌面界面,检查同一个地址和令牌。
下面的代码在输入令牌时隐藏字符,不把真实密钥直接写进命令。先将 $baseUrl 改为你的站点地址:
$baseUrl = 'https://anyrouter.si/v1'
$secureKey = Read-Host '粘贴你自己的 New API 令牌' -AsSecureString
$plainKey = [System.Net.NetworkCredential]::new('', $secureKey).Password
$headers = @{ Authorization = "Bearer $plainKey" }
try {
# 查询此令牌可见的模型;不要据此推断聊天和工具调用已经成功。
$result = Invoke-RestMethod -Uri "$baseUrl/models" -Headers $headers
$result.data | Select-Object id
}
finally {
Remove-Variable plainKey, secureKey, headers -ErrorAction SilentlyContinue
}
- 能列出模型:说明模型列表接口、该地址和认证在此次请求中可用,不代表所有模型均可调用。
- 返回认证错误:先处理令牌、有效期或权限,再回到客户端排查。
- 站点不提供标准模型列表:可在 Desktop 中手动添加模型,不必据此认定聊天接口不可用。
这个示例会在当前进程中短暂使用明文密钥构造请求头;结束后移除变量不等于对系统内存做了安全擦除。不要录屏展示密钥,不要把完整请求头、诊断文件或配置文件直接发到公开群里。
六、常见问题速查
| 现象 | 优先检查 |
|---|---|
401、密钥无效、MISSING_CREDENTIAL | 是否复制了完整的 New API 令牌;是否已过期或被撤销;当前提供商是否确实保存了密钥 |
403 或访问被拒绝 | 令牌权限、IP 限制、账户状态与站点防护;以返回的错误信息为准 |
404 | 基础 URL、重复的 /v1、错误的完整接口路径,以及协议是否选错 |
UNKNOWN_MODEL、模型不存在 | 模型 ID 是否精确匹配;是否添加到当前提供商;令牌模型白名单是否包含它 |
400、422、参数不支持 | 输出上限、推理参数、消息角色或所选协议是否符合上游要求 |
429 | 请求或并发限流;按返回的重试时间等待,避免反复连点重试 |
503、没有可用渠道 | 分组、渠道健康及服务端状态;不要只反复更换客户端密钥 |
| 改了模型仍像在用旧配置 | 新开会话,并重新检查该会话实际选中的提供商和模型 |
| 能聊天,但调用工具失败 | 模型、网关及适配器是否都支持工具调用;不能靠改模型显示名称解决 |
地址和令牌正确,仍然每次请求都失败
一些 OpenAI 兼容网关并不接受 OpenAI 的全部请求写法。例如,上游可能不接受 developer 消息角色,或只接受 max_tokens 而不接受 max_completion_tokens。
只有错误信息确实指向这些兼容问题时,才参考 Harness 官方文档,在已有提供商的配置项中合并相应设置:
compat:
supportsDeveloperRole: false
maxTokensField: max_tokens
这是局部兼容配置,不是一份完整配置文件。不要用这几行覆盖整个 cordis.patch.yml,也不要删除现有的模型、凭据引用或其他提供商。 不同 Harness 版本可能支持不同字段,修改前先备份,并以当前版本文档为准。
若问题仍未解决,保留报错时间、模型 ID、错误码和脱敏后的错误正文,交给站点管理员检查。不要发送真实 API Key,也不要为了排错关闭站点的全局 WAF。
七、配置成功后的检查清单
- 使用的是自定义 New API 提供商,而不是误选官方 DeepSeek 卡片。
- 基础 URL 正确,协议为本教程使用的 OpenAI Chat Completions。
- 令牌有可用额度、正确的分组及模型权限。
- 模型 ID 与站点提供的名称完全一致。
- 已在新会话中收到正常文字回复。
- 真实密钥未出现在截图、教程、Git 仓库或公开日志中。
参考资料
以下资料用于核对字段和行为;项目更新较快,界面有差异时优先查看所安装版本的说明。