by gesta-run
A lightweight, self-hosted AI subscription pool for teams.
# Add to your Claude Code skills
git clone https://github.com/gesta-run/subpoolLast scanned: 9/5/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-09-05T08:05:49.093Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how subpool compares with popular alternatives.
subpool is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by gesta-run. A lightweight, self-hosted AI subscription pool for teams. It has 84 GitHub stars.
Yes. subpool 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/gesta-run/subpool" and add it to your Claude Code skills directory (see the Installation section above).
subpool is primarily written in Go. It is open-source under gesta-run on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh subpool against similar tools.
No comments yet. Be the first to share your thoughts!
30 days in the Featured rail · terms & refunds
⚠️ 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.
Automated security scan — not a certification.
Subpool is a self-hosted control plane for allocating, governing, and auditing AI subscription capacity across teams. Administrators combine authorized subscription and API accounts into pools, distribute employee-specific keys, monitor remaining quota, and expose one consistent API without storing conversation content.
Release pages publish the current version, immutable container image coordinates, source commit, and complete notes from GitHub Releases.
Subpool is a single Go service with an embedded React console and PostgreSQL persistence.
Requires Docker Engine and Docker Compose.
cp .env.example .env
# Generate independent secrets and place them in .env.
openssl rand -base64 32
openssl rand -base64 32
openssl rand -hex 32
docker compose up -d
Replace every replace-with-* value. Docker Compose pulls the latest published Subpool image from ECR Public; no local image build is required. Open http://localhost:8080 and sign in with the administrator credentials from .env.
Codex subscriptions use device-code authorization. Copy the one-time code from Subpool, continue to OpenAI, and confirm it there. This works on remote and headless deployments without a localhost callback or an extra exposed port. Device-code login must be enabled in ChatGPT security or workspace settings.
GitHub Copilot subscriptions use GitHub Device OAuth. Select GitHub Copilot subscription, generate a one-time code, open the displayed GitHub verification URL, and approve the device. Subpool verifies that the GitHub account has Copilot access before saving its encrypted credential. Copilot accounts serve POST /v1/chat/completions, POST /v1/responses, Responses WebSocket requests, and GET /v1/models. Subpool reads each model's supported_endpoints metadata and forwards Responses requests to Copilot's native /responses endpoint when available. Models limited to /chat/completions use the compatibility translator for text and image messages, function and custom tools, structured output settings, streaming events, and protocol-level token usage. Subpool reads GitHub's AI credit entitlement separately for subscription capacity and routing; token telemetry is not presented as Copilot billing. On chat-only models, stateful previous_response_id continuation and provider-hosted tools such as web search remain unavailable; mixed pools can fail over those requests to another compatible provider.
Fast mode is controlled per Codex subscription account from the Accounts page. Subpool enforces the selected mode, so employees do not need to configure Fast mode in Codex.
After creating an employee API key, configure Codex on each user's machine to route requests through Subpool. Edit the user-level Codex configuration file:
/home/<username>/.codex/config.toml (or ~/.codex/config.toml)/Users/<username>/.codex/config.toml (or ~/.codex/config.toml)C:\Users\<username>\.codex\config.toml (or %USERPROFILE%\.codex\config.toml)Create the .codex directory and config.toml file if necessary. Replace https://subpool.example.com with your Subpool URL and sk-example-not-a-real-key with the employee API key created in Subpool.
model = "gpt-5.6-sol"
model_provider = "subpool"
model_reasoning_effort = "xhigh"
[model_providers.subpool]
name = "Subpool"
base_url = "https://subpool.example.com/v1"
wire_api = "responses"
experimental_bearer_token = "sk-example-not-a-real-key"
requires_openai_auth = false
supports_websockets = true
[features]
responses_websockets_v2 = true
Save the file, then restart Codex so the new provider and WebSocket settings are loaded. Codex subscription accounts use a dedicated upstream WebSocket, while OpenAI-compatible accounts use the existing HTTP/SSE bridge.
Available endpoints include GET/POST /v1/responses, POST /v1/chat/completions, GET /v1/models, GET /healthz, GET /readyz, and GET /metrics.
SUBPOOL_PUBLIC_URL to the public origin.SUBPOOL_CREDENTIAL_KEY and SUBPOOL_API_KEY_HMAC_KEY.SUBPOOL_MAX_REQUEST_BODY_BYTES, SUBPOOL_MAX_INFLIGHT_REQUEST_BODY_BYTES, and SUBPOOL_REQUEST_BODY_READ_TIMEOUT together for the available memory and network.SUBPOOL_COPILOT_CLIENT_ID, SUBPOOL_COPILOT_API_BASE, SUBPOOL_COPILOT_TOKEN_EXCHANGE_URL, and SUBPOOL_COPILOT_ENTITLEMENTS_URL are optional upstream overrides; most deployments should leave them unchanged.See .env.example for configuration options.
make compose-dev-up
make web-install
make dev
compose.dev.yaml builds subpool:local from the current source tree instead of pulling the published image.
Before opening a pull request:
make web-test
make web-build
go test ./...
Subpool is licensed under the Apache License 2.0. It is independent and self-hosted. Use only accounts you are authorized to manage, and review each upstream provider's terms before sharing access.