Claude CLI 多租户代理 | 自动切换 | Web管理
5.9K
Multi-tenant Claude Code CLI proxy with admin UI, node failover, monitoring, usage analytics, notifications and Cloudflare Tunnel support.
curl -O https://raw.githubusercontent.com/yxhpy/qcc_plus/main/docker-compose.yml
docker compose up -d
Open: http://localhost:8000/admin
Default admin login:
adminadmin123Notes:
/v1/messagesdocker run -d \
--name qcc_plus \
-p 8000:8000 \
-e UPSTREAM_API_KEY=sk-ant-your-key \
yxhpy520/qcc_plus:latest
| Variable | Description | Default |
|---|---|---|
LISTEN_ADDR | Listen address | :8000 |
UPSTREAM_BASE_URL | Upstream base URL | https://api.anthropic.com |
UPSTREAM_API_KEY | Upstream API key | - |
PROXY_SQLITE_PATH | SQLite file path | ~/.qccplus/qccplus.db |
PROXY_MYSQL_DSN | MySQL DSN | - |
ADMIN_API_KEY | Admin proxy key | admin |
PROXY_HEALTH_CHECK_MODE | cli/api/head | cli |
PROXY_HEALTH_CHECK_ALL_INTERVAL | Full health scan interval | 10m |
TUNNEL_ENABLED | Enable Tunnel | false |
/admin/v1/messages with that account's x-api-keyExample:
curl -c cookies.txt -X POST \
-d "username=admin&password=admin123" \
http://localhost:8000/login
curl -b cookies.txt -X POST \
http://localhost:8000/admin/api/accounts \
-H "Content-Type: application/json" \
-d '{"name":"team-alpha","proxy_api_key":"alpha-key","is_admin":false}'
curl -b cookies.txt -X POST \
http://localhost:8000/admin/api/nodes \
-H "Content-Type: application/json" \
-d '{"name":"node-1","base_url":"https://api.anthropic.com","api_key":"sk-ant-your-key","weight":1}'
curl http://localhost:8000/v1/messages \
-H "x-api-key: alpha-key" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-4-5-20250929","messages":[{"role":"user","content":"Hello"}],"max_tokens":128}'
Content type
Image
Digest
sha256:cc98cb8da…
Size
170.5 MB
Last updated
6 months ago
docker pull yxhpy520/qcc_plus