Skip to content

Release v7.2.150-fork.1

Choose a tag to compare

@github-actions github-actions released this 04 Sep 20:17
· 467 commits to main since this release

本项目是 router-for-me/CLIProxyAPI 的 Fork 版本,整合 seakee/CPA-Manager-Plus 作为 Manager Server,提供 SQLite 持久化的请求统计、模型价格、Codex 巡检等完整管理能力。

不需要以下增强建议直接使用 原项目。

一键部署

curl -O https://raw.githubusercontent.com/Martinfeng/CLIProxyAPI/main/docker-compose.yml
curl -o config.yaml https://raw.githubusercontent.com/Martinfeng/CLIProxyAPI/main/config.example.yaml
curl -o .env https://raw.githubusercontent.com/Martinfeng/CLIProxyAPI/main/.env.example
# 编辑 .env,把 MANAGEMENT_KEY 换成你自己的密码(openssl rand -hex 24 之类)
# 编辑 config.yaml,把 api-keys 段那三个 your-api-key-X 占位删了或换成真 key(见步骤 2 详解)
docker compose up -d

升级:docker compose pull && docker compose up -d

一个密码到底(v7.1.50-fork.1 起)

fork 已经把 MANAGEMENT_KEY 统一同时注入到 CPA 的 MANAGEMENT_PASSWORD 和 Plus 的 CPA_MANAGER_ADMIN_KEY。所以:

  • 你只用记一个密码(.env 里那一行)。
  • CPA 的 config.yaml 里 remote-management.secret-key 保持空字符串,CPA 直接走 env 校验(明文比对,line 283 of internal/api/handlers/management/handler.go),不再哈希写回。
  • Plus 启动日志会显示 CPA Manager Plus admin credential initialized,而不是之前那种一次性 cmp_admin_... 生成提示——因为 env 已经提供了。
  • Plus setup 页问"Manager 管理员密钥"和"CPA Management Key"两次时,两次都填同一个值就是 .env 里那个 MANAGEMENT_KEY。

从旧版升级(v7.1.50-fork.1 之前装过 CPA-Manager 的看这里)

v7.1.50-fork.1 起 Manager Server 从 seakee/cpa-manager 切到 seakee/cpa-manager-plus,docker-compose 里的服务名也从 cpa-manager 改成 cpa-manager-plus。docker compose down 不会清掉旧名容器(不在新 compose services 列表里),新容器启动时会撞 :18317 port is already allocated。

首次按新版起服务前先清理:

docker stop cpa-manager && docker rm cpa-manager
# 顺手回收旧 SQLite(v1.5.5 schema 与 Plus 不兼容,留着没用)
docker volume rm cliproxyapi_cpa-manager-data 2>/dev/null || true
docker compose pull && docker compose up -d

全新安装的用户跳过这一节。

首次部署后的操作(必读)

docker-compose 起来后只是把两个服务跑了,还需要在浏览器走一次 setup 流程才能用上 Manager Server 的完整能力。

步骤 1:准备 .env(统一密码)

下载 .env.example 并改名 .env,编辑 MANAGEMENT_KEY 一行换成你自己的密码(推荐 openssl rand -hex 24 生成):

MANAGEMENT_KEY=你自己生成的随机字符串

这一行同时是 CPA management key、Plus admin key、setup 页的 CPA Management Key —— 三个概念一个值。
没有 .env 或 MANAGEMENT_KEY 留空 docker compose up 会直接报错拒绝启动(避免裸跑无密码)。

步骤 2:处理 ./config.yaml(safemode + management key)

config.example.yaml 第 39-42 行有三个 your-api-key-1/2/3 占位。CPA fork 启动时会检测这些占位、进入 safemode 只起一个警告页(日志能看到 unsafe example API key configured,:8317 此时返回的不是正常 API 而是一个 HTML 警告页)。setup 时 Plus 容器调 http://cli-proxy-api:8317 拿到的也是这个 HTML 警告页、解析失败 → 浏览器报 网络连接失败。

编辑 ./config.yaml,两件事一起做:

1. 替换或清空 api-keys(必做,否则 safemode 一直拦着):

  • 用 OpenAI 兼容 API 转发功能 → 换成你自己生成的真 key(openssl rand -hex 24 之类)
  • 不用 → 直接清空:api-keys: []
# 之前
api-keys:
  - "your-api-key-1"
  - "your-api-key-2"
  - "your-api-key-3"

# 之后(任选其一)
api-keys: []
# 或
api-keys:
  - "sk-你生成的真实随机字符串"

2. 不要动 remote-management.secret-key:保持空字符串。CPA 已经通过 MANAGEMENT_PASSWORD env(由 .env 注入)校验,不需要也别在 config.yaml 再设一份(设了会被 CPA 启动时哈希、把明文丢掉、跟 Plus 端 env 对不上)。

完成后:

docker compose restart cli-proxy-api
docker compose logs cli-proxy-api 2>&1 | tail -10 | grep -E 'API server started|unsafe example'

应该只看到 API server started successfully on: :8317,不再有 unsafe example API key configured。

步骤 3:浏览器进 Plus 完成 setup

打开 http://localhost:18317/management.html,会进 setup 页(首次部署专属)。按顺序填:

字段 值
Manager 管理员密钥 .env 里的 MANAGEMENT_KEY
CPA 地址 http://cli-proxy-api:8317
CPA Management Key 同一个 MANAGEMENT_KEY(两次填同样值)
启用请求监控 建议开启
采集轮询间隔 用默认 500ms 即可

保存成功后,Plus 会:自动验证 CPA management API、自动打开 CPA 端的 usage-statistics-enabled、启动 auto 模式采集器(HTTP queue 优先,回退 RESP)、把 CPA 连接配置加密后存到 SQLite。

步骤 4:常态登录

之后每次浏览器访问 http://localhost:18317/management.html 只用 MANAGEMENT_KEY 登录。CPA Management Key 已经服务端托管不再输入。

监控、模型价格、API Key 别名、用量导入导出、服务端 Codex 巡检都在这个入口下。

关于 :8317/management.html

这个地址仍然能打开同一份 Plus panel(CPA 自动下载嵌入),用作纯 CPA 管理面板时正常。但在 Plus 设计下,:8317 入口的监控/统计/模型价格/Codex 巡检全部不可见,只有 :18317 入口才能用到 Manager Server 提供的能力。这是 Plus 上游的明确分工,本 fork 没有改动。

与原项目的区别

功能 原项目 本 Fork
请求统计持久化 仅内存,重启丢失 磁盘 JSON + 32 天保留;可选 SQLite(CPA-Manager-Plus)
Management 面板 router-for-me/Cli-Proxy-API-Management-Center seakee/CPA-Manager-Plus
监控/模型价格/Codex 巡检 无 Plus Manager Server 提供(:18317 入口)
上游同步 - 每 2 小时自动检查 CPA + Plus,任一更新即出 release

仅拉镜像

docker pull kaelsen/cli-proxy-api:v7.2.150-fork.1
# or
docker pull kaelsen/cli-proxy-api:latest

嵌入资源

支持架构

  • linux/amd64 — Intel / AMD 处理器
  • linux/arm64 — Apple Silicon (M1/M2/M3/M4)、ARM 服务器

构建信息