<h1 align="center">Codex Pooler</h1>
<p align="center">
<strong>One gateway for many Codex accounts.</strong><br>
Pool capacity, preserve sessions, route requests, and expose stable API keys
for agents and tools.
</p>
<p align="center">
<a href="#quick-start-with-docker-compose">Quick start</a>
·
<a href="#harness-configuration">Harness</a>
·
<a href="#configuration">Configuration</a>
·
<a href="#deployment">Deployment</a>
</p>
<p align="center">
<img src=".github/assets/codex-pooler-readme-banner.png" alt="Codex Pooler gateway overview">
</p>
<table>
<tr>
<td align="center" valign="top" width="33%">
<a href=".github/assets/screen1.png">
<img src=".github/assets/screen1.png" alt="Codex Pooler upstream account readiness" width="100%">
</a><br>
<sub>Upstreams</sub>
</td>
<td align="center" valign="top" width="33%">
<a href=".github/assets/screen2.png">
<img src=".github/assets/screen2.png" alt="Codex Pooler Pool dashboard" width="100%">
</a><br>
<sub>Pools</sub>
</td>
<td align="center" valign="top" width="33%">
<a href=".github/assets/screen3.png">
<img src=".github/assets/screen3.png" alt="Codex Pooler request logs" width="100%">
</a><br>
<sub>Request logs</sub>
</td>
</tr>
</table>
Codex Pooler is a self-hosted gateway for sharing Codex account capacity across
agents, tools, and teams.
Instead of binding each client to one Codex account, you add accounts to Pools
and issue stable Pool API keys. Clients send familiar Codex backend or
OpenAI-compatible requests; Codex Pooler selects the right account based on
model support, limits, session continuity, routing policy, and health.
Operators get one place to manage accounts, keys, routing, request accounting,
audit logs, and health without storing prompts, files, audio, images, bearer
tokens, or raw Codex secrets. Instance owners keep the global administration
surface, while instance adm