Skip to content

安装 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:latest

OAuth 登录

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 就可以开始配置账号池了。

问题:

  1. 管理秘钥

可以直接看这个文件:

/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直接改成新的,然后重启容器。

  1. 提示权限不足

如果使用 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