OpenCode 配置教程
适用范围:OpenCode v1 1.2.15;原生 Responses 提供商,v2 格式另查官方文档。
版本与验证:2026-09-28,macOS 26.3,/opt/homebrew/bin/opencode 1.2.15,gpt-6-sol / Responses 的单轮文本真实调用通过;工具未验证。
配置速查
| 配置项 | 填写内容 | 注意事项 |
|---|---|---|
| 提供商 ID | apizt | 凭据记录和配置中的 ID 一致。 |
| Base URL | https://api.apizt.com/v1 | @ai-sdk/openai 的 Responses 基址。 |
| 模型 ID | gpt-6-sol | 在自定义 models 中声明。 |
| 运行时包 | @ai-sdk/openai | 此主流程走 Responses;Chat 使用独立兼容包。 |
还没有 API Key?注册获取免费体验额度 · 已注册:进入控制台创建 API Key
为此工具单独创建令牌,并设置合理额度和模型权限。截图中的模型仅作示例,以账号当前可用模型为准;不要公开密钥或上传含密钥的配置文件。
第 1 步:记录正在运行的版本
command -v opencode
opencode --version本机有两个安装:Homebrew 路径为 1.2.15,用户目录另有 1.3.13。下面只绑定 /opt/homebrew/bin/opencode 1.2.15;不能把公开包最新版当成实测版。
第 2 步:创建令牌并选择 Responses 提供商
进入 apizt 控制台 → API 令牌 → 新建,选择支持目标模型及协议的分组,设置额度后复制令牌。已有令牌可继续使用;模型目录和权限不是同一回事。查看创建分组令牌的图文步骤。
v1 合并到 ~/.config/opencode/opencode.json 或测试项目 opencode.json。本次用 @ai-sdk/openai 走 Responses,避免把 Chat 与 Responses 返回格式混用。
{
"$schema": "https://opencode.ai/config.json",
"model": "apizt/gpt-6-sol",
"provider": {
"apizt": {
"npm": "@ai-sdk/openai",
"name": "apizt",
"options": {
"baseURL": "https://api.apizt.com/v1",
"apiKey": "{env:tokenba_API_KEY}"
},
"models": {
"gpt-6-sol": {
"name": "gpt-6-sol"
}
}
}
}
}第 3 步:设置环境变量并核对模型
export tokenba_API_KEY="YOUR_tokenba_API_KEY"
/opt/homebrew/bin/opencode models apizt
/opt/homebrew/bin/opencode run --model apizt/gpt-6-sol "Reply exactly tokenba_OK. Do not use tools."提供商 ID、models 内部 ID 与 apizt/gpt-6-sol 三处对应。只列出模型不能证明调用成功;用户配置、项目配置和 OPENCODE_CONFIG_CONTENT 会合并,检查覆盖来源。
第 4 步:按协议选择包与鉴权
| 协议 | v1 运行时包 | 基址 / 最终路径 |
|---|---|---|
| Responses | @ai-sdk/openai | https://api.apizt.com/v1 → /responses |
| Chat Completions | @ai-sdk/openai-compatible | https://api.apizt.com/v1 → /chat/completions |
| Anthropic Messages | @ai-sdk/anthropic | 按包要求设置 /v1 基址 → /messages |
切换包时同步更换支持该协议的模型。v2 使用 providers/package/settings,必须按独立 v2 官方文档;不要把这些字段混进本机 v1 配置。
真实调用记录与验证范围
测试日期:2026-09-28(Asia/Shanghai);macOS 26.3。查看脱敏记录、软件版本和真实生成图片。一次文本成功仅证明本次请求,不代表其他模型、工具执行、多轮上下文或桌面版均已通过。
OpenCode 1.2.15
provider: apizt
npm: @ai-sdk/openai
model: gpt-6-sol
{"type":"text","part":{"text":"tokenba_OK"}}
{"type":"step_finish","part":{"reason":"stop"}}本次真实运行使用测试目录,关闭工具权限;验证了文本生成与客户端响应解析。代码读写、MCP、长会话未验证。能列出模型但调用失败时的检查步骤。
接下来:核对模型 ID 与支持协议 · 计算费用 · 创建令牌。
历史界面参考




连接失败时按这几步排查
Base URL 为 https://api.apizt.com/v1;@ai-sdk/openai-compatible 使用 Chat Completions,@ai-sdk/openai 的 Responses 用法需要服务端支持 Responses;不能仅改模型 ID 就切换协议。
- 先运行 opencode --version,按该版本 schema 检查配置。使用 provider/npm/options 的配置,不混入其他版本字段。
- 核对 provider ID、SDK 包、options.baseURL 和 models 键;当前模型引用使用 provider ID/模型 ID。
- 检查全局、项目配置及 OPENCODE_CONFIG_CONTENT 的覆盖关系,保留备份,仅修改实际生效的条目。
容易混淆的情况
- provider package error 先查依赖和配置加载;请求尚未发出时更换 API Key 没有帮助。
- AI_APICallError 是外层错误,需展开 HTTP 状态和正文;auth.json 存有凭据不等于当前 provider 正在使用它。
怎样确认修复成功
启动新会话先测试短文本,核对实际 endpoint 和 provider;随后在测试目录授权读取 README,分别记录两项结果。
记录所装客户端版本、模型 ID、请求时间、最终路径与脱敏状态。本节为配置核对指南,未新增客户端付费调用实测;保留原文已有验证记录的适用范围。
怎样确认配置已生效
- /models 可选到 apizt 模型。
- 短消息和代码读取分别验证成功。
接入失败时逐项检查
| 现象 | 检查与处理 |
|---|---|
| No model is available | 先声明 models,保存配置后重新进入 /models 选择。 |
| API key 未找到 | /connect 中的提供商 ID 须与配置 key 相同。 |
| 配置报未知字段 | 确认主版本,v1 使用 provider/npm/options,v2 使用 providers/package/settings。 |
资料与下一步
遇到问题时保留软件版本、请求时间、模型 ID、错误码和请求 ID,联系支持时先隐藏 API Key。