返回博客

工具与集成指南

将 DeepSeek Harness 连接到 CheapTokens:自定义提供商

在 DeepSeek Harness 中添加一个自定义的 OpenAI 兼容提供商,将其指向 CheapTokens API 并运行第一个编码任务。另外还有失败时该检查什么。

作者:CheapTokens Team发布于 5 分钟阅读

封面:DeepSeek Harness 通过自定义提供商连接到 CheapTokens
本页内容
  1. 你要连接的是什么
  2. 在打开 Harness 之前检查密钥
  3. 填写自定义提供商表单
  4. 选择模型并运行第一个任务
  5. 为什么便宜模型适合智能体循环
  6. 如果它不工作
  7. 在关闭标签页之前

要在 CheapTokens 中使用 DeepSeek Harness,请打开 Settings → Models,将卡片切换为 Custom model API,将 base URL 设置为 https://api.cheaptokens.dev/v1,选择 OpenAI Chat Completions 作为协议,粘贴你的 CheapTokens 密钥并添加模型 ID deepseek-ai/DeepSeek-V4-Flash-0731。在选择器中选择该模型,你的下一个会话就会使用它运行。

这就是全部诀窍。本页其余内容是确切的表单、在责怪应用之前快速检查密钥是否可用,以及当网关拒绝时该查看什么的简短列表。

以下设置来自截至 2026 年 10 月 24 日的 Harness 文档。该项目处于公开预览阶段,其 README 警告将会发生破坏兼容性的更改,因此如果某个标签位置变了,请以屏幕和提供商指南为准。

你要连接的是什么#

DeepSeek Harness 是 DeepSeek 的开源智能体(MIT 许可证,基于 Cordis 插件架构构建)。它提供适用于 Apple 芯片 macOS 和 Windows 64 位的桌面应用,或者你可以用 npx @deepseek-ai/dsh web 启动的 Web UI(需要 Node.js)。Web UI 默认在 http://127.0.0.1:3080 打开。

开箱即用时它会要求提供 DeepSeek 密钥。但同一个 Models 屏幕有一张卡片,适用于任何不在其目录中的内容——中继、公司网关或其他提供商。我们使用的就是这张卡片。

在 CheapTokens 这边你需要两样东西:一个密钥和一个余额。如果你还没有创建密钥,Your first API request with CheapTokens 只需几分钟,而 What is an API key and how to store it safely 介绍了把它保存在哪里。

在打开 Harness 之前检查密钥#

从终端发一个请求就能告诉你密钥、余额和模型 ID 是否正常。如果这个能行而 Harness 不行,问题就在表单里,而不是账户里。

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
    "messages": [{"role": "user", "content": "Say hi in five words."}]
  }'

你应该会得到一个 JSON 响应,其中包含 choices 数组和一个 usage 块,用于统计输入和输出 token。Invalid API key 风格的错误意味着密钥有问题;关于余额的消息意味着需要充值。

填写自定义提供商表单#

打开 Settings → Models,将提供商卡片切换为 Custom model API。按如下方式填写字段:

字段 填写内容
Provider ID cheaptokens(小写;之后无法更改,所以选一个你喜欢的名字)
Display name CheapTokens
Base URL https://api.cheaptokens.dev/v1
API protocol OpenAI Chat Completions
Credential 你的 CheapTokens API 密钥
Models deepseek-ai/DeepSeek-V4-Flash-0731

有两个细节容易让人出错。第一,base URL 是 https://api.cheaptokens.dev/v1,与上面的 curl 中完全一致,只是去掉 /chat/completions。第二,模型 ID 是带 deepseek-ai/ 前缀的完整 ID。像 deepseek-v4-flash 这样的短名称不是 API 所期望的。如果你想了解 base_url 的背景以及如何切换它,请参阅 OpenAI-compatible API: what base_url is and how to switch。

还有一个 Fetch available models 按钮。文档说它会查询 GET /models,并且你始终可以手动输入 ID。在这里手动输入是安全路径,所以就这么做。

DeepSeek Harness 中的 Custom model API 卡片:空表单变成填写好的 CheapTokens 提供商
插图:填写前后的 Custom model API 卡片

选择模型并运行第一个任务#

打开模型选择器并选择 CheapTokens 模型。在那里选择模型会使其成为新会话的默认模型,因此你不必重复操作。

现在给它一个小的、可检查的任务。假设你有一个测试失败的项目:

text
Run the tests, find why test_parse_date fails and fix it. Show me the diff.

你希望看到的是:智能体运行测试命令,读取失败的文件,编辑它,再次运行测试并显示差异。如果它做到了这些,连接就完成了。现在由你的余额为这个循环付费。

为什么便宜模型适合智能体循环#

智能体不会只发送一个问题。它在每一步都会再次发送整个对话、文件列表和工具输出,因此一个会话大部分是输入 token。这就是智能体账单令人意外的原因(why a long chat costs more 解释了其机制,而 How to estimate the cost of an AI agent 给出了方法)。

假设一个会话有 200 步,每一步发送约 30,000 个 token 的上下文并得到约 600 个 token 的回复。那就是 200 × 30,000 = 6,000,000 个输入 token 和 200 × 600 = 120,000 个输出 token。在 DeepSeek-V4-Flash 上,按今天的价格,该会话花费 $0.102,并且把输入和输出加在一起算,总成本比 OpenRouter 更便宜。下表对我们提供的每个模型使用相同的工作负载:

模型 费用 OpenRouter
GLM-5.3-Flash $0.125 $0.257
DeepSeek-V4-Flash $0.102 $0.304
MiniMax-M2.7 $0.318 $1.94

总计 6,000,000 个输入 token 和 120,000 个输出 token。每 100 万 token 的价格为当前价格,会随我们的资费一同变动;OpenRouter 列显示相同工作负载的参考价格。

对于长会话,DeepSeek-V4-Flash 为你提供 380K 上下文窗口、单次回答最多 32,768 个 token,以及任何时段都相同的价格:没有高峰时段附加费。它使用与所有其他 CheapTokens 模型相同的余额,因此你可以在 Harness 中切换模型而无需再次充值。当前费率在定价页面上,而模型页面有更多关于 DeepSeek 系列的信息。

想让会话更轻量?将 zai-org/GLM-5.3-Flash(390K 上下文,最多 8,192 个输出 token)或 MiniMaxAI/MiniMax-M2.7(180K 上下文,最多 8,192 个输出 token)作为额外模型 ID 添加到同一个提供商。一个提供商可以容纳多个模型,选择器让你在它们之间切换。

如果它不工作#

Harness 文档列出了常见的可疑原因。以下是它们以及该怎么做:

  • 尽管密钥和 URL 都正确,网关却拒绝每个请求。 请求结构与端点期望的不一致。Harness 有按模型的兼容性设置,例如系统提示使用的角色或输出 token 字段的名称。它们位于 $DSH_HOME/profiles/<profile>/cordis.patch.yml 中,无需重启即可重新加载。请从提供商指南中获取确切的键,而不是猜测它们。
  • 你输入的模型缺少 effort 菜单。 Harness 只为声明了推理级别的模型显示推理级别。手动输入的模型没有声明任何级别,因此菜单保持为空。声明级别是同一个按模型设置文件的一部分。
  • 获取模型时出现 401。 检查密钥,或者跳过按钮并自己输入模型 ID。
  • 回答在句子中间停止。 那是 token 限制,不是连接中断;请参阅 why an AI answer stops mid-sentence。
  • 第一个请求的日志中出现 401 或 403。 用同一个密钥重复上面的 curl 检查。如果 curl 能行,请在 Credential 字段中重新输入密钥;末尾多一个空格是经典问题。

如果你已经用同一个密钥使用另一个智能体,connecting OpenCode 遵循相同的模式,而 CheapTokens docs 列出了每个端点。同一个抽屉里多一个工具,同一个余额。

在关闭标签页之前#

  • Base URL:https://api.cheaptokens.dev/v1
  • 协议:OpenAI Chat Completions
  • 模型 ID:deepseek-ai/DeepSeek-V4-Flash-0731
  • 密钥:来自你的 CheapTokens 账户,不要出现在截图和仓库中

运行一次失败测试任务,并观察你余额上的用量。那一次运行就能告诉你自己的会话花费多少。