安装 Linux
推荐使用 docker 安装
配置文件
bash
mkdir -p /opt/cliproxyapi/auth
API_KEY=$(openssl rand -hex 32)
MGMT_KEY=$(openssl rand -hex 32)
cat > /opt/cliproxyapi/config.yaml <<EOF
host: ""
port: 8317
auth-dir: "~/.cli-proxy-api"
api-keys:
- "$API_KEY"
remote-management:
allow-remote: false
secret-key: "$MGMT_KEY"
disable-control-panel: false
commercial-mode: true
logging-to-file: false
request-retry: 3
quota-exceeded:
switch-project: true
switch-preview-model: true
EOF
echo "API_KEY=$API_KEY"
echo "MGMT_KEY=$MGMT_KEY"启动服务
bash
docker run -d \
--name cli-proxy-api \
--restart unless-stopped \
-p 8317:8317 \
-v /opt/cliproxyapi/config.yaml:/CLIProxyAPI/config.yaml \
-v /opt/cliproxyapi/auth:/root/.cli-proxy-api \
eceasy/cli-proxy-api:latestOAuth 登录
bash
docker run --rm -it \
-p 1455:1455 \
-v /opt/cliproxyapi/config.yaml:/CLIProxyAPI/config.yaml \
-v /opt/cliproxyapi/auth:/root/.cli-proxy-api \
eceasy/cli-proxy-api:latest \
/CLIProxyAPI/CLIProxyAPI -no-browser --codex-login在你自己电脑上开 SSH 隧道,然后用浏览器完成授权,以 CodeX 为例:
bash
ssh -L 1455:127.0.0.1:1455 root@你的服务器IP -p SSH端口号然后把容器输出的授权链接复制到你本地浏览器打开,完成登录。
验证
bash
curl http://127.0.0.1:8317/v1/models \
-H "Authorization: Bearer 你的API_KEY"如果能返回模型列表,CLIProxyAPI 就跑通了。
打开 SSH 隧道
bash
ssh -L 8317:127.0.0.1:8317 root@你的服务器IP -p SSH端口号本地浏览 http://localhost:8317/management.html 就可以开始配置账号池了。
问题:
- 管理秘钥
可以直接看这个文件:
/opt/cliproxyapi/config.yaml
yaml
api-keys:
- "这是普通调用key"
remote-management:
allow-remote: false
secret-key: "这个就是管理秘钥"
disable-control-panel: false实际上就是之前创建命令后打印出来的 MGMT_KEY
bash
echo "API_KEY=$API_KEY"
echo "MGMT_KEY=$MGMT_KEY"如果你忘了这个值,最简单的办法就是将secret-key直接改成新的,然后重启容器。
- 提示权限不足
如果使用 Docker 部署,运行以下命令:
bash
docker inspect cli-proxy-api --format '{{range .Mounts}}{{println .Source "->" .Destination}}{{end}}'
docker exec cli-proxy-api sh -lc 'sed -n "1,80p" /CLIProxyAPI/config.yaml'
curl -i -H "Authorization: Bearer 你设置的管理秘钥" http://127.0.0.1:8317/v0/management/usage如果出现:
ERROR
{"error":"remote management disabled"}
说明是 Docker 的网络问题。
首先需要修改:
yaml
remote-management:
allow-remote: true
secret-key: "这个就是管理秘钥"
disable-control-panel: false重新创建容器,把端口只绑定到本机,不暴露公网
bash
docker rm -f cli-proxy-api
docker run -d \
--name cli-proxy-api \
--restart unless-stopped \
-p 127.0.0.1:8317:8317 \
-v /opt/cliproxyapi/config.yaml:/CLIProxyAPI/config.yaml \
-v /opt/cliproxyapi/auth:/root/.cli-proxy-api \
eceasy/cli-proxy-api:latest