鸽子中转站
DOCUMENTATION / QUICK SETUP

鸽子中转站配置文档

这是给第一次配置中转站的用户看的教程。先找到你正在使用的 Agent 或接入工具,再照着对应步骤填写。OpenCode 使用文字教程;Hermes、Codex++ 和 CC Switch 按界面截图操作。

不会配置可以直接找群主

售后群:194217635。发送软件名称、打码后的配置截图和完整报错,免费协助排查;不要发送完整 API Key。

API Base URL https://api.doveli.top
01

OVERVIEW

先分清三个地址

不同软件会自行拼接接口路径。Base URL 多写或少写一层,是最常见的 404 原因。

用途 填写值 用于
站点根地址 https://api.doveli.top CC Switch → Claude Code(Responses + 路由)
OpenAI 兼容地址 https://api.doveli.top/v1 OpenCode、Hermes、Codex++
模型列表 https://api.doveli.top/v1/models 查询真实模型 ID
先改已有配置,再考虑新建

如果软件已经有供应商、MCP、插件或历史会话配置,不要整份覆盖。先备份原文件,只合并本页标出的字段;模型名称以模型列表返回的 id 为准。

02

PREPARE

创建密钥并选择分组

分组是 Sub2API 自带的路由机制,它决定密钥可使用的平台、模型和计费规则。你这版 Sub2API 会在创建密钥时要求选择分组。

  1. 1
    打开 API 密钥页面

    登录控制台,进入“API 密钥”,点击“创建密钥”。

    打开 API 密钥页面 ↗
  2. 2
    填写名称并选择可用分组

    名称只是方便自己辨认,例如“我的 OpenCode”。然后选择包含所需模型的分组;本教程中的 OpenCode、Hermes、Codex++,以及通过 CC Switch 接入 OpenAI 格式中转的 Claude Code,均使用 OpenAI 分组。

  3. 3
    保存并复制密钥

    示例统一写作 sk-xxxx。真实密钥只放在你自己的终端或私有配置中。

  4. 4
    查看“使用密钥”

    密钥列表中的“使用”按钮会显示当前分组可参考的配置。找不到目标模型时,先确认密钥选中的分组是否包含该模型。

看到 403 且提示未分组

回到 API 密钥列表,点击该密钥的分组列,重新选择一个可用分组。无需重新配置软件。

03

AGENT GUIDES

选择你的 Agent

接入工具

下面两个是帮助你填写和切换供应商的工具,不是 Agent 本身。

OC

AGENT / OPENCODE

OpenCode

桌面端 / CLI 共用

OpenCode 桌面端和 CLI 共用同一个配置目录。你已经有配置文件时,直接编辑它,不要为了接入中转站再新建第二份 JSON。

OpenCode 配置在这个位置

C:\Users\用户名\.config\opencode。把“用户名”换成你自己的 Windows 用户名,然后打开里面已有的 opencode.jsonopencode.jsonc。例如你的用户名是 XOS,路径就是 C:\Users\XOS\.config\opencode

1. 打开已有配置

  1. 1
    完全退出 OpenCode

    桌面端请退出窗口和托盘进程,CLI 也不要保持运行。

  2. 2
    打开配置目录

    Win + R,输入 C:\Users\你的用户名\.config\opencode 并回车。也可以从“此电脑 → C 盘 → 用户 → 你的用户名 → .config → opencode”一层层打开。

  3. 3
    保留原内容

    不要把原来的 pluginmcp、命令和其他供应商清空;只在对应位置增加或修改字段。

2. 修改原来的配置文件

右键配置文件,选择“打开方式 → 记事本”。如果里面已经有 pluginmcp 或其他供应商,不要删除;看不懂如何合并时,把打码后的原文件发给群主协助处理。

完整 opencode.jsonc 示例(把原来的 plugin、mcp 等配置合并回来)
{
  // OpenCode 配置文件格式说明。
  "$schema": "https://opencode.ai/config.json",

  // 默认使用的模型,格式为:供应商ID/模型ID。
  "model": "doveli/gpt-5.6-sol",

  // 自动压缩上下文,适合持续时间较长的对话和编程任务。
  "compaction": {
    // 开启后,在上下文即将达到限制时自动进行压缩。
    "auto": true,

    // 自动清理较早的工具调用输出,减少不必要的上下文占用。
    "prune": true
  },

  "provider": {
    // doveli 是自定义供应商 ID,可以改名,但上面的 model 前缀也要同步修改。
    "doveli": {
      "name": "鸽子中转站",

      // 使用 OpenAI 兼容接口。
      "npm": "@ai-sdk/openai-compatible",

      "options": {
        // 中转站接口地址必须保留结尾的 /v1。
        "baseURL": "https://api.doveli.top/v1",

        // 把下面的中文替换成自己在网站创建的 API Key。
        // 请勿把填写过真实 API Key 的配置文件发送给他人。
        "apiKey": "请在这里填写你的中转站API Key"
      },

      "models": {
        "gpt-5.6-sol": {
          "name": "GPT-5.6 Sol",
          "limit": {
            // 上下文容量。不了解模型真实上限时,建议先使用 128000。
            "context": 128000,

            // 单次回答允许的最大输出容量。
            "output": 32768
          }
        },

        "gpt-5.6-luna": {
          "name": "GPT-5.6 Luna",
          "limit": {
            "context": 128000,
            "output": 32768
          }
        },

        "gpt-5.6-terra": {
          "name": "GPT-5.6 Terra",
          "limit": {
            "context": 128000,
            "output": 32768
          }
        },

        "claude-fable-5": {
          "name": "Claude Fable 5",
          "limit": {
            "context": 128000,
            "output": 32768
          }
        }
      }
    }
  }
}
上下文和自动压缩

limit.context 是客户端用来计算上下文的模型信息,不会把上游强行扩容。不了解真实上限时先填 128000compaction.autoprune 负责自动压缩和清理旧工具输出。

3. 保存后确认是否成功

  1. 保存原文件,重新打开 OpenCode 桌面端或 CLI。
  2. 输入 /models,确认能看到 doveli / gpt-5.6-sol
  3. 发送“只回复 OK”。如果提示模型不存在,在 /models 中重新选择中转站实际显示的模型。
不要把带真实 Key 的配置发到群里

教程和截图使用中文占位符即可;真实 Key 只放在自己的配置中,并在截图前打码。

HM

AGENT / HERMES

Hermes

界面配置

Hermes 不需要修改 JSON,直接在设置界面填写中转站地址、模型和 API Key。

  1. 1
    打开自定义端点

    进入“设置 → 提供方 → 自定义端点”。已经有鸽子中转站就编辑原来的端点,没有才点击新增。

  2. 2
    填写地址和模型

    Endpoint URL 填 https://api.doveli.top/v1;Provider ID 可填 doveli;默认模型选择中转站实际提供的模型。

  3. 3
    填写 Key 并保存

    API Key 填网站创建的密钥,Context 保持 Auto;勾选“用于新对话”和“发现模型”,点击 Test,成功后 Save 和 Use。

Hermes 提供方和自定义端点设置界面
Hermes:提供方 → 自定义端点,地址填写 https://api.doveli.top/v1
C+

接入工具 / CODEX++

Codex++

Responses

Codex++ 是图形化客户端。已经有供应商时直接编辑原卡片;没有供应商才点击“新增”,不要反复创建同一个中转站。

1. 打开供应商配置

  1. 1
    进入“供应商配置”

    左侧选择“供应商配置”,打开现有供应商;需要新增时才点击“添加供应商”。

  2. 2
    类型选择“纯 API”

    配置模型填写实际模型 ID,例如 gpt-5.6-sol,不要在模型后面追加版本说明或中文名称。

  3. 3
    填写 Base URL 和 Key

    Base URL 必须是 https://api.doveli.top/v1,Key 填你在鸽子中转站创建的 API Key。

Codex++ 供应商配置界面,协议选择 Responses API
Codex++:纯 API、Base URL 带 /v1,上游协议选择 Responses API。

2. 保存并检查模型

  1. 点击“保存”,必要时点击“获取默认模型”或“获取模型列表”。
  2. 如果获取不到模型,优先检查 URL 是否写成了 /v1/v1,以及分组是否开放 Responses。
  3. 如果 Codex++ 的高级配置里有上下文选项,可以使用下面这组配置;没有看到这些选项就不用额外寻找。
Codex++ 可选上下文配置
model_context_window = 400000
model_auto_compact_token_limit = 330000
model_reasoning_effort = "xhigh"
Codex++ 和 CC Switch 不是同一套路径

Codex++ 直接使用 /v1;CC Switch 的 Claude Code 路由页面则使用不带 /v1 的根地址,后面请按各自章节操作。

CS

接入工具 / CC SWITCH

CC Switch

GUI

CC Switch 是帮助 Claude Code 或 Codex 填写、切换供应商的图形化工具,它本身不是 Agent。不同上游格式的选项不能照抄,先看清楚供应商提供的是 OpenAI 格式还是 Claude 格式。

下面的 Claude Code 截图以 OpenAI 格式中转为例

如果上游写的是“OpenAI 格式”“OpenAI 兼容”或“Responses”,API 格式选择 OpenAI Responses API(需开启路由),并按教程打开 CC Switch 路由。如果上游写的是“Claude 格式”“Anthropic 格式”或“Messages”,就保留/选择默认的 Claude(Anthropic)格式,不要照着截图改成 OpenAI Responses。

Claude Code本教程:OpenAI 格式根地址 + Responses API + 开启本地路由
Codex/v1 地址Responses API,直接连接

Claude Code:通过 CC Switch 接入

下面演示的是让 Claude Code 使用 OpenAI 格式中转:CC Switch 会在电脑本地进行路由转换。如果你使用的是 Claude/Anthropic 格式上游,请保留默认格式,不需要选择 OpenAI Responses。

1. 编辑或添加供应商

  1. 1
    选择 Claude Code

    在 CC Switch 顶部或应用选择器中进入 Claude Code,打开已有供应商卡片编辑;没有才点击“+”新增。

  2. 2
    请求地址不要写 /v1

    填写 https://api.doveli.top,不要写成 https://api.doveli.top/v1

  3. 3
    按上游格式选择 API 格式

    本教程使用 OpenAI 格式,因此在高级设置中选择“OpenAI Responses API(需开启路由)”,认证字段按默认选择 ANTHROPIC_AUTH_TOKEN。Claude/Anthropic 格式上游不要选择这一项。

CC Switch Claude Code 供应商编辑界面,根地址和 Responses API 设置
Claude Code 通过 CC Switch:根地址不带 /v1,格式选 OpenAI Responses API。

2. 获取模型并映射

  1. 点击“获取模型列表”,等待模型返回。
  2. 把 Sonnet、Opus、Fable、Haiku 等角色映射到实际模型 ID,例如 gpt-5.6-solgpt-5.6-terra
  3. 只有上游明确支持 1M 上下文时才勾选“1M”;不确定时保持关闭。
  4. 点击“添加”或“保存”,再启用该供应商。
CC Switch Claude Code 模型映射和获取模型列表界面
先获取模型,再把 Claude Code 的角色映射到中转站实际返回的模型 ID。

3. 开启本地路由

  1. 1
    进入设置 → 路由

    打开“路由总开关”。

  2. 2
    启用 Claude

    在“路由应用”里只打开 Claude;Codex 如果不走本地路由,不要一起打开。

  3. 3
    重新启动 Claude Code

    关闭旧终端和 Claude Code,再重新打开,让路由接管生效。

CC Switch 设置路由总开关和 Claude 路由开关界面
Claude Code 使用 GPT 供应商时,路由总开关和 Claude 路由开关都必须打开。

Codex:直接使用 Responses

Codex 的配置和 Claude Code 不同:地址带 /v1,选择 Responses API,不需要为 Codex 打开 Claude 路由。

  1. 进入 Codex 供应商编辑界面,打开“更多选项”。
  2. Base URL 填 https://api.doveli.top/v1
  3. 填写 API Key,点击获取默认模型或模型列表。
  4. 上游协议选择 Responses API,保存后重新启动 Codex。
CC Switch Codex Base URL 和默认模型设置界面
Codex 地址需要带 /v1
CC Switch Codex Responses 格式和获取模型列表界面
选择 Responses,并用获取模型列表检查配置。
最容易填错的地方

本教程的 Claude Code(OpenAI 格式 + CC Switch 路由)使用根地址、不带 /v1;CC Switch 中的 Codex、OpenCode、Hermes 和 Codex++ 使用带 /v1 的兼容地址。不要互换,否则常见结果就是 404、401 或 502。

04

TROUBLESHOOTING

按错误码排查

401Invalid API key / Unauthorized认证

密钥缺失、复制不完整,或软件没有读到保存的密钥。重新复制密钥,保存配置后彻底关闭软件,再重新打开。

403API Key is not assigned to any group分组

密钥没有绑定分组。回到控制台的 API 密钥列表,点击分组列并选择可用分组。Sub2API 默认禁止未分组密钥发起请求。

403Permission denied / model unavailable权限

当前分组没有开放该模型,或接入工具选错了 API 格式。先重新获取模型列表;通过 CC Switch 使用 Claude Code 时,再检查上游格式和本地路由是否对应。

404Not Found地址

本教程的 Claude Code(CC Switch + OpenAI 格式)填 https://api.doveli.top;OpenCode、Hermes、Codex++,以及 CC Switch 中的 Codex 填 https://api.doveli.top/v1。不要出现 /v1/v1/... 这样的重复路径。

429Rate limit / quota exceeded额度

检查余额、密钥额度、5 小时/日/周限制与并发数。等待窗口重置,或在控制台调整密钥限制。

model_not_found模型不存在模型

不要猜模型名。重新执行模型查询,把返回的 id 原样复制到配置中,并确认密钥分组没有改变。

stream响应中断或长时间无输出网络

先在软件中重新获取模型列表。列表正常但对话中断时,关闭软件后重新打开;持续出现则记下发生时间、模型和请求 ID,排查时不要发送完整密钥。

05

SECURITY

保护你的 API 密钥

只保存在配置位置

不要把 API Key 写进正在开发的项目文件、聊天内容或公开笔记。

不要提交到 Git

包含密钥的 settings.local.json.env 等文件必须加入 .gitignore

截图前检查

错误截图、终端历史和配置预览都可能暴露完整密钥。

泄露立即轮换

在控制台停用旧密钥并创建新密钥;仅修改名称不能阻止旧密钥调用。

06

FAQ

常见问题

一个密钥能同时给多个软件使用吗?

可以,但更建议每个软件单独创建密钥,便于查看用量、设置额度和发生泄露时单独撤销。

为什么文档没有写死推荐模型?

模型可用性由密钥分组和管理员配置决定,可能随时调整。以 GET /v1/models 的实时返回为准最可靠。

Claude Code 能用 OpenAI 格式的中转吗?

可以通过 CC Switch 的本地路由使用。供应商的 API 格式选择“OpenAI Responses API(需开启路由)”,再到“设置 → 路由”打开路由总开关和 Claude 路由;此时 CC Switch 需要保持运行。

修改分组后需要重新生成密钥吗?

通常不需要。密钥值不变时,重新获取模型列表并在所用软件中选择正确的模型即可。

CC Switch 必须一直在后台运行吗?

如果只是用它保存 Codex 的直连配置,保存后通常不需要一直运行;如果 Claude Code 使用本教程的 OpenAI Responses 路由方式,就必须让 CC Switch 保持运行。

07

SUPPORT

不会配置,直接找售后

售后群号:194217635。配置看不懂、软件报错或模型无法使用时,都可以联系群主免费协助排查。

  1. 说明你使用的软件,例如 OpenCode、Hermes、Codex++ 或 CC Switch。
  2. 发送完整报错文字;只有截图时,也尽量截全错误信息。
  3. 发送配置截图前先遮住 API Key,同时说明使用的模型和大概发生时间。
  4. 不要在群里发送完整 API Key、账户密码或其他私人信息。