在 TUI 中连接提供商,然后选择它的一个模型:
/connect
/models
/connect 会列出当前服务器与项目中可用的集成。选择一个提供商;若它提供多种认证方式,请选择一种,并按提示完成操作。TUI
TUI 支持 API 密钥、OAuth 和提供商认证命令。OAuth 会打开授权 URL 或显示需要输入的代码;按
o 打开 URL,按 c 复制授权详情。/connect
# Select OpenAI, then Codex device code (legacy).
再次运行
/connect 可添加另一个账户。选择已连接的提供商会打开其账户列表,你可以在其中激活、重命名或删除已保存的账户。CLI
使用
auth login 可在不打开 TUI 的情况下使用相同的提供商认证方式。不带提供商参数时,该命令会打开交互式提供商选择器。opencode auth login
传入集成 ID 或名称可跳过第一个选择器。使用
--method key 可显式选择 API 密钥输入。opencode auth login anthropic --method key
方式 ID 因提供商而异。当提供商提供多种方式时,不带
--method 运行该命令可查看可用方式。opencode auth login openai
API 密钥输入和提供商表单需要交互式终端。要求你粘贴授权码的 OAuth 方式同样需要交互式终端。
认证方式
OpenCode 通过四种集成方式接收提供商凭据:
| 方式 | 行为 |
| --- | --- |
| API 密钥 | 提示输入密钥,并将其保存为提供商账户。 |
| OAuth | 提供浏览器 URL、设备代码或授权码提示,然后保存令牌;在支持时会刷新令牌。 |
| 命令 | 运行提供商提供的认证命令,并将其标准输出保存为密钥。 |
| 环境变量 | 从服务器进程中读取受支持的变量,不进行保存。 |
提供商可以为 API 密钥和 OAuth 方式添加表单,以收集必需信息,例如 Azure 资源名称或 GitHub Enterprise 域名。CLI 和 TUI 会在开始认证前渲染这些表单。
环境变量
在运行模型请求的服务器进程上设置提供商支持的环境变量。对于一次性使用的私有服务器,可在启动独立模式时传入。
ANTHROPIC_API_KEY=sk-ant-... opencode --standalone
对于共享后台服务,可将该变量添加到其受管环境中。此操作会停止正在运行的服务;下一条 OpenCode 命令会以新值启动它。
opencode service set env ANTHROPIC_API_KEY sk-ant-...
opencode auth list
环境变量连接会以
environment 类型出现在 auth list 中。它们不是账户:auth logout 无法移除它们,因此请取消设置该变量以断开连接。对于同一集成,已保存的账户优先于环境变量连接。opencode auth list
opencode service unset env ANTHROPIC_API_KEY
某些云提供商还会使用其原生的环境凭据链,而不是 API 密钥变量:
- Amazon Bedrock 支持 AWS 默认凭据链,包括配置文件、访问密钥环境变量、Web 身份和容器凭据。它还支持
AWS_BEARER_TOKEN_BEDROCK。 - Google Vertex 使用 Application Default Credentials 和可解析的项目。例如,使用
gcloud auth application-default login进行认证,并设置GOOGLE_CLOUD_PROJECT。 - 当已安装
az时,Azure 会将 Microsoft Entra ID (Azure CLI) 暴露为一种连接方式。请先运行az login,然后在/connect或auth login azure中选择该方式。
gcloud auth application-default login
GOOGLE_CLOUD_PROJECT=my-project opencode
有关提供商特定配置和服务器端配置,请参阅提供商。
账户
每次成功的 API 密钥、OAuth 或命令登录都会创建一个已保存的账户。最新的账户会变为活动账户;可通过其标签或凭据 ID 切换活动账户。
opencode auth list
opencode auth switch anthropic work
使用
auth logout 可移除已保存的账户。当省略参数时,这两条命令都会打开选择器。opencode auth logout anthropic work
在 TUI 中,
/connect 为已保存的账户提供相同的添加、激活、重命名和删除操作。存储
已保存的 API 密钥和 OAuth 令牌保存在服务器的 SQLite 数据库中。对于本地服务器,可通过以下命令打印其数据库路径:
opencode debug paths db
常规发行版中的路径为
~/.local/share/opencode/opencode.db;XDG_DATA_HOME、发布渠道和 OPENCODE_DB 可更改该路径。请勿通过直接编辑数据库来管理凭据;请使用 /connect 或 auth 命令。V2 会在其数据库迁移过程中,从 OpenCode 数据目录中的旧版
auth.json 导入受支持的凭据。新增和更新的凭据会存储在 SQLite 中,而不会写回该文件。