首页 → 指南 → OpenCode 接入自定义 API:配置、Claude、small_model 与真实花费

OpenCode 接入自定义 API:配置、Claude、small_model 与真实花费

OpenCode 的服务商都写在 opencode.json 里,配置只有一个文件。让我们意外的是账单:只让 OpenCode 回一个词,它就发了两个请求、用了一万两千多个输入 token。我们用 OpenCode 1.19.0 在自己的网关上跑了三个模型,看清 token 花在哪、怎么省。

配置文件

把下面的内容写进 ~/.config/opencode/opencode.json(或项目里的 opencode.json):

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "apiclan": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "APICLAN",
      "options": {
        "baseURL": "https://apiclan.us/v1",
        "apiKey": "{env:APICLAN_GPT_KEY}"
      },
      "models": {
        "gpt-6-astra": {},
        "gpt-6.1-sol": {}
      }
    }
  }
}
  1. 在控制台创建密钥,设成环境变量,比如 APICLAN_GPT_KEY。
  2. models 里只列这把密钥所在分组的模型。本站每把密钥只属于一个分组,所以 GPT、DeepSeek、Claude 各需要一个服务商条目和一把密钥。
  3. 启动 opencode,输入 /models,选 APICLAN → gpt-6-astra。脚本里可以用 opencode run -m apiclan/gpt-6-astra "..."。
baseURL结果
https://apiclan.us/v1✓
https://apiclan.us✗ 404 Not Found

@ai-sdk/openai-compatible 只会在 baseURL 后面补 /chat/completions,别的都不加,所以 /v1 必须自己写上。少了它,OpenCode 只报一句 Not Found 就停了。

接入 Claude

在 provider 里再加一个服务商,用 Anthropic 的包,填 Claude 分组的密钥:

"claude": {
  "npm": "@ai-sdk/anthropic",
  "name": "APICLAN Claude",
  "options": {
    "baseURL": "https://apiclan.us/v1",
    "apiKey": "{env:APICLAN_CLAUDE_KEY}"
  },
  "models": { "claude-fable-5-1": {} }
}

这里的 baseURL 同样要以 /v1 结尾:Anthropic 的包只补 /messages,我们实测只填 https://apiclan.us 会返回 404。这和 Claude Code 正好相反,Claude Code 的 ANTHROPIC_BASE_URL 不能带 /v1。

回一句话要花多少钱

我们在空项目里让 OpenCode「Reply with just OK」。每个模型都发了两个请求:一个给会话起标题,另一个才是真正的回答,里面带着 OpenCode 的系统提示和工具定义。

模型请求数输入 token(标题 + 回答)总耗时花费
gpt-6-astra24,640 + 7,67820.5 s$0.050
deepseek-v4-pro2528 + 5,70834.1 s$0.005
deepseek-v4.1-flash2529 + 3,02721.8 s$0.0006

OpenCode 给 GPT 模型的系统提示(约 7,700 token)比给 DeepSeek 的(约 3,000)长得多,GPT 光起标题就用了 4,640 token。所以同一句「OK」,gpt-6-astra 的花费约是 deepseek-v4.1-flash 的 77 倍。测试于 2026 年 10 月 12 日,OpenCode 1.19.0,花费为我们网关的实际计费。

用 small_model 省掉额外开销

OpenCode 会用 small_model 做起标题这类杂活。把它指向一个便宜模型,单独放一个服务商:

"small_model": "apiclan-ds/deepseek-v4.1-flash",
"provider": {
  "apiclan": { ... },
  "apiclan-ds": {
    "npm": "@ai-sdk/openai-compatible",
    "options": {
      "baseURL": "https://apiclan.us/v1",
      "apiKey": "{env:APICLAN_DS_KEY}"
    },
    "models": { "deepseek-v4.1-flash": {} }
  }
}

主模型用 gpt-6-astra 时,起标题的请求从 $0.0187 降到 $0.00003,整次一句话对话从 $0.050 降到 $0.031——每开一个新会话省 38%,回答内容不受影响。

一个小编程任务

每个模型做同一个任务:写 fizzbuzz.py 和对应的 pytest 测试,不运行任何命令。之后我们用 1~30 的正确结果逐一核对每个函数。

模型请求数总耗时花费正确测试断言数
gpt-6-astra340 s$0.069✓2
deepseek-v4-pro361 s$0.008✓7
deepseek-v4.1-flash325 s$0.0011✓7

三个模型都用三个请求写出了正确的代码。deepseek-v4.1-flash 最快,花费约为 gpt-6-astra 的 1/60;两个 DeepSeek 模型写的测试也更全。deepseek-v4-pro 最慢,因为它每一步都先推理。总耗时包含 OpenCode 自身几秒的启动时间。

常见报错

其他编程工具: Cline 接入自定义 API · Codex 接入自定义 API.

开始使用

无订阅、无最低消费、不用跟销售通话。用 USDT 充值,用多少花多少 —— 1 USDT = 2 额度。

看 30 秒快速开始

语言: English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Deutsch · Français · Español · Türkçe · Português · Italiano · Bahasa Indonesia · Tiếng Việt · Bahasa Melayu · Polski · Čeština · فارسی · Русский

本页价格由实时计费数据自动填入;第三方条款引自对方公开文档。