← 博客
OpenCode接入教程编程 Agent

OpenCode 配置 Claude 和 GPT:自定义 API 密钥教程

(文中价格随实时价格表更新)

简短回答

在 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)
baseURLhttps://api.apivai.com/v1https://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 密钥

  1. 在 apivai.com 用邮箱注册。
  2. 充值 $10 起,支持银行卡、加密货币、支付宝和微信支付。没有免费试用,用多少付多少。
  3. 打开控制台,创建密钥并复制。可以给密钥单独设置预算上限,这样 Agent 的花费不会超出计划。

第 2 步:用 /connect 保存密钥

  1. 在项目目录中启动 OpenCode,输入 /connect。
  2. 向下滚动到 Other 并选择它。
  3. 输入提供方 ID apivai。配置文件里要使用完全相同的 ID。
  4. 提示输入 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 中的 IDapivai(与 /connect 中输入的 ID 相同)
npm@ai-sdk/openai-compatible
options.baseURLhttps://api.apivai.com/v1
models 下的键准确的模型 ID,例如 claude-sonnet-4-6
limit.output8192 或更高(至少 4096)
modelapivai/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

  1. 运行 /connect,选择 Anthropic,再选 Manually enter API Key,粘贴 APIVAI 密钥。
  2. 在 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.92small_model、快速修改
gpt-5.5$0.77 / $4.56GPT 方案,第二意见
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 即可。

准备好了吗?

30 秒获取 API 密钥,按量付费使用 Claude 和 GPT

开始使用