One endpoint takes over the quotas of 10 AI clients: WorkBuddy, Qoder, Loomy, LobsterAI, Raccoon, TRAE, CatPaw, AStudio… are consolidated into an OpenAI-compatible gateway. A dynamic model pool (<channel>/<model>) routes automatically by billing usage, and failing channels enter cooldown. Multi-account pools, auto check-in, and quota refresh every 3 minutes are all built in. TypeScript with zero runtime dependencies; `npx modelmux` works out of the box.
https://bluechonk.github.io/modelmux/ ↗ HEALTH ? 100 / Healthy
// readme
modelmux
One endpoint that takes over the quotas of multiple AI clients. It consolidates channels such as AStudio, WorkBuddy, Qoder, Loomy, LobsterAI, Raccoon, TRAE, and CatPaw into one OpenAI-compatible endpoint, exposing the real models from each channel’s catalog as <channel>/<model> pool IDs (the requester chooses the channel). It focuses on one thing: npx modelmux starts the gateway, and any OpenAI-compatible client pointed at it can use it. Login, multi-account pools, auto check-in, and quota refresh all run automatically inside the gateway.
What it is
- One gateway: listens on
127.0.0.1:4412and serves/v1/chat/completions,/v1/models, and/health. - Dynamic model pool: externally, model IDs take the form
<cid>/<model>(e.g.loomy/kimi-k2.6), and/v1/modelsaggregates the normalized results of every channel’scatalogin real time. Clients select a channel explicitly with the channel prefix; same-named models in different channels are separate IDs. - Multi-channel routing: each channel is a pool (model catalog + credentials + upstream protocol), registered under
packages/core/channels/. The number of channels is determined by…