简短回答
在 OpenCode 中使用 APIVAI:运行 /connect,选择 Other,输入提供方 ID apivai 并粘贴 APIVAI 密钥;然后在 opencode.json 中添加 apivai 提供方,设置 "npm": "@ai-sdk/openai-compatible" 和 "baseURL": "https://api.apivai.com/v1",列出 claude-sonnet-4-6、gpt-5.5 等模型 ID,再用 /models 选择 apivai/claude-sonnet-4-6。如果想以原生格式使用 Claude,也可以把内置的 anthropic 提供方指向 https://api.apivai.com/v1;在 OpenCode 中这个地址要保留 /v1,因为它使用的 Anthropic SDK 只会追加 /messages。截至 2026-10-10,通过 APIVAI 使用 Claude Sonnet 4.6 每百万输入 / 输出 token 为 $1.15 / $5.74,官方价为 $3.00 / $15.00。费用按 token 从预付余额扣除,无需订阅。
OpenCode 是什么?为什么要接入自己的 API?
OpenCode 是一个在终端中运行的开源 AI 编程 Agent。它会读取项目、修改文件、运行命令,并一步步完成任务。OpenCode 基于 AI SDK,可以对接大量提供方,包括任何 OpenAI 兼容 API,所以模型请求发到哪里、由谁计费,由你决定。
APIVAI 提供一个可同时调用 Claude 和 GPT 模型的密钥,按 token 计费,大多数模型低于官方标价,从你按需充值的余额中扣除。同一个密钥同时支持 OpenAI 格式和 Anthropic 格式,下面两种配置方式都能用。
在 OpenCode 中应该用哪种提供方配置?
| 自定义提供方(OpenAI 兼容) | 内置 anthropic 提供方 | |
|---|---|---|
npm 包 | @ai-sdk/openai-compatible | 内置(Anthropic SDK) |
baseURL | https://api.apivai.com/v1 | https://api.apivai.com/v1 |
| 模型 | Claude 和 GPT | 仅 Claude |
| OpenCode 调用的路径 | /v1/chat/completions | /v1/messages |
| 适合 | 一个提供方覆盖所有模型 | 以原生 Messages 格式使用 Claude |
先用自定义提供方:它覆盖 Claude 和 GPT,选择列表里出现哪些模型 ID 完全由你决定。如果你只用 Claude,并希望使用 OpenCode 对 Claude 的原生集成,就用内置 anthropic 提供方。注意,覆盖 anthropic 之后,该提供方的所有请求都会发往 APIVAI。
如何一步步把 OpenCode 接入 APIVAI?
第 1 步:创建 APIVAI 密钥
- 在 apivai.com 用邮箱注册。
- 充值 $10 起,支持银行卡、加密货币、支付宝和微信支付。没有免费试用,用多少付多少。
- 打开控制台,创建密钥并复制。可以给密钥单独设置预算上限,这样 Agent 的花费不会超出计划。
第 2 步:用 /connect 保存密钥
- 在项目目录中启动 OpenCode,输入
/connect。 - 向下滚动到 Other 并选择它。
- 输入提供方 ID
apivai。配置文件里要使用完全相同的 ID。 - 提示输入 API 密钥时,粘贴你的 APIVAI 密钥。
OpenCode 会把密钥保存在 ~/.local/share/opencode/auth.json。在 TUI 之外,也可以用 opencode auth login 完成同样的流程。如果更习惯用环境变量,可以跳过这一步,在下面提供方的 options 中加上 "apiKey": "{env:APIVAI_API_KEY}"。
第 3 步:在 opencode.json 中添加提供方
把下面的内容写进项目根目录的 opencode.json,或写进 ~/.config/opencode/opencode.json 以便在所有项目中使用:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"apivai": {
"npm": "@ai-sdk/openai-compatible",
"name": "APIVAI",
"options": {
"baseURL": "https://api.apivai.com/v1"
},
"models": {
"claude-sonnet-4-6": {
"name": "Claude Sonnet 4.6",
"limit": { "context": 200000, "output": 16384 }
},
"claude-haiku-4-5": {
"name": "Claude Haiku 4.5",
"limit": { "context": 200000, "output": 16384 }
},
"gpt-5.5": {
"name": "GPT-5.5",
"limit": { "context": 128000, "output": 16384 }
}
}
}
},
"model": "apivai/claude-sonnet-4-6",
"small_model": "apivai/claude-haiku-4-5"
}| 键 | 值 |
|---|---|
provider 中的 ID | apivai(与 /connect 中输入的 ID 相同) |
npm | @ai-sdk/openai-compatible |
options.baseURL | https://api.apivai.com/v1 |
models 下的键 | 准确的模型 ID,例如 claude-sonnet-4-6 |
limit.output | 8192 或更高(至少 4096) |
model | apivai/claude-sonnet-4-6 |
baseURL 必须以 /v1 结尾且只出现一次:这个包会自动加上 /chat/completions。models 下的键就是发送给 APIVAI 的模型 ID,name 只是列表里显示的名称。limit 让 OpenCode 知道还剩多少上下文、回复最长可以多长。small_model 用于生成会话标题等轻量工作,适合放便宜的模型。
查看你的密钥可用哪些模型 ID:
curl https://api.apivai.com/v1/models \ -H "Authorization: Bearer YOUR_APIVAI_KEY"
模型列表会随时间变化,请从这个接口的返回或价格页复制 ID,不要照抄旧教程里的名称。重启 OpenCode,运行 /models,在 APIVAI 下选择模型。
第 4 步(可选):用内置 Anthropic 提供方接入 Claude
- 运行
/connect,选择 Anthropic,再选 Manually enter API Key,粘贴 APIVAI 密钥。 - 在
opencode.json中加上基础地址:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.apivai.com/v1"
}
}
}
}这里要保留 /v1。这一点和 Claude Code 等工具正好相反:OpenCode 中的 Anthropic SDK 把 baseURL 当作已经包含 /v1 的前缀(默认值是 https://api.anthropic.com/v1),只会再追加 /messages。填不带 /v1 的 https://api.apivai.com 会请求 /messages,返回 404。在 /models 的 Anthropic 列表中选择 Claude 模型;如果没有你要的 ID,把它加到 provider.anthropic.models 下。这种格式的更多说明见 Claude API 代理页面。
在 OpenCode 中该选哪个模型?
编程 Agent 每个任务会发出很多次请求,所以单价很重要。以下为每百万输入 / 输出 token 价格,截至 2026-10-10:
| 模型 ID | 价格(输入 / 输出) | 用途 |
|---|---|---|
claude-sonnet-4-6 | $1.15 / $5.74 | 日常编程的默认选择 |
claude-sonnet-5-5 | $0.77 / $3.82 | 日常编程,更新的 Sonnet |
claude-opus-5-5 | $1.54 / $7.65 | 疑难 bug、大型重构 |
claude-haiku-4-5 | $0.38 / $1.92 | small_model、快速修改 |
gpt-5.5 | $0.77 / $4.56 | GPT 方案,第二意见 |
gpt-6-luna | $0.0144 / $0.0768 | 非常便宜的简单任务 |
实用搭配:model 用 Claude Sonnet 4.6 或 Claude Sonnet 5.5,small_model 用 Claude Haiku 4.5,任务反复失败时换成 Claude Opus 5.5。GPT 模型只能通过自定义的 OpenAI 兼容提供方使用。
OpenCode 配合 APIVAI 要花多少钱?
任务的每一步都会重新发送会话和 Agent 已读取的文件,所以输入 token 累积得很快。以下是 Claude Sonnet 4.6 的两个实际例子:
- 一个中等任务,例如跨几个文件添加一个功能:约 25 次请求,每次约 30,000 输入和 2,000 输出 token。费用:APIVAI $1.15,官方价 $3.00。
- 一个工作月,每天三个这样的任务,共 22 天(1,650 次请求):APIVAI $75.87,官方价 $198。
同样一个月换成 Claude Haiku 4.5,费用为 $25.15。以上估算未计入提示缓存,并把思考 token 计入输出数(思考 token 按输出计费)。控制台会列出每次请求的 token 和费用,用上一天就能用自己的真实数据替换这些假设。更全面的对比见 2026 年 Claude API 价格对比。
OpenCode 常见报错怎么解决?
- 401 Unauthorized: 运行
opencode auth list,确认apivai有对应的凭据。/connect中的 ID 必须与opencode.json中的提供方 ID 完全一致。还要确认密钥没有被删除、没有用完预算。 - 404 Not Found: 检查
options.baseURL。两种配置都是https://api.apivai.com/v1,末尾不要加/chat/completions或/messages,也不要出现两个/v1。 - 找不到模型:
models下的键必须是准确的 ID,例如claude-sonnet-4-6。请用GET /v1/models核对。 - /models 里看不到提供方或模型:
npm的值必须是@ai-sdk/openai-compatible,JSON 也必须合法。修改文件后重启 OpenCode。 - 回复为空或被截断: 思考默认开启并消耗输出 token。把
limit.output调到 8192 或更高(至少 4096)。 - 429 Too Many Requests: 每个密钥默认每分钟 60 次请求。长时间的 Agent 任务可能触发限制,稍等片刻或联系客服提高限额。
通用的格式规则见 OpenAI 兼容 API 页面和文档。
常见问题
在 OpenCode 中能用一个密钥同时使用 Claude 和 GPT 吗?
可以。在 apivai 提供方下同时列出两个模型 ID,用 /models 切换即可。
在 OpenCode 中 baseURL 应该填什么?
两种配置都填 https://api.apivai.com/v1。OpenAI 兼容包会在后面加 /chat/completions,Anthropic SDK 会加 /messages。
opencode.json 应该放在哪里?
只给一个项目用就放在项目根目录,所有项目通用就放在 ~/.config/opencode/opencode.json。项目配置优先于全局配置。
APIVAI 会保存我的代码吗?
不会。请求和响应的内容不会被记录,只保留模型、token 数和费用等用于计费的使用数据。
同一个密钥能用在其他工具里吗?
可以。同一个密钥也适用于 Aider、Claude Code 以及 Zed 这样的编辑器。每个工具单独建一个密钥,控制台里的用量会更清楚。
注册账号,充值 $10 起,把密钥粘贴到 OpenCode 即可。