04. 把 CPA 添加为渠道
前提
CPA 已经可以单独调用:
curl -s http://127.0.0.1:8317/v1/models \
-H "Authorization: Bearer 你的CPA_API_KEY"返回模型列表说明 CPA 本身可用。
添加渠道
New API 后台:
渠道 -> 添加渠道字段按下面填。
| 字段 | 值 |
|---|---|
| 类型 | OpenAI |
| 名称 | CPA |
| 分组 | default |
| 模型 | 先填你要测试的模型,比如 gpt-5.4 |
| 密钥 | CPA 的 api-key |
| 代理 / Base URL | http://172.17.0.1:8317 |
保存后点“测试”。
为什么 Base URL 是 172.17.0.1
New API 运行在 Docker 容器里。容器内的 127.0.0.1 是 New API 容器自己,不是宿主机。
本次 CPA 通过宿主机暴露 8317,所以 New API 容器访问 CPA 要走 Docker bridge 网关:
http://172.17.0.1:8317如果以后把 New API 和 CPA 放到同一个自定义 Docker network,也可以用容器名访问,例如:
http://cli-proxy-api:8317但本次实际跑通的是 172.17.0.1。
从 New API 容器里测试 CPA
如果渠道测试失败,先在服务器执行:
docker exec new-api wget -qO- http://172.17.0.1:8317/v1/models \
--header="Authorization: Bearer 你的CPA_API_KEY"能返回模型列表,说明 New API 容器到 CPA 的网络通。
如果失败:
Connection refused:CPA 没监听宿主8317,或端口映射有问题。401 Unauthorized:CPA key 错了。timeout:容器网络、防火墙或 CPA 监听地址问题。
模型名
模型名要以 CPA 实际返回为准。先看列表:
curl -s http://127.0.0.1:8317/v1/models \
-H "Authorization: Bearer 你的CPA_API_KEY" | python3 -m json.toolNew API 渠道里填写的模型名必须和上游支持的模型名一致。
测试链路
渠道测试成功代表这条链路已经通:
New API -> CPA -> 上游账号/模型后续用户调用 New API 时,不再直接使用 CPA key,而是使用 New API 分发的用户 token。