Sign inSign up

yxhpy520/qcc_plus

By yxhpy520

•Updated 6 months ago

Claude CLI 多租户代理 | 自动切换 | Web管理

Image
API management
Web servers
0

5.9K

yxhpy520/qcc_plus repository overview

⁠QCC Plus

Version GitHub License

Multi-tenant Claude Code CLI proxy with admin UI, node failover, monitoring, usage analytics, notifications and Cloudflare Tunnel support.

⁠Core Features

  • multi-tenant account isolation
  • per-account node pools and proxy keys
  • automatic failover and health checks
  • React admin UI
  • monitoring dashboard and shared monitor pages
  • pricing, usage summary and request logs
  • notification channels and subscriptions
  • Cloudflare Tunnel integration

⁠Quick Start

⁠Docker Compose
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:

  • username: admin
  • password: admin123

Notes:

  • the server now defaults to SQLite storage
  • regular default accounts are not auto-created
  • create an account and node after first login before calling /v1/messages
⁠Single Container
docker run -d \
  --name qcc_plus \
  -p 8000:8000 \
  -e UPSTREAM_API_KEY=sk-ant-your-key \
  yxhpy520/qcc_plus:latest

⁠Important Environment Variables

VariableDescriptionDefault
LISTEN_ADDRListen address:8000
UPSTREAM_BASE_URLUpstream base URLhttps://api.anthropic.com
UPSTREAM_API_KEYUpstream API key-
PROXY_SQLITE_PATHSQLite file path~/.qccplus/qccplus.db
PROXY_MYSQL_DSNMySQL DSN-
ADMIN_API_KEYAdmin proxy keyadmin
PROXY_HEALTH_CHECK_MODEcli/api/headcli
PROXY_HEALTH_CHECK_ALL_INTERVALFull health scan interval10m
TUNNEL_ENABLEDEnable Tunnelfalse

⁠First API Call

  1. login to /admin
  2. create an account
  3. add a node
  4. call /v1/messages with that account's x-api-key

Example:

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}'

⁠More Docs

Tag summary

Content type

Image

Digest

sha256:cc98cb8da…

Size

170.5 MB

Last updated

6 months ago

docker pull yxhpy520/qcc_plus