中转服务从零部署
中转服务从零部署
这篇文章只保留真正能直接执行的部署步骤,目标是让一台新的云服务器尽快把
CPA / CLIProxyAPI和new-api跑起来。
如果你后面还要把 Codex、Claude Code 或其它客户端统一接进来,这篇文章就可以直接当部署底稿来用。以下内容默认基于 Docker 容器部署,且云服务器需提供登录方式。
这篇文档的范围很明确,只处理这两个项目:
CPA / CLIProxyAPInew-api
一、服务器连接
当前线上服务器参考:
- 公网 IP:
139.155.128.49 - 登录用户:
ubuntu - SSH 私钥:
C:\Users\Lenovo\.ssh\tencent\MuYue.pem
连接命令:
1 | ssh -i "C:\Users\Lenovo\.ssh\tencent\MuYue.pem" ubuntu@139.155.128.49 |
二、安装 Docker 和 Docker Compose
在 Ubuntu 上执行:
1 | sudo apt update |
验证:
1 | docker --version |
注意:
- 执行完
usermod -aG docker ubuntu后,最好重新登录一次 SSH
三、部署 CPA / CLIProxyAPI
3.1 创建目录
1 | mkdir -p /home/ubuntu/cliproxyapi/auths |
3.2 写 docker-compose.yml
保存为 /home/ubuntu/cliproxyapi/docker-compose.yml
1 | services: |
3.3 写 config.yaml
保存为 /home/ubuntu/cliproxyapi/config.yaml
1 | host: |
说明:
remote-management.secret-key:CPA 管理后台密码api-keys:给new-api或其他客户端调用/v1/*的 Bearer key
3.4 写 mihomo/config.yaml
保存为 /home/ubuntu/cliproxyapi/mihomo/config.yaml
1 | allow-lan: true |
3.5 启动 CPA
1 | cd /home/ubuntu/cliproxyapi |
3.6 验证 CPA
检查根路径:
1 | curl http://127.0.0.1:8317/ |
预期会返回:
1 | {"endpoints":["POST /v1/chat/completions","POST /v1/completions","GET /v1/models"],"message":"CLI Proxy API Server"} |
检查模型接口:
1 | curl -H "Authorization: Bearer <CPA 的 API Key>" http://127.0.0.1:8317/v1/models |
如果还没登录账号,这一步可能没有模型;先继续下一步账号登录。
四、给 CPA 登录 GPT Plus / Codex 账号
4.1 打开管理页
1 | http://服务器IP:8317/management.html |
用 remote-management.secret-key 登录。
4.2 登录账号
在管理页里进入 OAuth / Codex 登录页,开始登录。
流程:
- 点击开始 Codex 登录
- 浏览器打开 OpenAI 授权页
- 登录 GPT Plus / Codex 账号
- 浏览器跳转到:
1 | http://localhost:1455/auth/callback?code=...&scope=...&state=... |
- 复制完整回调 URL
- 回到管理页提交
- 等待状态变成成功
成功后,服务器上会出现新文件:
1 | find /home/ubuntu/cliproxyapi/auths -maxdepth 1 -type f |
五、部署 new-api
5.1 拉代码
1 | cd /home/ubuntu |
5.2 使用项目自带 compose 启动
1 | docker compose up -d |
5.3 验证 new-api
1 | curl http://127.0.0.1:3000/api/status |
预期包含:
1 | "success": true |
六、在 new-api 中接入 CPA
6.1 先拿到 Docker 网关地址
new-api 容器不能直接用 127.0.0.1:8317 去访问 CPA。
必须先执行:
1 | sudo docker inspect new-api --format '{{range .NetworkSettings.Networks}}{{.Gateway}} {{end}}' |
当前线上实测值是:
1 | 172.18.0.1 |
但新服务器上不要写死,重新查。
6.2 在 new-api 后台新增渠道
进入 new-api 管理后台,新增一个 OpenAI 类型渠道:
- 类型:
OpenAI - 名称:
cliproxyapi - Base URL:
http://<Docker网关IP>:8317 - API Key:填写 CPA 的
api-keys里那个值 - 模型:按
CPA /v1/models返回的模型填写
当前线上实测跑通的模型包括:
gpt-5gpt-5.1gpt-5.1-codexgpt-5.1-codex-minigpt-5.1-codex-maxgpt-5.2gpt-5.2-codexgpt-5.3-codexgpt-5.3-codex-sparkgpt-5.4gpt-5.4-minigpt-5-codexgpt-5-codex-mini
七、验证整条链路
7.1 验证 CPA
1 | curl -H "Authorization: Bearer <CPA 的 API Key>" http://127.0.0.1:8317/v1/models |
7.2 验证 new-api
用 new-api 的 token 去请求:
1 | curl http://127.0.0.1:3000/v1/models \ |
7.3 验证真实聊天请求
1 | curl http://127.0.0.1:3000/v1/chat/completions \ |
八、必要注意事项
只保留这几个最关键的:
- 先部署
CPA,再部署new-api new-api连接CPA时,不要写127.0.0.1:8317CPA的 OAuth 登录完成后,要及时提交完整回调 URL- 管理后台密码和 CPA API key 建议自己重新生成
new-api自带 compose 里的数据库默认密码是123456,正式长期运行建议修改- 重要目录建议至少保留:
/home/ubuntu/cliproxyapi/config.yaml/home/ubuntu/cliproxyapi/auths//home/ubuntu/cliproxyapi/mihomo/config.yaml/home/ubuntu/new-api/data/
