胜算云 胜算云 文档中心 ↗ 精益社区

OpenCode 接入胜算云

OpenCode 是开源 AI 编程助手,支持 macOS / Windows / Linux。通过胜算云 API,一个 Key 即可接入 GPT、Claude、Gemini、DeepSeek、千问等数十种主流大模型。本文从安装 → 三种配置方式(Web to Agent / CC-Switch / 手动改配置)→ 测试与换模型,一步步带完。

Base URLhttps://router.shengsuanyun.com/api/v1

配置文件opencode.json

协议 SDK@ai-sdk/openai-compatible(GPT 等)/ @ai-sdk/anthropic(Claude)

一、安装 OpenCode

OpenCode 有桌面 IDE 和 CLI 两种形态,任选其一。

方式 1:桌面 IDE(推荐非技术用户)

前往官网下载 macOS / Windows / Linux 的 Beta 桌面版:

👉 opencode.ai/download

方式 2:CLI 安装(推荐开发者)

npm(全平台,需 Node.js 18+)

npm install -g opencode-ai

curl 脚本(macOS / Linux)

curl -fsSL https://opencode.ai/install | bash

Homebrew(macOS)

brew install opencode-ai/tap/opencode

方式 A ·桌面 IDE 直接选择自定义配置

​1. 打开 OpenCode 设置页面 (Settings)。​image.png2. 在 Provider(提供商)中选择 Custom provider。​3.  Base URL 填入:    text    https://router.shengsuanyun.com/api/v1         image.png

4. 前往个人控制台获取 API Key 并填入:    https://console.shengsuanyun.com/user/keys

5. 其他字段可随意自定义。

6.  关于模型 ID:需准确复制对应的模型名。你可以在模型列表里点击“复制”按钮选择你想在 OpenCoder 里使用的模型。可多选添加你常用、可能会用到的模型。image.png7. 配置完成提交后,在聊天框里就能选择你配置好的模型开始编码了。

方式 B ·Web to Agent 一键写入(推荐,浏览器内完成)

💡
组件会按模型自动选协议:选 Claude 模型写入 @ai-sdk/anthropic(并开启 setCacheKey 提示缓存);选 GPT 等模型自动改用 @ai-sdk/openai-compatible,与 CC-Switch 预设一致。

方式 C · 手动修改配置文件

想一次性批量添加所有模型、或完全掌控配置的,可直接编辑 opencode.json。位置:mac/linux ~/.config/opencode/opencode.json;Win C:\Users\<你>\.config\opencode\opencode.json

1. 打开配置文件

macOS / Linux

mkdir -p ~/.config/opencode
nano ~/.config/opencode/opencode.json

Windows PowerShell

mkdir -p $env:USERPROFILE\.config\opencode
notepad $env:USERPROFILE\.config\opencode\opencode.json

2. 写入配置

{
  "$schema": "https://opencode.ai/config.json",
  "model": "shengsuanyun/openai/gpt-5.4",
  "provider": {
    "shengsuanyun": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "胜算云 Router",
      "options": {
        "baseURL": "https://router.shengsuanyun.com/api/v1",
        "apiKey": "你的胜算云API_KEY",
        "timeout": 300000
      },
      "models": {
        "openai/gpt-5.5": { "name": "GPT-5.5" },
        "openai/gpt-5.4": { "name": "GPT-5.4" },
        "openai/gpt-5.4-mini": { "name": "GPT-5.4 Mini" },
        "anthropic/claude-opus-4.8": { "name": "Claude Opus 4.8" },
        "anthropic/claude-sonnet-5": { "name": "Claude Sonnet 5" },
        "google/gemini-2.5-pro": { "name": "Gemini 2.5 Pro" },
        "deepseek/deepseek-v3.2": { "name": "DeepSeek V3.2" },
        "ali/qwen3-max": { "name": "Qwen3 Max" }
      }
    }
  },
  "disabled_providers": ["openai", "anthropic", "google"]
}

务必把 "apiKey" 换成你的真实 Key。更多模型按 "模型ID": { "name": "显示名称" } 格式添加即可。

3. 配置项详细解析:为什么这么改 & 这样改有什么用

OpenCode 启动时读 opencode.json,决定走哪个供应商、哪些模型可用。每个字段作用如下:

$schema
作用:配置文件的 schema 校验地址。
为什么:让编辑器能校验/补全字段,避免写错键名。

model
作用:默认模型,格式 供应商名/模型ID
为什么:启动后默认用这个模型,省得每次手动选;前缀 shengsuanyun/ 指向下面自建的胜算云供应商。

provider.shengsuanyun
作用:自建一个名为 shengsuanyun 的供应商。
为什么:OpenCode 不内置胜算云,需自建供应商把请求指向胜算云。

npm
作用:决定用什么协议 SDK 调用模型。
为什么@ai-sdk/openai-compatible 是 OpenAI 兼容协议,一个供应商就能配 GPT / Gemini / DeepSeek / Claude 等所有模型,适合批量配置;如果你主要用 Claude,可换成 @ai-sdk/anthropic(原生协议)并加 "setCacheKey": true 开启提示缓存,重复上下文更省 token、更快——这正是 CC-Switch 胜算云预设的做法。

options.baseURL / apiKey / timeout
作用:胜算云地址、你的 Key、请求超时(毫秒)。
为什么:baseURL 填 https://router.shengsuanyun.com/api/v1(带 /v1);timeout 调大(300000=5 分钟)避免长任务中断。

models
作用:声明该供应商下可用的模型清单。
为什么:只有写进这里的模型才会在 OpenCode 模型列表里出现可选;格式 "模型ID": { "name": "显示名" },模型 ID 要和胜算云控制台一致。

disabled_providers
作用:禁用 OpenCode 内置的官方 OpenAI/Anthropic/Google 供应商。
为什么:避免内置官方供应商和你自建的胜算云供应商混淆,列表更干净。

4. 保存并重启

保存文件后重启 OpenCode,即可在模型列表里看到所有配置好的胜算云模型。

📸 截图位置:重启后 OpenCode 模型列表出现胜算云模型

首次运行与测试

启动 OpenCode(CLI 运行 opencode,或打开桌面 IDE),在聊天框里选一个胜算云模型,输入提问即可。

📸 截图位置:OpenCode 中选模型并对话

如何更换模型

  • 临时切换:在 OpenCode 聊天界面里直接选另一个模型。
  • 永久修改:编辑 opencode.jsonmodel 字段。
  • 批量加模型:在 models 里按格式追加 "模型ID": { "name": "显示名" }

常见问题排查

  • 模型列表为空 / 调用报错 → 检查 apiKey 是否填了真实 Key、baseURL 是否带 /v1
  • Claude 模型调用异常 → 用 @ai-sdk/openai-compatible 时 Claude 走兼容协议一般可用;若要原生协议+缓存,把 npm 换成 @ai-sdk/anthropic 并加 "setCacheKey": true
  • 官方供应商还在列表里 → 加上 "disabled_providers": ["openai","anthropic","google"]
  • 长任务中断 → 把 timeout 调大(如 300000)