CLIProxyAPI 教程:从安装到高级使用
作者:基于与 xiaofeng (@xfwlwork) 的讨论生成
日期:2026 年 3 月 6 日
版本:适用于 CLIProxyAPI v6.8.32+(最新版 v6.8.44)
GitHub 仓库:https://github.com/router-for-me/CLIProxyAPI
引言
CLIProxyAPI 是一个开源的 AI 代理工具,支持通过 OAuth 方式白嫖多个 AI 模型(如 OpenAI/ChatGPT、Gemini、Claude 等)的网页版 token,并实现多账号负载均衡。它暴露标准 OpenAI API 接口,便于集成到各种工具中(如 Cursor、VSCode、Python SDK 等)。
本教程基于我们之前的讨论,涵盖从 Linux 安装到开机自启、更新等全流程。特别适合 VPS(如 RackNerd)用户。教程假设你是 root 用户操作。如果你是新手,优先用一键脚本安装。
注意:
此工具用于个人学习/测试。OpenAI 等厂商可能风控账号,高并发或公开分享可能导致封号。
支持模型:GPT-4o、o1、Gemini-2.5-pro、Claude 等(取决于你的订阅)。
依赖:Linux(Ubuntu/Debian 等),Go 环境可选(脚本自动处理)。
1. 安装 CLIProxyAPI
方式 1: 一键安装脚本(推荐,新手首选)
脚本自动下载最新版、创建 systemd 服务、生成 config.yaml 和 API keys。
curl -fsSL https://raw.githubusercontent.com/brokechubb/cliproxyapi-installer/refs/heads/master/cliproxyapi-installer | bash
Bash
安装目录:/root/cliproxyapi
自动生成 API keys(如 sk-0eMCVWeK9RPociaRSMEPBlY3OKL8xVho8mQBh166POTAx)。
完成提示:包括如何启动服务和登录 OAuth。
如果提示 “CLIProxyAPI not installed, performing fresh installation”,表示成功。
方式 2: 手动源码编译(适用于自定义)
需要 Go ≥1.22。
# 安装 Go(如果没有)
sudo apt update && sudo apt install golang-go -y
git clone https://github.com/router-for-me/CLIProxyAPI.git
cd CLIProxyAPI
go build -o cli-proxy-api ./cmd/server
chmod +x cli-proxy-api
sudo mv cli-proxy-api /usr/local/bin/
Bash
方式 3: Docker 部署(隔离性好)
git clone https://github.com/router-for-me/CLIProxyAPI.git
cd CLIProxyAPI
# 编辑 docker-compose.yml(改端口、卷挂载)
docker compose up -d
Bash
2. 配置 config.yaml
进入安装目录:
cd /root/cliproxyapi
nano config.yaml
Bash
最小配置示例(只启用 OpenAI Codex 和管理后台):
server:
host: 0.0.0.0
port: 8317 # API 端口(可改)
management:
enabled: true
port: 39517 # 管理后台端口
providers:
codex:
enabled: true
api-keys:
– “sk-****************************************************”
– “sk-****************************************************”
debug: false
YAML
api-keys:用于客户端认证,随便填或用生成的。
保存后,重启服务生效。
高级:加 proxy、改模型 alias 等(详见官方 README)。
3. 添加 OAuth 账号(白嫖 token)
CLIProxyAPI 支持多账号轮询(round-robin + failover)。
步骤:
进入目录:cd /root/cliproxyapi
运行登录命令(替换为对应 provider)。
OpenAI/ChatGPT (Codex):
./cli-proxy-api –codex-login –no-browser # 纯命令行,打印 URL
Bash
浏览器打开打印的 URL,用 ChatGPT Plus/Pro 账号授权。
成功保存到 ~/.cli-proxy-api/(如 codex-xxx.json)。
重复添加多个账号。
Gemini (Google):
./cli-proxy-api –login –no-browser
Bash
选择模式(1: Code Assist, 2: Google One)。
示例:用 @gmail.com 登录,自动发现项目 ID。
Claude (Anthropic):
./cli-proxy-api –claude-login –no-browser
Bash
其他:Qwen (–qwen-login)、iFlow (–iflow-login)。
提示:
端口:Codex 用 1455,Gemini 用 8085(防火墙放行)。
多账号:程序自动负载均衡,额度用完跳下一个。
存储:auth 文件在 ~/.cli-proxy-api/,备份以防丢失。
4. 启动服务
前台启动(测试用):
cd /root/cliproxyapi
./cli-proxy-api
Bash
日志:API server started successfully on: :8317
后台启动(systemd):
sudo systemctl start cliproxyapi.service
sudo systemctl status cliproxyapi.service
Bash
日志:sudo journalctl -u cliproxyapi.service -f
5. 测试接口
用 curl 测试 OpenAI 兼容接口:
curl http://127.0.0.1:8317/v1/chat/completions \
-H “Content-Type: application/json” \
-H “Authorization: Bearer sk-0eMCVWeK9RPociaRSMEPBlY3OKL8xVho8mQBh166POTAx” \
-d ‘{
“model”: “gpt-4o”, # 或 gemini-2.5-pro
“messages”: [{“role”: “user”, “content”: “Hello test!”}]
}’
Bash
查看支持模型:
curl http://127.0.0.1:8317/v1/models -H “Authorization: Bearer sk-xxx”
Bash
集成示例(Python):
from openai import OpenAI
client = OpenAI(base_url=”http://你的IP:8317/v1″, api_key=”sk-xxx”)
response = client.chat.completions.create(model=”gpt-4o”, messages=[{“role”: “user”, “content”: “Hi”}])
print(response.choices[0].message.content)
Python
6. 启用管理后台(Web UI)
编辑 config.yaml 加:
management:
enabled: true
port: 39517
YAML
重启服务。下载静态 HTML:
wget https://raw.githubusercontent.com/router-for-me/Cli-Proxy-API-Management-Center/main/dist/index.html -O management.html
Bash
访问:http://你的IP:39517/management.html
功能:图形化添加账号、查看统计、刷新 token。
备选:用 CPA-X 面板(https://github.com/ferretgeek/CPA-X)增强 UI。
7. 开机自启
CLIProxyAPI 用 systemd 服务实现。
系统级服务(推荐,独立于登录):
编辑 /etc/systemd/system/cliproxyapi.service:
[Unit]
Description=CLIProxyAPI Service
After=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/root/cliproxyapi
ExecStart=/root/cliproxyapi/cli-proxy-api
Restart=always
RestartSec=10
Environment=HOME=/root
[Install]
WantedBy=multi-user.target
Ini
应用:
sudo systemctl daemon-reload
sudo systemctl enable cliproxyapi.service
sudo systemctl start cliproxyapi.service
sudo systemctl status cliproxyapi.service
Bash
测试:sudo reboot,重启后检查 status。
用户级(如果坚持用 –user):
systemctl –user enable cliproxyapi.service
sudo loginctl enable-linger root # 持久化
Bash
8. 更新 CLIProxyAPI
用一键脚本升级(自动备份 config):
cd /root/cliproxyapi
curl -fsSL https://raw.githubusercontent.com/brokechubb/cliproxyapi-installer/refs/heads/master/cliproxyapi-installer | bash
Bash
验证:cat version.txt 和 sudo systemctl status cliproxyapi.service。
9. 常见问题 QA(基于我们的对话)
Q: 如何在 Linux 上安装 CLIProxyAPI?
A: 用一键脚本:curl -fsSL https://raw.githubusercontent.com/brokechubb/cliproxyapi-installer/refs/heads/master/cliproxyapi-installer | bash。安装后目录在 /root/cliproxyapi。
Q: 如何添加 OpenAI OAuth 账号?
A: ./cli-proxy-api –codex-login –no-browser,浏览器打开打印 URL 授权。重复添加多账号实现负载均衡。
Q: 服务启动后如何测试?
A: 用 curl 测试 /v1/chat/completions,model 如 “gpt-4o”。查看模型用 /v1/models。
Q: 这个项目只有命令行,没有控制面板?
A: 是的,主要 CLI 操作。但启用 management 后,可用静态 HTML 面板(management.html)。备选项目如 codex-lb 或 One-API 有更强 dashboard。
Q: 服务为什么只有打开命令窗口(SSH)才运行?
A: 因为默认是 –user 服务,依赖 session。解决:切换到系统级服务(/etc/systemd/system/),或启用 lingering (sudo loginctl enable-linger root)。
Q: 如何开机自启?
A: sudo systemctl enable cliproxyapi.service(系统级)。验证用 status 和 reboot 测试。
Q: 如何更新 cliproxyapi.service 文件?
A: 编辑 /etc/systemd/system/cliproxyapi.service,然后 sudo systemctl daemon-reload 和 restart。
Q: 账号被风控怎么办?
A: 用干净账号、加代理、低并发。个人自用,避免公开分享。
Q: 支持其他模型吗?
A: 是,如 Gemini (–login)、Claude (–claude-login)。日志会显示加载的 auth。
10. 高级提示 & 注意事项
风险:厂商风控频繁(2025-2026 年常见)。用 IP 隔离、慢速请求。
扩展:整合 One-API 做混合渠道。
调试:日志用 journalctl。端口冲突用 netstat -tuln | grep 8317。
类似项目:codex-lb(OAuth 专用 + dashboard)、One-API(多渠道管理)。
如果有问题,参考官方 docs 或继续讨论!
https://www.xfwlwork.com/archives/cliproxyapi-jiao-cheng-cong-an-zhuang-dao-gao-ji-shi-yong