OpenCode 接入
OpenCode 是一款专为终端设计的 AI 编程智能体。通过将 OpenCode 接入 UniGateway,你可以通过单一统一端点访问多种模型,实现集中密钥管理、自动回退,且无需修改任何上游 SDK。
兼容性说明
UniGateway 完全支持 OpenAI Chat Completions 协议,可以通过 OpenAI 兼容提供者无缝接入 OpenCode。配置使用 @ai-sdk/openai-compatible npm 包,并将 baseURL 指向 UniGateway 端点。
注意 baseURL 必须以 /v1 结尾 — 完整 URL 为 https://api.unigateway.ai/v1。OpenCode 会自动拼接后续路径(如 /chat/completions),因此请不要省略 /v1 后缀,也不要重复添加。
OpenCode 依赖工具调用(function calling)完成多步编程工作流。请确保所选模型支持工具使用 — UniGateway 上大多数模型都支持,详情参见 接口兼容矩阵。
配置
第一步:安装 OpenCode
OpenCode 提供多种安装方式,你可以根据自己的系统环境选择合适的方法:
- 快速安装(推荐) — 运行以下命令:
curl -fsSL https://opencode.ai/install | bash
- npm / pnpm / yarn / bun — 全局安装:
npm i -g opencode-ai@latest
- Homebrew(macOS 和 Linux):
brew install sst/tap/opencode
- Scoop / Chocolatey(Windows):
scoop bucket add extras
scoop install extras/opencode
choco install opencode
更多安装选项和说明,请参考 OpenCode 官方文档。
第二步:配置 OpenCode
找到或创建 OpenCode 配置文件(opencode.json),将以下内容粘贴进去:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"unigateway": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://api.unigateway.ai/v1"
},
"models": {
"gpt-5.5": {
"name": "gpt-5.5"
}
}
}
}
}
重要:
models字段中的模型名称(如gpt-5.5)应与GET /v1/models返回的模型 ID 一致 — 参见 模型列表。你可以随时切换到其他支持的模型。
模型推荐
建议添加不同能力和价格梯度的模型以适应各种使用场景:
- 高复杂度任务(多文件重构、调试、复杂逻辑):
claude-sonnet-4-6、gpt-5.2 - 均衡任务(通用编程、解释):
gemini-2.5-pro、gpt-4.1 - 快速迭代(简单编辑、问答):
gpt-4.1-mini、deepseek-chat
第三步:登录 UniGateway
运行以下命令开始登录流程:
opencode auth login
在提供商选择界面选择 Other,输入提供商 ID unigateway,然后输入你的 UniGateway API Key。
重要: 你必须选择 Other(而非预列出的提供商),并输入
unigateway作为提供商 ID。
获取 API Key
你可以在 UniGateway 控制台 中获取或创建你的 API Key。
第四步:开始对话
启动 OpenCode,输入一条简单的消息验证连接:
opencode
输入消息确认收到回复。使用 /models 命令随时查看和切换可用模型。
验证清单
| 检查项 | 需要确认 |
|---|---|
| 认证正常 | OpenCode 接受你的 API Key,未触发 401/403 错误 |
| 聊天正常 | OpenCode 对提示返回非空响应 |
| 模型可用 | 配置的模型出现在模型选择列表中 |
| 工具调用正常 | OpenCode 能读取文件、运行命令、编写代码 |
使用体验
配置完成后,OpenCode 作为由 UniGateway 模型驱动的终端编程智能体工作:
- 终端编程 — 直接在终端中与 AI 交互完成编程任务
- 工具调用 — 模型可以使用工具与文件系统、终端和浏览器交互
- 模型切换 — 使用
/models随时在模型间切换 - 自动回退 — 配合 模型选择与回退,请求在备用模型上自动重试
工具调用兼容性
不同模型的工具调用支持程度不同。当模型不支持工具调用时,OpenCode 将回退到纯文本模式。参见 接口兼容矩阵 了解各模型对工具使用的支持情况。
故障排除
API Key 错误
问题: OpenCode 提示 API Key 无效或未授权。
解决方案:
- 检查 API Key 是否复制正确,避免多余空格或换行
- 确认 API Key 已激活且账户余额充足
- 验证 API Key 格式
- 重新运行
opencode auth login并重新配置
配置文件未找到
问题: OpenCode 无法找到或读取配置文件。
解决方案:
- 确保
opencode.json位于正确位置(项目根目录或主目录) - 检查 JSON 语法是否正确 — 可使用 JSON 验证器检查
- 确保
$schema、provider和models字段均已填写
模型不可用
问题: 配置的模型无响应或返回 404。
解决方案:
- 确认
opencode.json中的模型 ID 与GET /v1/models返回的完全一致 — 一个字符的差异会导致 404 - 验证
baseURL设置为https://api.unigateway.ai/v1(注意/v1后缀) - 在 OpenCode 中使用
/models检查当前可用的模型
认证提供商错误
问题: opencode auth login 中提供商选择步骤无法完成。
解决方案:
- 确保你选择了 Other(而非预列出的提供商),并输入了
unigateway作为提供商 ID - 确认
opencode.json中的provider.unigateway部分正确使用了@ai-sdk/openai-compatiblenpm 包 - 重新运行
opencode auth login并仔细遵循提供商选择步骤
工具调用不工作
问题: OpenCode 能返回文本,但无法执行工具(文件读取、命令运行等)。
解决方案:
- 确认模型支持工具使用 — 并非所有模型都支持函数调用
- 切换到已知支持工具调用的模型(如
claude-sonnet-4-6、gpt-4.1) - 参见 接口兼容矩阵 查看支持工具的模型列表
流式响应异常
问题: 响应被截断或流式行为异常。
解决方案:
- 检查模型是否支持流式响应 — 参见 流式响应
- 在 OpenCode 日志中检查原始请求/响应的错误详情
- 如果输出被截断,检查 token 限制设置