将 OpenCode Go 配置为 Qwen Code 的模型供应商

本文记录如何将 opencode-gohttps://opencode.ai/zen/go/v1)作为模型供应商接入 Qwen Code,实现 DeepSeek、Qwen、GLM、Kimi 等多模型统一访问。


背景

Qwen Code 默认使用阿里云 DashScope / Coding Plan 调用通义千问系列模型。而 OpenCode Go 是 opencode.ai 提供的模型代理服务,通过一个 API Key 即可访问多个主流模型,包括:

  • deepseek-v4-pro / deepseek-v4-flash
  • qwen3.7-plus / qwen3.6-plus / qwen3.5-plus
  • glm-5.2 / glm-5.1 / glm-5
  • kimi-k2.7-code / kimi-k2.6 / kimi-k2.5
  • minimax-m3 / minimax-m2.7 / minimax-m2.5
  • mimo-v2-pro / mimo-v2.5-pro / mimo-v2-omni

前置条件

  1. 已安装 Qwen Code CLI

  2. 拥有 opencode.ai 订阅账号及 API Key

  3. API Key 对应的环境变量(本文以 OP_GO_KEY 为例)

配置步骤

1. 在 settings.json 中添加供应商条目

编辑 ~/.qwen/settings.json,在 env 字段中添加 API Key:

{
  "env": {
    "OP_GO_KEY": "sk-your-opencode-go-key-here"
  }
}

⚠️ 安全建议:可将 API Key 放在 ~/.qwen/.env 文件中,而非直接写在 settings.json 里。

2. 添加模型提供商配置

modelProviders.openai 数组中添加 opencode-go 的模型条目。例如添加 DeepSeek V4 Flash:

{
  "modelProviders": {
    "openai": [
      // ... 其他供应商条目 ...
      {
        "id": "deepseek-v4-flash",
        "name": "[opgo] deepseek-v4-flash",
        "baseUrl": "https://opencode.ai/zen/go/v1",
        "envKey": "OP_GO_KEY"
      }
    ]
  }
}

每个模型条目包含以下字段:

字段说明
id模型名称,将作为 model 参数发送给 API
nameQwen Code /model 选择器中显示的名称
baseUrlAPI 端点地址,固定为 https://opencode.ai/zen/go/v1
envKey引用 env 字段中的 API Key 变量名

3. 设置默认模型

model 字段中指定默认模型:

{
  "model": {
    "name": "deepseek-v4-flash",
    "baseUrl": "https://opencode.ai/zen/go/v1"
  }
}

顶部 model.baseUrl 会在未选择 provider 条目时生效;若已匹配到 provider 条目,则使用该条目的 baseUrl 和 envKey。

完整配置示例

以下是一份完整的 ~/.qwen/settings.json 配置,包含 opencode-go 的多个模型:

{
  "env": {
    "OP_GO_KEY": "sk-your-opencode-go-key-here"
  },
  "model": {
    "name": "qwen3.7-plus",
    "baseUrl": "https://opencode.ai/zen/go/v1"
  },
  "modelProviders": {
    "openai": [
      {
        "id": "deepseek-v4-flash",
        "name": "[opgo] deepseek-v4-flash",
        "baseUrl": "https://opencode.ai/zen/go/v1",
        "envKey": "OP_GO_KEY"
      },
      {
        "id": "deepseek-v4-pro",
        "name": "[opgo] deepseek-v4-pro",
        "baseUrl": "https://opencode.ai/zen/go/v1",
        "envKey": "OP_GO_KEY"
      },
      {
        "id": "qwen3.7-plus",
        "name": "[opgo] qwen3.7-plus",
        "baseUrl": "https://opencode.ai/zen/go/v1",
        "envKey": "OP_GO_KEY"
      },
      {
        "id": "glm-5.2",
        "name": "[opgo] glm-5.2",
        "baseUrl": "https://opencode.ai/zen/go/v1",
        "envKey": "OP_GO_KEY"
      },
      {
        "id": "kimi-k2.7-code",
        "name": "[opgo] kimi-k2.7-code",
        "baseUrl": "https://opencode.ai/zen/go/v1",
        "envKey": "OP_GO_KEY"
      }
    ]
  }
}

验证配置

配置完成后,在 Qwen Code 中发送一条消息即可验证是否成功调用 opencode-go 端点。

在这里插入图片描述

切换模型

在 Qwen Code 交互界面中,使用 /model 命令即可在已配置的模型之间切换:

/model

选择带有 [opgo] 前缀的模型即可切换到 opencode-go 提供的模型。
在这里插入图片描述

注意事项

重复模型 ID

Qwen Code 官方文档指出,同一 authType 下不允许出现重复的模型 ID。如果你已通过 DashScope 配置了同名的模型(例如 qwen3.7-plus),再加入一条相同 ID 的 opencode-go 条目时,仅第一个条目生效,后续重复项会被静默跳过

解决方案:将 opencode-go 的条目排在 DashScope 条目之前,使其优先匹配。

不支持的模型

opencode-go 端点虽然在其 /v1/models 列表中展示了 qwen3.7-max,但该模型不支持 OpenAI 兼容格式的 chat completions 调用(返回 "Model not supported for format oa-compat")。如需使用 qwen3.7-max,请通过 DashScope 端点调用:

{
  "id": "qwen3.7-max",
  "name": "[aly] qwen3.7-max",
  "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
  "envKey": "DASHSCOPE_API_KEY"
}

API Key 管理

  • 建议将 API Key 存放在 ~/.qwen/.env 文件中,而非 settings.json 内
  • envKey 字段引用的是环境变量名,而非实际的 Key 值
  • Qwen Code 支持两种存储方式:settings.jsonenv 字段,或独立的 .env 文件

参考链接

更多推荐