Repository navigation
Release v7.2.150-fork.1
本项目是 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 ofinternal/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嵌入资源
- Embedded panel: Panel version: v1.12.8(来自 seakee/CPA-Manager-Plus 最新 release)
支持架构
linux/amd64— Intel / AMD 处理器linux/arm64— Apple Silicon (M1/M2/M3/M4)、ARM 服务器
构建信息
- 版本: v7.2.150-fork.1
- Commit: e5fcd0e
- 构建时间: 2026-09-04T20:02:20Z
- CPA 上游: router-for-me/CLIProxyAPI
- Panel 上游: seakee/CPA-Manager