by tbphp
Self-hosted AI gateway for multi-channel, multi-credential setups — API keys and subscription accounts, scheduling, failover, request logs and usage. 自托管 AI 网关:多渠道多凭据统一接入,含密钥与订阅账号、调度容错、日志与用量。
# Add to your Claude Code skills
git clone https://github.com/tbphp/gpt-loadGuides for using api integration skills like gpt-load.
Last scanned: 8/31/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-08-31T10:35:02.602Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}gpt-load is an open-source api integration skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by tbphp. Self-hosted AI gateway for multi-channel, multi-credential setups — API keys and subscription accounts, scheduling, failover, request logs and usage. 自托管 AI 网关:多渠道多凭据统一接入,含密钥与订阅账号、调度容错、日志与用量。. It has 6,283 GitHub stars.
Yes. gpt-load passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/tbphp/gpt-load" and add it to your Claude Code skills directory (see the Installation section above).
gpt-load is primarily written in Go. It is open-source under tbphp on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other API Integration skills you can browse and compare side by side. Open the API Integration category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh gpt-load against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
A self-hosted AI gateway for multi-channel, multi-credential setups
API keys, subscription accounts, traffic scheduling, failure handling, request logs, and usage accounting — behind a single entry point.
Your application only needs one base URL and one AccessKey. Providers, accounts, credentials, models, and routing policy are all configured in the management UI.
[!WARNING] If you are using 1.x, read Moving from 1.x first. 2.0 cannot open, import, or migrate 1.x data in place.
Requires Docker and Docker Compose.
git clone --depth 1 --branch v2 https://github.com/tbphp/gpt-load.git
cd gpt-load
cp .env.example .env
docker compose up -d
Confirm the service is up:
curl --fail http://127.0.0.1:3001/health
The first start generates a management key. Read it and store it safely:
docker compose exec gpt-load sh -c 'cat /app/data/auth.key'
Open http://127.0.0.1:3001 and sign in to the console with that key.
You can also set
AUTH_KEYexplicitly in.envbefore starting. By default the service listens on the loopback address only and is not exposed to the internet.
Initial setup takes three steps:
The Codex, Claude, and Antigravity OAuth clients use fixed callback ports. Compose publishes them on the address configured by HOST, which defaults to 127.0.0.1; setting HOST=0.0.0.0 also publishes these callback ports on all host interfaces. Because the ports are fixed by the upstream clients, only one default Compose instance can run on a host at a time.
When working over SSH or from a remote browser, the browser's localhost may not reach GPT-Load — paste the full callback URL into the authorization dialog to finish the flow.
Groups — View channels, models, credential counts, and health in one place
Subscription accounts — Track account availability, quota windows, reset times, and runtime diagnostics
AccessKey read-only home — Sign in with an AccessKey to view only its own groups, models, requests, usage, and cost allowance
Usage and cost — Review request trends, cache hit rate, token categories, and cost estimates
| Protocol | Main entry |
|---|---|
| OpenAI Chat Completions | POST /v1/chat/completions |
| OpenAI Responses | /v1/responses and its resource paths |
| OpenAI Images | POST /v1/images/... |
| OpenAI Embeddings | POST /v1/embeddings |
| Anthropic Messages | POST /v1/messages |
| Gemini | /v1beta/models/... |
Each channel declares exactly which protocols and capabilities it can execute. GPT-Load converts between supported capabilities, but it is not a general-purpose any-protocol, any-JSON translator.
Embeddings initially uses the native OpenAI-compatible wire only on the OpenAI, OpenRouter, and OpenAI Compatible API-key channels; subscription channels and protocol conversion are not supported. An AccessKey without a protocol filter keeps its existing “all enabled protocols” behavior and therefore gains Embeddings access after upgrade. Least-privilege deployments should configure an explicit protocol filter.
Docker Compose uses application-managed SQLite by default. Data lives in the gpt-load-data named volume and includes the database, auth.key, and encryption.key.
[!IMPORTANT]
encryption.keydecrypts channel credentials. When backing up or migrating, the database and the key must be kept together. Once the key is lost or replaced, existing encrypted credentials cannot be recovered, and this version does not support master key rotation.
Use the unified DATABASE_DSN to connect SQLite, MySQL, or PostgreSQL:
mysql://user:password@db.example:3306/gpt_load?charset=utf8mb4&collation=utf8mb4_bin
postgres://user:password@db.example:5432/gpt_load?sslmode=require
Common operations:
docker compose logs -f # view logs
docker compose pull && docker compose up -d # update to the latest 2.x image
docker compose stop # stop the service
The official 2.x Compose file uses ghcr.io/tbphp/gpt-load:v2beta and does not rely on the latest tag.
Download the build for your platform from GitHub Releases, and verify it against the bundled SHA256SUMS first:
chmod +x ./gpt-load-linux-amd64
HOST=127.0.0.1 DATA_DIR=./data ./gpt-load-linux-amd64
Then open http://127.0.0.1:3001. Portable builds are provided for five targets across Linux, macOS (amd64 / arm64), and Windows; gpt-load-windows-amd64.exe keeps running in the foreground as before.
Windows desktop users can instead download gpt-load-windows-setup.exe. After one administrator approval, Setup installs and starts a low-privilege Windows service, enables automatic startup, and creates desktop and Start Menu shortcuts to the GPT-Load management page. Setup displays the generated management key before it finishes; save it before closing the page. The protected copy remains at %ProgramData%\GPT-Load\data\auth.key. Service configuration and its .env live in `%Program