返回博客

工具与集成指南

如何将 OpenCode 连接到 CheapTokens(opencode.json)

将 CheapTokens 作为 OpenAI 兼容提供商添加到 OpenCode:用 /connect 存储密钥,用 opencode.json 配置模型,用 /models 检查。

作者:CheapTokens Team发布于 更新于 4 分钟阅读

OpenCode 通过 opencode.json 中的自定义提供商连接到 CheapTokens API
本页内容
  1. 你需要准备什么
  2. 第 1 步:使用 /connect 存储密钥
  3. 第 2 步:在 opencode.json 中描述提供商
  4. 改为将密钥保存在环境变量中(可选)
  5. 第 3 步:检查是否正常工作
  6. 选择哪个 CheapTokens 模型
  7. 如果不起作用
  8. 后续步骤

要将 OpenCode 连接到 CheapTokens,请添加一个自定义的 OpenAI 兼容提供商:使用 /connect 存储你的 API 密钥(提供商 ID 为 cheaptokens),然后在 opencode.json 中描述该提供商,并填入基础 URL https://api.cheaptokens.dev/v1。之后你的 CheapTokens 模型就会出现在 /models 中。

本指南遵循 OpenCode 的提供商文档(页面更新于 2026 年 10 月 20 日;检查于 2026 年 10 月 22 日)。同样的方法也适用于本系列中的其他工具:Cline、Aider 和 Kilo Code。

你需要准备什么#

  • 已安装 OpenCode(请参阅其针对你所在平台的文档)。
  • 一个 CheapTokens API 密钥。在你的账户中创建一个并充值余额;一个余额即可覆盖所有模型。基础知识见 CheapTokens 文档。
  • API 信息:
    • 基础 URL:https://api.cheaptokens.dev/v1
    • 兼容性:OpenAI Chat Completions 和 Anthropic Messages
    • 下文使用的模型 ID:deepseek-ai/DeepSeek-V4-Flash-0731(380K 上下文,最多 32,768 个输出 token)。模型 ID 列在 CheapTokens 文档中:不同提供商的名称不同,因此请从那里复制 ID。

第 1 步:使用 /connect 存储密钥#

  1. 在你的项目中启动 OpenCode 并运行 /connect。
  2. 滚动到 Other。
  3. 输入一个唯一的提供商 ID:cheaptokens。
  4. 粘贴你的 CheapTokens API 密钥。

这一步只存储凭据。OpenCode 仍然不知道提供商的地址或模型:这正是 opencode.json 的用途。

第 2 步:在 opencode.json 中描述提供商#

创建或编辑 opencode.json 并添加提供商。provider 中的提供商 ID 必须与你在 /connect 中输入的 ID 一致。

json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "cheaptokens": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "CheapTokens",
      "options": {
        "baseURL": "https://api.cheaptokens.dev/v1"
      },
      "models": {
        "deepseek-ai/DeepSeek-V4-Flash-0731": {
          "name": "DeepSeek-V4-Flash",
          "limit": {
            "context": 380000,
            "output": 32768
          }
        }
      }
    }
  }
}

各部分的作用:

  • npm — @ai-sdk/openai-compatible 是用于使用 /v1/chat/completions 的端点的包,而 CheapTokens 正是暴露这种端点。(OpenCode 对基于 /v1/responses 构建的端点使用 @ai-sdk/openai。)
  • name — OpenCode 界面中显示的标签。
  • options.baseURL — CheapTokens API 地址。
  • models — 以模型 ID 为键;其中的 name 是显示名称。
  • limit.context / limit.output — 可选;它们告诉 OpenCode 模型的上下文窗口和最大回答长度。

改为将密钥保存在环境变量中(可选)#

如果你不想将密钥保存在 OpenCode 的凭据存储中,请按照文档推荐的 {env:VARIABLE} 语法,将 apiKey 添加到 options 中:

json
"options": {
  "baseURL": "https://api.cheaptokens.dev/v1",
  "apiKey": "{env:CHEAPTOKENS_API_KEY}"
}

然后在你的 shell 中导出 CHEAPTOKENS_API_KEY。不要将真实密钥提交到仓库。如果你对密钥还不熟悉,请阅读什么是 API 密钥以及如何安全存储它。

第 3 步:检查是否正常工作#

运行 /models,并在 CheapTokens 提供商下选择 DeepSeek-V4-Flash。然后发送一个简短的提示,例如:“用三句话总结这个仓库的作用。”如果得到正常回答,说明基础 URL、密钥和模型 ID 都正确。

选择哪个 CheapTokens 模型#

你可以向 models 中添加任意多个条目——每个都是像上面那样的一个块,并带有自己的 ID。

模型 模型 ID 上下文 最大输出 适合用途
DeepSeek-V4-Flash deepseek-ai/DeepSeek-V4-Flash-0731 380K 32,768 智能体编码循环:长回答,任何时段价格相同
GLM-5.3-Flash zai-org/GLM-5.3-Flash 390K 8,192 具有大上下文的通用编码
MiniMax-M2.7 MiniMaxAI/MiniMax-M2.7 180K 8,192 相对于 OpenRouter 参考价的最低价格

对于 OpenCode 会话(会在循环中发送许多请求),DeepSeek-V4-Flash 是一个不错的默认选择:输出比 OpenRouter 的参考价更便宜,回答最多可达 32,768 个 token,而且价格没有高峰时段。MiniMax-M2.7 在输入和输出上也都比 OpenRouter 的参考价更便宜。GLM-5.3-Flash 的输出同样比 OpenRouter 的参考价更便宜。当前价格(实时检查,没有会过期的数字):

模型 上下文 输入 $/1M 输出 $/1M OpenRouter 输入 OpenRouter 输出
GLM-5.3-Flash reasoning 390K $0.02 $0.04 $0.0413 $0.0758
DeepSeek-V4-Flash 380K $0.015 $0.10 $0.0475 $0.1568
MiniMax-M2.7 180K $0.05 $0.15 $0.30 $1.20

价格以每 100 万 token 的美元金额计算。OpenRouter 数据仅供参考,可能会有变动。

要估算一次工作会话,例如 20 个请求,每个请求 100,000 个输入 token 和 5,000 个输出 token:

模型 费用 OpenRouter
GLM-5.3-Flash $0.044 $0.0902
DeepSeek-V4-Flash $0.04 $0.111
MiniMax-M2.7 $0.115 $0.72

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

更多信息请参阅所有价格和 DeepSeek 页面。

如果不起作用#

  • /models 中缺少提供商或模型。 检查 opencode.json 是否是有效的 JSON(没有尾随逗号),并且 provider 下的键与你在 /connect 中输入的 ID 完全一致。如果两者都正确,请重启 OpenCode。
  • 401 / 身份验证错误。 重新运行 /connect 并再次粘贴密钥,或者检查 OpenCode 启动时所在 shell 中的 CHEAPTOKENS_API_KEY 变量。
  • 404 或“model not found”。 models 中的模型 ID 必须与 CheapTokens 的 ID 逐字符一致,包括供应商前缀(deepseek-ai/…)。
  • 连接错误。 基础 URL 必须以 /v1 结尾,并且不包含额外路径。请参阅常见连接错误。
  • “Not enough tokens”。 充值余额;请参阅该错误的含义。

后续步骤#

你现在已经让 OpenCode 在 CheapTokens 上运行,并且一个余额即可用于所有模型。获取一个密钥,并从 CheapTokens 文档进行你的第一次调用。