OpenCode

OpenCode 是一个开源的终端编程 agent。一条命令就能把它登录到 Synthorai:OpenCode 会拿到一把专属的 API 密钥,以及一个名为 Synthorai 的 provider,里面列出这把密钥能调用的模型。不用复制密钥,也不用改配置文件。

第 1 步 — 登录

opencode auth login https://synthorai.io

OpenCode 会读取 https://synthorai.io/.well-known/opencode,并运行其中指定的登录命令。这条命令会打印一个链接和一个 8 位字母的验证码(形如 BCDF-GHJK),然后打开浏览器。

在浏览器里登录控制台,核对页面上的验证码和终端里的是否一致,选择密钥有效期(7、30 或 90 天,默认 90 天),然后点击允许。终端会打印 Signed in,OpenCode 会保存这把新密钥。

ℹ

登录命令依赖 sh 和 curl,可在 macOS、Linux、WSL 和 Git Bash 中运行。原生 Windows 环境请用 API 密钥手动配置。

通过 SSH 运行时,命令不会打开浏览器:在另一台设备上打开链接并登录即可。想在本机也这样做,设置 SYNTHORAI_NO_BROWSER=1。

第 2 步 — 选择模型

opencode
# then, inside OpenCode:
/models

启动 OpenCode,输入 /models。Synthorai provider 会列出你的密钥能调用的模型,并附上上下文上限和价格。OpenCode 每次启动都会刷新这份列表。

每个模型走哪种协议是自动决定的,无需设置:Claude 模型走 Anthropic Messages API(提示词缓存照常生效),OpenAI 模型走 Responses API,其余模型走 Chat Completions。

OpenCode 使用的密钥

这把密钥会出现在控制台的 API 密钥页面,名称为 OpenCode · …,后面跟着你登录时所在的位置,并带有 Agent 登录标签。你可以随时在那里删除它。

密钥过期后,调用会失败,并提示你重新运行 opencode auth login https://synthorai.io。

安全

  • 只批准你自己发起的验证码。如果登录请求和你的浏览器不在同一个网络,确认页面会给出提醒。
  • 如果工作空间开启了新 IP 需审批(设置 › 安全),在同一网络里确认登录时,你登录时所用的地址会自动成为这把新密钥的可信地址,来自其他地址的调用要等批准后才会放行。如果是在另一个网络里确认的,这个地址不会被信任:它的第一次调用被拦截后,再去批准即可。如果还没开启,建议打开。

本地配置优先

如果本地的 opencode.json 里定义了名为 synthorai 的 provider,OpenCode 会用它,而不是网关下发的那个:本地配置优先于远程配置。

手动配置(没有 sh 的 Windows)

在控制台的 API 密钥页面创建一把密钥,写入环境变量 SYNTHORAI_API_KEY,再把下面的 provider 加到 opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "synthorai": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Synthorai",
      "options": {
        "baseURL": "https://synthorai.io/v1",
        "apiKey": "{env:SYNTHORAI_API_KEY}"
      },
      "models": {
        "claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" }
      }
    }
  }
}

在 models 下列出你想在 OpenCode 里选用的模型,模型 ID 可以在模型页面查到。

故障排查

Failed to load auth provider metadata 检查地址:应为 https://synthorai.io,后面不带任何路径。

Sign-in did not complete: the login was declined in the console 这次请求在确认页面上被拒绝了。重新运行命令,从头再来一次即可。

验证码已过期 验证码有效期为 10 分钟。重新运行 opencode auth login https://synthorai.io 获取新的验证码。

密钥的额度、有效期和删除方式,见 API 密钥。