OpenCode 配置
把 OpenCode 接到 QiyuanHub:用 OpenAI 兼容 Provider 填写 Base URL 与 API Key,即可在编辑器内调用平台模型。
01
适用说明
OpenCode 是 AI 编码助手(支持 CLI / IDE)。QiyuanHub 提供 OpenAI 兼容的 `/v1/chat/completions` 接口,因此可把 OpenCode 配成自定义 Provider,统一走平台计费与模型路由。
- 适合:本地编码、Agent 对话、长上下文与图片理解
- 协议:OpenAI Compatible(Chat Completions)
- 不需要改业务代码,只改 Provider 配置即可
02
开始前请确认
- 已注册并登录 QiyuanHub(官网注册页完成邮箱验证)
- 账号状态为 active:控制台可正常创建 API Key;pending 审核中无法调用
- 已在「控制台 → API 密钥」创建密钥,格式为 `sk-opc-...`(完整 Key 仅创建时显示一次)
- 钱包有可用余额,或仍有体验额度
- 已从「模型 & 定价」确认目标模型为「已上线」,推荐先用 `deepseek-v4.1` 做连通验证
03
对接参数(复制用)
- Base URL:`https://api.qiyuanapi.cc/v1`(必须带 `/v1`,不要写成 `https://api.qiyuanapi.cc`)
- API Key:`sk-opc-你的密钥`(请求头为 `Authorization: Bearer <key>`)
- 模型 ID:使用定价页中的 slug:`deepseek-v4.1`
04
先用 curl 确认网关可用(强烈建议)
在配置任何客户端之前,先在本机终端验证 Key 与模型是否可用。成功时应返回 JSON,且 `choices[0].message.content` 有文本:
若 curl 已失败,先不要排 OpenCode 配置问题——到控制台核对 Key、审核状态、余额与模型是否「已上线」。
export OPC_API_KEY="sk-opc-your-api-key"
curl https://api.qiyuanapi.cc/v1/chat/completions \
-H "Authorization: Bearer $OPC_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1",
"messages": [{"role": "user", "content": "你好,请用一句话介绍自己"}]
}'05
方式一:配置 opencode.json(推荐)
在用户全局目录 `~/.config/opencode/opencode.json`,或项目根目录 `opencode.json` 写入自定义 Provider(项目配置优先于全局):
模型 key(`deepseek-v4.1`)必须与 /v1/models 返回的 slug 完全一致;`name` 仅用于界面显示。`npm` 请使用 `@ai-sdk/openai-compatible`(对应 `/v1/chat/completions`)。
{
"$schema": "https://opencode.ai/config.json",
"model": "qiyuan/deepseek-v4.1",
"provider": {
"qiyuan": {
"npm": "@ai-sdk/openai-compatible",
"name": "QiyuanHub",
"options": {
"baseURL": "https://api.qiyuanapi.cc/v1",
"apiKey": "sk-opc-your-api-key"
},
"models": {
"deepseek-v4.1": {
"name": "DeepSeek V4.1"
}
}
}
}
}1. 保存后重启 OpenCode
完全退出再打开,或按官方文档重新加载配置。
2. 在模型列表中选择 `qiyuan/...`
选择 `qiyuan/deepseek-v4.1` 后发起一次对话。
06
方式二:在 OpenCode 设置界面填写
若你使用带图形设置的版本,可按界面字段填写(名称可能因版本略有差异):


1. 打开 Settings / Provider
进入自定义 Provider / OpenAI Compatible 配置页。
2. 填写连接信息
- API URL / Base URL = https://api.qiyuanapi.cc/v1
- API Key = 控制台创建的 sk-opc-...
- Default Model = deepseek-v4.1

3. 保存并新建会话
发送「你好」验证返回;再到控制台「使用日志」确认出现记录。
07
密钥放环境变量(可选,更安全)
避免把 Key 明文写进仓库。可在配置里引用环境变量,例如:
- 在 `options.apiKey` 中写成 `"{env:QIYUAN_API_KEY}"`(以你安装的 OpenCode 版本文档为准)
- 或先执行 `opencode auth login`,选择 Other / 自定义 Provider,Provider ID 填 `qiyuan`,再粘贴 Key
- 确认 `.gitignore` 已忽略含密钥的本地配置文件
# shell
export QIYUAN_API_KEY="sk-opc-your-api-key"08
验收清单
- OpenCode 能正常返回模型回复,无 401/403
- 控制台「使用日志」出现对应 model 与 Token 消耗
09
排错
- 401 unauthorized — Key 错误、被禁用,或未加 `Bearer ` 前缀
- 402 / quota_exceeded — 余额不足,请充值或使用兑换码
- 403 application_pending — 账号尚未审核通过
- 403 ip_not_allowed — 当前 IP 不在该 Key 白名单内(若你开启了 IP 限制)
- model_not_allowed / 模型不存在 — slug 写错,或模型未上线 / 无权限
- 429 rate_limited — 触发限流,稍后重试或降低并发
- 配置不生效:确认改的是正在使用的那份 opencode.json(全局 vs 项目),并已重启
- 模型列表空白:检查 `models` 字段是否配置,或界面是否选中了 `qiyuan` Provider
- Base URL 多写了路径:不要填 `https://api.qiyuanapi.cc/v1/chat/completions`,只填到 `/v1`