鸽子中转站配置文档
这是给第一次配置中转站的用户看的教程。先找到你正在使用的 Agent 或接入工具,再照着对应步骤填写。OpenCode 使用文字教程;Hermes、Codex++ 和 CC Switch 按界面截图操作。
售后群:194217635。发送软件名称、打码后的配置截图和完整报错,免费协助排查;不要发送完整 API Key。
https://api.doveli.top
OVERVIEW
先分清三个地址
不同软件会自行拼接接口路径。Base URL 多写或少写一层,是最常见的 404 原因。
https://api.doveli.top
CC Switch → Claude Code(Responses + 路由)
https://api.doveli.top/v1
OpenCode、Hermes、Codex++
https://api.doveli.top/v1/models
查询真实模型 ID
如果软件已经有供应商、MCP、插件或历史会话配置,不要整份覆盖。先备份原文件,只合并本页标出的字段;模型名称以模型列表返回的 id 为准。
PREPARE
创建密钥并选择分组
分组是 Sub2API 自带的路由机制,它决定密钥可使用的平台、模型和计费规则。你这版 Sub2API 会在创建密钥时要求选择分组。
-
1
打开 API 密钥页面
登录控制台,进入“API 密钥”,点击“创建密钥”。
打开 API 密钥页面 ↗ -
2
填写名称并选择可用分组
名称只是方便自己辨认,例如“我的 OpenCode”。然后选择包含所需模型的分组;本教程中的 OpenCode、Hermes、Codex++,以及通过 CC Switch 接入 OpenAI 格式中转的 Claude Code,均使用 OpenAI 分组。
-
3
保存并复制密钥
示例统一写作
sk-xxxx。真实密钥只放在你自己的终端或私有配置中。 -
4
查看“使用密钥”
密钥列表中的“使用”按钮会显示当前分组可参考的配置。找不到目标模型时,先确认密钥选中的分组是否包含该模型。
回到 API 密钥列表,点击该密钥的分组列,重新选择一个可用分组。无需重新配置软件。
AGENT GUIDES
选择你的 Agent
接入工具
下面两个是帮助你填写和切换供应商的工具,不是 Agent 本身。
AGENT / OPENCODE
OpenCode
OpenCode 桌面端和 CLI 共用同一个配置目录。你已经有配置文件时,直接编辑它,不要为了接入中转站再新建第二份 JSON。
C:\Users\用户名\.config\opencode。把“用户名”换成你自己的 Windows 用户名,然后打开里面已有的 opencode.json 或 opencode.jsonc。例如你的用户名是 XOS,路径就是 C:\Users\XOS\.config\opencode。
1. 打开已有配置
- 1完全退出 OpenCode
桌面端请退出窗口和托盘进程,CLI 也不要保持运行。
- 2打开配置目录
按
Win + R,输入C:\Users\你的用户名\.config\opencode并回车。也可以从“此电脑 → C 盘 → 用户 → 你的用户名 → .config → opencode”一层层打开。 - 3保留原内容
不要把原来的
plugin、mcp、命令和其他供应商清空;只在对应位置增加或修改字段。
2. 修改原来的配置文件
右键配置文件,选择“打开方式 → 记事本”。如果里面已经有 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 是客户端用来计算上下文的模型信息,不会把上游强行扩容。不了解真实上限时先填 128000;compaction.auto 和 prune 负责自动压缩和清理旧工具输出。
3. 保存后确认是否成功
- 保存原文件,重新打开 OpenCode 桌面端或 CLI。
- 输入
/models,确认能看到doveli / gpt-5.6-sol。 - 发送“只回复 OK”。如果提示模型不存在,在
/models中重新选择中转站实际显示的模型。
教程和截图使用中文占位符即可;真实 Key 只放在自己的配置中,并在截图前打码。
AGENT / HERMES
Hermes
Hermes 不需要修改 JSON,直接在设置界面填写中转站地址、模型和 API Key。
- 1打开自定义端点
进入“设置 → 提供方 → 自定义端点”。已经有鸽子中转站就编辑原来的端点,没有才点击新增。
- 2填写地址和模型
Endpoint URL 填
https://api.doveli.top/v1;Provider ID 可填doveli;默认模型选择中转站实际提供的模型。 - 3填写 Key 并保存
API Key 填网站创建的密钥,Context 保持 Auto;勾选“用于新对话”和“发现模型”,点击 Test,成功后 Save 和 Use。
https://api.doveli.top/v1。接入工具 / CODEX++
Codex++
Codex++ 是图形化客户端。已经有供应商时直接编辑原卡片;没有供应商才点击“新增”,不要反复创建同一个中转站。
1. 打开供应商配置
- 1进入“供应商配置”
左侧选择“供应商配置”,打开现有供应商;需要新增时才点击“添加供应商”。
- 2类型选择“纯 API”
配置模型填写实际模型 ID,例如
gpt-5.6-sol,不要在模型后面追加版本说明或中文名称。 - 3填写 Base URL 和 Key
Base URL 必须是
https://api.doveli.top/v1,Key 填你在鸽子中转站创建的 API Key。
/v1,上游协议选择 Responses API。2. 保存并检查模型
- 点击“保存”,必要时点击“获取默认模型”或“获取模型列表”。
- 如果获取不到模型,优先检查 URL 是否写成了
/v1/v1,以及分组是否开放 Responses。 - 如果 Codex++ 的高级配置里有上下文选项,可以使用下面这组配置;没有看到这些选项就不用额外寻找。
model_context_window = 400000
model_auto_compact_token_limit = 330000
model_reasoning_effort = "xhigh"
Codex++ 直接使用 /v1;CC Switch 的 Claude Code 路由页面则使用不带 /v1 的根地址,后面请按各自章节操作。
接入工具 / CC SWITCH
CC Switch
CC Switch 是帮助 Claude Code 或 Codex 填写、切换供应商的图形化工具,它本身不是 Agent。不同上游格式的选项不能照抄,先看清楚供应商提供的是 OpenAI 格式还是 Claude 格式。
如果上游写的是“OpenAI 格式”“OpenAI 兼容”或“Responses”,API 格式选择 OpenAI Responses API(需开启路由),并按教程打开 CC Switch 路由。如果上游写的是“Claude 格式”“Anthropic 格式”或“Messages”,就保留/选择默认的 Claude(Anthropic)格式,不要照着截图改成 OpenAI Responses。
/v1 地址Responses API,直接连接Claude Code:通过 CC Switch 接入
下面演示的是让 Claude Code 使用 OpenAI 格式中转:CC Switch 会在电脑本地进行路由转换。如果你使用的是 Claude/Anthropic 格式上游,请保留默认格式,不需要选择 OpenAI Responses。
1. 编辑或添加供应商
- 1选择 Claude Code
在 CC Switch 顶部或应用选择器中进入 Claude Code,打开已有供应商卡片编辑;没有才点击“+”新增。
- 2请求地址不要写 /v1
填写
https://api.doveli.top,不要写成https://api.doveli.top/v1。 - 3按上游格式选择 API 格式
本教程使用 OpenAI 格式,因此在高级设置中选择“OpenAI Responses API(需开启路由)”,认证字段按默认选择
ANTHROPIC_AUTH_TOKEN。Claude/Anthropic 格式上游不要选择这一项。
/v1,格式选 OpenAI Responses API。2. 获取模型并映射
- 点击“获取模型列表”,等待模型返回。
- 把 Sonnet、Opus、Fable、Haiku 等角色映射到实际模型 ID,例如
gpt-5.6-sol、gpt-5.6-terra。 - 只有上游明确支持 1M 上下文时才勾选“1M”;不确定时保持关闭。
- 点击“添加”或“保存”,再启用该供应商。
3. 开启本地路由
- 1进入设置 → 路由
打开“路由总开关”。
- 2启用 Claude
在“路由应用”里只打开 Claude;Codex 如果不走本地路由,不要一起打开。
- 3重新启动 Claude Code
关闭旧终端和 Claude Code,再重新打开,让路由接管生效。
Codex:直接使用 Responses
Codex 的配置和 Claude Code 不同:地址带 /v1,选择 Responses API,不需要为 Codex 打开 Claude 路由。
- 进入 Codex 供应商编辑界面,打开“更多选项”。
- Base URL 填
https://api.doveli.top/v1。 - 填写 API Key,点击获取默认模型或模型列表。
- 上游协议选择 Responses API,保存后重新启动 Codex。
/v1。
本教程的 Claude Code(OpenAI 格式 + CC Switch 路由)使用根地址、不带 /v1;CC Switch 中的 Codex、OpenCode、Hermes 和 Codex++ 使用带 /v1 的兼容地址。不要互换,否则常见结果就是 404、401 或 502。
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,排查时不要发送完整密钥。
SECURITY
保护你的 API 密钥
不要把 API Key 写进正在开发的项目文件、聊天内容或公开笔记。
包含密钥的 settings.local.json、.env 等文件必须加入 .gitignore。
错误截图、终端历史和配置预览都可能暴露完整密钥。
在控制台停用旧密钥并创建新密钥;仅修改名称不能阻止旧密钥调用。
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 保持运行。
SUPPORT
不会配置,直接找售后
售后群号:194217635。配置看不懂、软件报错或模型无法使用时,都可以联系群主免费协助排查。
- 说明你使用的软件,例如 OpenCode、Hermes、Codex++ 或 CC Switch。
- 发送完整报错文字;只有截图时,也尽量截全错误信息。
- 发送配置截图前先遮住 API Key,同时说明使用的模型和大概发生时间。
- 不要在群里发送完整 API Key、账户密码或其他私人信息。
换一个关键词试试,例如“Codex”“403”或“分组”。