I kept re-wiring configs between Codex CLI (Responses API), Claude Code (Anthropic Messages) and Cline/SDKs (Chat Completions), while my model access was scattered across several platforms — each with its own login, quota and credential format. So I wrote a gateway that collapses both layers.

Accounts center

One endpoint, three protocols

Three inbound faces — /v1/chat/completions, /v1/messages (Anthropic), /v1/responses (Codex CLI) — fold into one internal wire, then re-encode into four outbound dialects (openai / anthropic / gemini / responses). Codex CLI, Claude Code and Cline can all point at one local endpoint; switching backends is a one-line model-name change.

Credential pools with auto check-ins

Multi-platform accounts live in one pool: cost-tiered selection (measured, not list price), fast-expiring-credit weighting, 429 exponential backoff, hard cooldown on 402, breaker, and per-conversation stickiness to keep the prompt cache warm.

The part most gateways skip: scheduled housekeeping. Daily check-ins, activity reports and token keep-alive run per-day idempotently and self-heal after restarts — five days of soak testing with zero missed check-ins across reboots.

And the credit data feeds back into routing: fast-expiring credits get weighted first, per-model costs are measured (not list price), and a credit floor stops paid models from draining accounts.

Usage

Web panel

Accounts, usage aggregation, task center, API keys with per-day/week/month token budgets, request logs with zero credential plaintext.

Single Go binary (Win/Linux/macOS) or Docker. Listens on 127.0.0.1 by default. No telemetry. MIT.

Repo: https://github.com/RisingInsight/startport — issues welcome!