EasyRouterEasyRouter
使用指南API 文档接入 Agent 工具

OpenCode

OpenCode 教程 — 开源终端 AI 编程智能体,兼容 75+ 供应商。通过交互式菜单或配置文件接入 EasyRouter,支持 OpenAI 兼容 API。

项目介绍

OpenCode 是一款开源的终端 AI 编程智能体,支持 TUI / CLI 双模式运行,兼容 75+ 种 AI 服务提供商。通过内置的 @ai-sdk/anthropic@ai-sdk/openai-compatible 适配器,可无缝接入 EasyRouter 提供的 Anthropic 协议模型与 OpenAI 兼容模型。

📦 接入前准备

准备信息

  • 已安装 OpenCode
  • 一个可用的 EasyRouter 地址(必须以 /v1 结尾)
  • 一个可用的 EasyRouter API Key(在控制台生成)
  • 想使用的模型名称(如 claude-sonnet-4-6claude-haiku-4-5deepseek-v4-progpt-5.5 等,需与 EasyRouter 控制台中的模型 ID 完全一致)

🚀 方式一:交互式配置(推荐新手)

在 OpenCode TUI 中直接通过菜单添加 EasyRouter:

  1. 启动 OpenCode TUI 界面
  2. 输入 /connect 命令
  3. 在供应商列表中选择 「Other」(自定义端点)
  4. 根据提示填写:
    • Base URLhttps://easyrouter.io/v1
    • API Key:你的 EasyRouter API Key
  5. 保存后,输入 /models 切换到新添加的模型即可

🔧 方式二:配置文件(推荐长期使用)

适合希望锁定多个模型、跨项目复用的场景。

1. 编辑 OpenCode 配置

配置文件位置:

  • 全局~/.config/opencode/opencode.json
  • 项目级(优先级更高):项目根目录 opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "easyrouter-anthropic": {
      "npm": "@ai-sdk/anthropic",
      "name": "EasyRouter (Anthropic)",
      "options": {
        "baseURL": "https://easyrouter.io/v1",
        "apiKey": "sk-123"
      },
      "models": {
        "claude-sonnet-4-6": {
          "name": "Claude Sonnet 4.6",
          "limit": { "context": 200000, "output": 8192 }
        },
        "haiku": {
          "id": "claude-haiku-4-5",
          "name": "Claude Haiku 4.5 (fast)",
          "limit": { "context": 200000, "output": 8192 }
        }
      }
    },
    "easyrouter": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "EasyRouter",
      "options": {
        "baseURL": "https://easyrouter.io/v1",
        "apiKey": "sk-123"
      },
      "models": {
        "deepseek-v4-flash": {
          "name": "DeepSeek V4 Flash",
          "limit": { "context": 131072, "output": 16384 }
        },
        "deepseek-v4-pro": {
          "name": "DeepSeek V4 Pro",
          "limit": { "context": 131072, "output": 16384 }
        },
        "gpt-5.5": {
          "name": "GPT-5.5",
          "limit": { "context": 128000, "output": 32768 }
        },
        "gpt-5.4": {
          "name": "GPT-5.4",
          "limit": { "context": 128000, "output": 32768 }
        },
        "gpt-5.4-mini": {
          "name": "GPT-5.4 Mini",
          "limit": { "context": 128000, "output": 16384 }
        }
      }
    }
  },
  "model": "easyrouter-anthropic/claude-sonnet-4-6",
  "autoshare": false
}

关键字段说明

  • 示例中声明了两个 provider:
    • easyrouter-anthropicnpm 必须填 @ai-sdk/anthropic,用于接入 Claude 等 Anthropic 协议模型
    • easyrouternpm 必须填 @ai-sdk/openai-compatible,用于接入 DeepSeek、GPT 等 OpenAI 兼容模型
  • 两个 provider 的 baseURL 均为 https://easyrouter.io/v1
  • apiKey 字段直接写在配置文件中,请替换为你自己的 EasyRouter API Key(示例中的 sk-123 仅为占位)
  • models 中的模型 ID 必须与 EasyRouter 控制台实际暴露的模型名称 完全一致;若希望自定义简写,可使用 id 字段指向真实模型(如示例中的 haikuclaude-haiku-4-5
  • 顶层 model 字段指定默认模型,格式为 <provider>/<model>
  • 项目级 opencode.json 优先级高于全局配置

2. 配置 API Key

上方示例已在 opencode.json 中直接通过 options.apiKey 内嵌 API Key,将 sk-123 替换为你自己的 Key 即可,无需额外步骤。

可选:使用 auth.json 管理密钥

如果不希望将 API Key 写入 opencode.json,可以从配置中移除 apiKey 字段,改为编辑 ~/.local/share/opencode/auth.json

{
  "easyrouter-anthropic": {
    "type": "api",
    "key": "sk-your-easyrouter-key"
  },
  "easyrouter": {
    "type": "api",
    "key": "sk-your-easyrouter-key"
  }
}

或通过命令行登录:

opencode auth login

按提示分别为 easyrouter-anthropiceasyrouter 输入 API Key 即可。

✅ 第三步:验证接入

启动 OpenCode 后输入 /models,查看是否出现 easyrouter-anthropic/claude-sonnet-4-6easyrouter/deepseek-v4-pro 等模型。选择目标模型后发送一条测试消息,收到正常响应即配置成功。

❓ 常见问题

问题解决方案
/models 看不到 EasyRouter 下的模型检查配置文件中 provider.easyrouter-anthropic.modelsprovider.easyrouter.models 是否有内容
提示模型不存在确认模型 ID 与 EasyRouter 控制台完全一致
API Key 无效检查 opencode.json 中的 apiKeyauth.json 是否正确;也可重跑 opencode auth login
Claude 模型调用报协议错误确认使用的是 easyrouter-anthropic provider(@ai-sdk/anthropic),而非 easyrouter@ai-sdk/openai-compatible
配置修改后没生效重新启动 OpenCode,项目级配置优先级高于全局