CodeRouter
CodeRouter to router modeli stojący za cmux. Twoi agenci kodujący wysyłają żądania do CodeRouter, a on przekazuje każde z nich do subskrypcji lub klucza API dodanego przez Twój zespół. Gdy konto ma ograniczoną częstotliwość, zostaje odrzucone lub nie działa, CodeRouter przenosi pracę na inne konto, więc agenci działają dalej.
Dlaczego warto
- Połącz kilka subskrypcji ChatGPT, Claude i OpenCode Go oraz kluczy API i udostępnij je swojemu zespołowi.
- Agent pracuje dalej, gdy jedno konto osiągnie limit zużycia.
- Daj maszynom cmux Cloud dostęp do modeli bez przechowywania danych uwierzytelniających na maszynie.
- Sprawdzaj zużycie tokenów dla każdego konta, klucza API i maszyny Cloud.
Obsługiwane konta
Każde konto obsługuje agentów, którzy korzystają z API jego dostawcy. Codex i Pi dzielą jedną pulę; Claude Code używa osobnej puli kont Claude.
| Konto | Obsługuje | Jak dodać |
|---|---|---|
| Subskrypcja ChatGPT (osobisty lub zespołowy obszar roboczy) | Codex, Pi | cr add codex |
| Klucz API OpenAI | Codex, Pi | Panel CodeRouter |
| Klucz API OpenRouter | Codex, Pi | Panel CodeRouter |
| Subskrypcja OpenCode Go | OpenCode | cr add opencode |
| Claude Max lub Pro (token konfiguracji Claude Code) | Claude Code | cr add claude |
| Klucz API Anthropic | Claude Code | cmux coderouter claude add api-key |
| Dane uwierzytelniające Amazon Bedrock | Claude Code | cmux coderouter claude add bedrock |
W panelu CodeRouter można też dodawać klucze API, tokeny Claude i dane uwierzytelniające Bedrock. Panel pokazuje każde konto z jego stanem, okresem wstrzymania i aktywnymi sesjami: cmux.com/dashboard/coderouter
Jak działa routing
Każda sesja agenta pozostaje na jednym koncie, dopóki to konto działa poprawnie, dzięki czemu pamięć podręczna promptów dostawcy pozostaje aktualna. Nowa sesja trafia na konto z najmniejszą liczbą aktywnych sesji.
Gdy dostawca zwraca limit częstotliwości, odrzuca dane uwierzytelniające lub nie odpowiada, CodeRouter wstrzymuje to konto i ponawia żądanie na innym koncie. Ponawia je tylko przed dotarciem jakichkolwiek danych z modelu do agenta, więc odpowiedź, której strumieniowanie już się zaczęło, nigdy nie zostanie wysłana dwa razy.
Żądanie do dostawcy wysyła hostowana usługa CodeRouter. Dlatego ruch do dostawcy pochodzi z CodeRouter, a nie z Twojego Maca ani maszyny Cloud.
Szybki start na Macu
- Zainstaluj CLI CodeRouter. Instaluje się jako coderouter i jako cr. Możesz też uruchomić cmux cr, które przy pierwszym użyciu zaproponuje instalację.
- Zaloguj się kontem cmux. cr login otwiera przeglądarkę; zatwierdź wyświetlony kod.
- Dodaj subskrypcję. cr add otwiera menu dostawców, a cr add codex loguje do ChatGPT w przeglądarce.
- Uruchom agenta przez CodeRouter poleceniem cr codex, cr opencode lub cr pi. Argumenty po nazwie agenta są przekazywane do niego.
curl -fsSL https://cmux.com/coderouter/install.sh | sh
cr login
cr add codex
cr codexNa maszynach cmux Cloud
Każda maszyna Cloud jest łączona z CodeRouter przy tworzeniu. Claude Code, Codex, OpenCode i Pi na maszynie korzystają z kont Twojego zespołu bez logowania i bez konfiguracji.
Jak agenci są konfigurowani na maszynach Cloud
Zespoły i udostępnianie
Konta należą do zespołu, do którego jesteś zalogowany. cr org list pokazuje Twoje zespoły, a cr org switch zmienia zespół używany przez cr. Polecenia cmux coderouter przyjmują --team <id>.
Konto dodane do organizacji jest udostępniane zespołowi, więc mogą z niego korzystać wszyscy członkowie i maszyny Cloud zespołu. W panelu Ustaw jako prywatne ogranicza je do osoby, która je dodała, a Udostępnij zespołowi to cofa.
W Twoim zespole osobistym nowe konta są prywatne, a Twoje prywatne konta obsługują też Twoje maszyny Cloud. Maszyny Cloud organizacji korzystają tylko z udostępnionych kont, więc konto prywatne trzeba udostępnić, zanim maszyna będzie mogła z niego korzystać.
Każdy członek zespołu może dodawać, zmieniać nazwy, wyłączać, przenosić i usuwać udostępnione konta zespołu. cr transfer przenosi konto do innego zespołu po Twoim potwierdzeniu.
cr org list
cr org switch <name-or-id>
cr accounts
cr transfer [account] [--to <team>]
cr remove [account]Zużycie i limity
Każdy dostawca nalicza zużycie kontu, które obsłużyło żądanie, zgodnie z planem i limitami tego konta. CodeRouter rozkłada pracę na konta, ale nie podnosi limitu żadnego pojedynczego konta.
cr pokazuje stan limitu każdej subskrypcji. Dodaj --watch, aby odświeżać co 30 sekund, lub --json dla skryptów.
cmux coderouter machines pokazuje zużycie tokenów z 30 dni i wartość w cenach API dla każdej maszyny Cloud. Na maszynie cmux coderouter usage dzieli jej zużycie według dnia, obszaru roboczego, agenta i modelu.
Wartość w cenach API to szacunek według publicznych cenników. To nie jest rachunek.
cr
cr usage --watch
cmux coderouter machinesDane uwierzytelniające i prywatność
- Dane uwierzytelniające dostawców są szyfrowane przed zapisaniem. Żadne API ani widok panelu CodeRouter nie zwraca zapisanych danych uwierzytelniających; konta pokazują tylko etykietę, adres e-mail lub zamaskowany klucz.
- cr add i cmux coderouter claude add nigdy nie przyjmują danych uwierzytelniających dostawcy jako argumentu polecenia, bo trafiłyby do historii powłoki. Odczytują je ze zmiennej środowiskowej, standardowego wejścia lub ukrytego monitu.
- cr add codex i cr add opencode logują do dostawcy w przeglądarce. cr codex przekazuje ustawienia CodeRouter do Codex tylko na czas tego uruchomienia i nie zmienia Twojego zwykłego logowania ani konfiguracji Codex.
- Maszyny Cloud nie przechowują danych uwierzytelniających. Agenci na maszynie wysyłają publiczny klucz zastępczy na prywatny adres CodeRouter, a brzeg sieci maszyny dodaje podpisane dane uwierzytelniające powiązane z tą maszyną. CodeRouter odrzuca te dane z każdej innej maszyny i unieważnia je po usunięciu maszyny.
- Każda odpowiedź CodeRouter zawiera nagłówek x-coderouter-request-id, który identyfikuje żądanie.