Funkcje
Przełączanie na następne konto
Ta strona została przetłumaczona maszynowo z angielskiego. Poprawki są mile widziane. Edytuj tę stronę na GitHub
ccam next otwiera Claude Code jako inne konto bez podawania jego nazwy. Używaj go, gdy konto osiągnie limit użycia: samo ccam next wybiera konto następne po ostatnio używanym, --auto wybiera konto z największym zapasem w 5-godzinnym oknie, a --continue kontynuuje ostatnią rozmowę na nowym koncie.
Użycie
ccam next # the account after the one you used last
ccam next --auto # the account with the lowest 5-hour usage
ccam next --continue # the next account that shares history, with claude --continue
ccam next -c --auto # both: lowest usage among accounts sharing history
ccam next -- -p "summarize" # pass arguments to claude after --
ccam --dry-run next --auto # print the choice and the command, start nothing$ ccam --dry-run next
→ personal → work
CLAUDE_CONFIG_DIR=/home/you/.local/share/ccam/profiles/work /usr/local/bin/claudeccam wypisuje przełączenie jako → <from> → <to> na standardowe wyjście błędów, a potem uruchamia Claude Code jako nowe konto tak samo jak ccam <name>. <from> to konto, którego używałeś ostatnio. Argumenty po -- trafiają do claude bez zmian.
Opcje
| Opcja | Działanie | Domyślnie |
|---|---|---|
--auto |
Wybiera zalogowane konto z najniższym użyciem 5-godzinnym, pomijając konta na poziomie 100% | wyłączone |
-c, --continue |
Bierze pod uwagę tylko konta, które współdzielą historię rozmów z ostatnio używanym kontem, i uruchamia claude --continue |
wyłączone |
-- <claude args> |
Argumenty przekazywane do claude po argumentach ccam |
brak |
--dry-run |
Respektowana: wypisuje → <from> → <to> i wiersz polecenia, który zostałby uruchomiony, bez startu Claude Code i bez zapisywania uruchomienia |
wyłączone |
--auto i --continue działają razem. Z --continue opcja --continue jest umieszczana przed twoimi argumentami.
Jak to działa
Każde uruchomienie przez ccam zapisuje czas w ~/.local/state/ccam/last-used/<name>. ccam next odczytuje te pliki, sprawdza, które konta są zalogowane, i wybiera.
cli.candidatestworzy jedennext.Candidatena konto zconfig.toml: konto, czas jego ostatniego uruchomienia (launcher.LastUsed) i informację, czy ma login (creds.Has: czytelny.credentials.jsonalbo, na macOS, wpis w pęku kluczy).- Bez
--autonext.Rotatesortuje konta według numeru slotu i znajduje to uruchomione najpóźniej. To konto, z którego się przełączasz. Jeśli żadne konto nie było jeszcze uruchamiane, jest to najniższy slot. - Od niego idzie dalej w kolejności slotów, wracając od ostatniego slotu do pierwszego, i zwraca pierwsze zalogowane konto.
launcher.LaunchWithprzygotowuje i uruchamia wybrane konto dokładnie tak jakccam <name>: sprawdza linki konta, stosuje współdzielenie MCP, rejestruje sesję i zastępuje ccam przezclaudeza pomocąsyscall.Exec.
Przejście zaczyna się od ostatnio używanego konta i zatrzymuje na pierwszym zalogowanym koncie po nim:
work uruchomiono najpóźniej, więc przejście zaczyna się po nim. side nie ma loginu i zostaje pominięte, a wybrane zostaje lab. Gdyby lab też było wylogowane, przejście wróciłoby na początek do personal (% len na diagramie). Rotacja nigdy nie zwraca konta, od którego zaczęła: gdy nie ma innego zalogowanego konta, kończy się błędem.
--auto
--auto decyduje według użycia zamiast kolejności slotów. cli.pickAuto zostawia zalogowane konta, pyta o użycie wszystkich naraz tym samym Fetcher.FetchAll, którego używa ccam usage, i pozwala wybrać usage.Best():
usage.Best() wybiera najniższy procent 5-godzinny i pomija konta na poziomie 100% lub z nieznanym użyciem 5-godzinnym. Zapytanie działa według zasad ccam usage: liczby młodsze niż 60 sekund są używane ponownie, każde konto ma 3 sekundy, a konto, które nie odpowiada lub którego login wygasł, jest oceniane na podstawie zapisanych liczb. Zapisane okno, którego czas resetu minął, liczy się jako 0%, więc konto, którego okno w międzyczasie się zresetowało, nie zostaje pominięte. --auto nigdy nie odnawia tokenów. W odróżnieniu od zwykłej rotacji --auto może wybrać ostatnio używane konto, jeśli nadal ma największy zapas.
--continue
--continue w Claude Code otwiera najnowszą rozmowę w bieżącym folderze, co działa tylko wtedy, gdy nowe konto widzi tę rozmowę. Dlatego z --continue ccam bierze pod uwagę tylko konta z tej samej grupy history co ostatnio używane konto, a potem umieszcza --continue przed twoimi argumentami. Konta z historią local nie współdzielą jej z nikim, więc --continue z takiego konta zawsze się nie powiedzie. Najpierw włącz współdzielenie przez ccam share <name> --history on (zobacz współdzielenie).
Bezpieczeństwo i przypadki brzegowe
- Konta bez loginu nigdy nie są wybierane. Gdy nie ma innego zalogowanego konta, samo
ccam nextkończy się komunikatemno logged-in account other than <name>. - Z
--continue, gdy żadne konto nie współdzieli historii:no other account shares conversation history with <name>. Turn it on with `ccam share <name> --history on`. - Z
--auto, gdy nie ma zalogowanego konta:no logged-in account to pick. Gdy każde konto jest pełne lub ma nieznane użycie:no account with known usage and headroom (see `ccam usage`). --autowysyła zapytania sieciowe nawet z--dry-run. Tylko odczytuje i nigdy nie zapisuje plików z tokenami.- Wybrane konto startuje tą samą ścieżką co
ccam <name>, więc obowiązują te same sprawdzenia, w tym ostrzeżenie, gdy w tym folderze działa już inny Claude Code współdzielący tę samą historię. last-usedjest zapisywany tylko wtedy, gdy Claude Code rzeczywiście wystartuje.--dry-rungo nie zmienia, więc próbne uruchomienie nie przesuwa rotacji.