首页 → 指南 → 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": {}
}
}
}
}
APICLAN_GPT_KEY。models 里只列这把密钥所在分组的模型。本站每把密钥只属于一个分组,所以 GPT、DeepSeek、Claude 各需要一个服务商条目和一把密钥。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 就停了。
在 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-astra | 2 | 4,640 + 7,678 | 20.5 s | $0.050 |
deepseek-v4-pro | 2 | 528 + 5,708 | 34.1 s | $0.005 |
deepseek-v4.1-flash | 2 | 529 + 3,027 | 21.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,花费为我们网关的实际计费。
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-astra | 3 | 40 s | $0.069 | ✓ | 2 |
deepseek-v4-pro | 3 | 61 s | $0.008 | ✓ | 7 |
deepseek-v4.1-flash | 3 | 25 s | $0.0011 | ✓ | 7 |
三个模型都用三个请求写出了正确的代码。deepseek-v4.1-flash 最快,花费约为 gpt-6-astra 的 1/60;两个 DeepSeek 模型写的测试也更全。deepseek-v4-pro 最慢,因为它每一步都先推理。总耗时包含 OpenCode 自身几秒的启动时间。
baseURL 没带 /v1。apiKey 里引用的环境变量在启动 OpenCode 的终端里没有设置。is not supported by any configured account in this group) → models 里写了不在密钥分组里的模型。其他编程工具: 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 · فارسی · Русский
本页价格由实时计费数据自动填入;第三方条款引自对方公开文档。