A self-hosted ChatGPT Team and Codex seat rotation manager.
Codex Seat Pilot helps operators keep a local account pool, check quota snapshots, swap ChatGPT/Codex seat types, and sync Codex auth files to self-hosted proxy backends such as CLIProxyAPI and Sub2API.
中文文档 · Getting Started · Configuration · Docker · Security
This project is provided for learning, research, and self-hosted operations. Automating account workflows, managing multiple accounts, or using unofficial service interfaces may violate third-party terms of service. You are responsible for all operational risk, account risk, billing risk, and compliance review before using it.
Do not commit real .env files, accounts.json, state.json, auth files, browser state, screenshots with secrets, or proxy/backend credentials.
| Area | Capability |
|---|---|
| Account pool | Track local account state, auth files, quota snapshots, cooldowns, and retry metadata. |
| Seat rotation | Swap existing ChatGPT and Codex seat_type values without inviting, removing, or creating Team members. |
| Quota handling | Read ChatGPT-seat quota, persist last_quota, and avoid reusing accounts before reset windows. |
| CPA sync | Pull from and sync to CLIProxyAPI with de-duplication and non-destructive defaults. |
| Sub2API sync | Push OpenAI OAuth credentials with optional group, proxy, concurrency, priority, and model settings. |
| Admin UI | FastAPI + Vue web panel for setup, configuration, task history, logs, account pool, and sync status. |
| Manual OAuth | Generate an OAuth URL and complete account import through automatic or pasted callback URLs. |
git clone https://github.com/norbertm2050/codex-seat-pilot.git
cd codex-seat-pilot
uv sync --dev
uv run playwright install chromium
cp .env.example .envStart the API and bundled web UI:
uv run seatpilot apiOpen:
http://127.0.0.1:8787
The legacy CLI name is still available for compatibility:
uv run autoteam api
uv run autoteam gpt-seat-rotategit clone https://github.com/norbertm2050/codex-seat-pilot.git
cd codex-seat-pilot
mkdir -p data
cp .env.example data/.env
docker compose up -dRuntime data is stored under data/ and should never be published.
| English | Chinese |
|---|---|
| Getting Started | 从零开始部署 |
| Configuration | 配置说明 |
| Docker | Docker 部署 |
| API | API 文档 |
| Architecture | 工作原理 |
| Troubleshooting | 常见问题 |
| Privacy Checklist | 发布与隐私检查 |
uv sync --dev
uv run pytest
uv run ruff check .
uv run ruff format --check .
cd web
npm run buildThe Python package path remains src/autoteam/ to keep existing imports and tests stable. The public project name, Docker service, web title, and primary CLI alias are Codex Seat Pilot / seatpilot.
MIT. See LICENSE.