Amux

OpenCode

最近更新:2026年8月26日

OpenCode 通过自定义 OpenAI 兼容供应商接入 Amux,在 opencode.json 里配一段即可。

OpenCode 是一个运行在终端中的编程 Agent,使用 OpenAI 协议,并支持扩展自定义供应商。添加一段指向 Amux 的配置即可接入。

推荐:用 CC Switch 配

CC Switch 支持 OpenCode,添加一个供应商(Base URL 填 https://gateway.amux.ai/v1)即可,无需手动编辑 JSON。切换之后重开终端

下面是手动配置的写法。

一、安装

curl -fsSL https://opencode.ai/install | bash
# 或
npm i -g opencode-ai@latest

二、创建 Amux 密钥

在控制台的密钥页创建密钥。创建后仍可在该页面再次查看,无需重新生成。

export AMUX_API_KEY=你的 Amux 密钥

写进 ~/.zshrc~/.bashrc

三、配置

在项目目录下的 opencode.json 里加一段:

opencode.json

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "amux": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Amux",
      "options": {
        "baseURL": "https://gateway.amux.ai/v1",
        "apiKey": "{env:AMUX_API_KEY}"
      },
      "models": {
        "anthropic/claude-opus-5": {
          "name": "Claude Opus 5"
        },
        "openai/gpt-5.6": {
          "name": "GPT-5.6"
        },
        "deepseek/deepseek-v3.2": {
          "name": "DeepSeek V3.2"
        }
      }
    }
  }
}
字段说明
npm@ai-sdk/openai-compatible/v1/chat/completions。要用 /v1/responses 就换成 @ai-sdk/openai;两个端点均已原生实现
options.baseURL/v1 要带上,客户端在它后面直接拼路径
options.apiKey{env:变量名} 引用环境变量。不要直接写入密钥值,因为该文件通常会随项目一起保存或提交
models列在这里的才会出现在模型选择器里。键是规范 ID

四、启动与验证

source ~/.zshrc
cd my-project
opencode

进去之后:

/models

如果能看到 models 中列出的模型,说明配置已被正确读取。任选一个模型发送测试请求即可。

选模型

models 中列出的条目会出现在模型选择器里。模型名应使用规范 ID,也可以填写非 OpenAI 厂商的模型,例如 anthropic/claude-opus-5deepseek/deepseek-v3.2

要锁定供应商或指定路由策略,在模型 ID 后面加冒号(anthropic/claude-opus-5:anthropic:@price),见 API 参考。注意这时 models 的键要写成带后缀的完整形式。

常见问题

/models 里看不到 Amux 的模型

配置文件通常未被读取。OpenCode 读取的是当前工作目录下的 opencode.json;如果在其他目录启动,则不会加载该文件。同时也请确认 JSON 语法有效。

鉴权失败

echo $AMUX_API_KEY

空的话说明 {env:AMUX_API_KEY} 引用的变量没导出,或者终端没重开。有值的话再看控制台里这把密钥是否还启用、工作区余额是否充足。

连不上

curl https://gateway.amux.ai/v1/models -H "Authorization: Bearer $AMUX_API_KEY"

能返回模型列表说明网络与密钥都没问题。

模型报不支持

npm 选的是 @ai-sdk/openai-compatible(走 Chat Completions),而你挑的模型上游只承接 Responses,或者反过来。模型详情页会列出它实际可用的协议,换一个或者改 npm 那一项。