OAuth
OpenClaw obsługuje „subscription auth” przez OAuth dla dostawców, którzy to oferują (w szczególności OpenAI Codex (ChatGPT OAuth)). W przypadku Anthropic praktyczny podział jest teraz następujący:- Klucz API Anthropic: standardowe rozliczanie przez API Anthropic
- Anthropic Claude CLI / subscription auth w OpenClaw: pracownicy Anthropic poinformowali nas, że takie użycie jest ponownie dozwolone
- jak działa wymiana tokenów OAuth (PKCE)
- gdzie tokeny są przechowywane (i dlaczego)
- jak obsługiwać wiele kont (profile + nadpisania dla sesji)
Token sink (dlaczego istnieje)
Dostawcy OAuth często generują nowy token odświeżania podczas logowania lub odświeżania. Niektórzy dostawcy (lub klienci OAuth) mogą unieważniać starsze tokeny odświeżania, gdy nowy zostanie wydany dla tego samego użytkownika/aplikacji. Praktyczny objaw:- logujesz się przez OpenClaw i przez Claude Code / Codex CLI → jedno z nich później losowo zostaje „wylogowane”
auth-profiles.json jako token sink:
- środowisko uruchomieniowe odczytuje poświadczenia z jednego miejsca
- możemy utrzymywać wiele profili i kierować ruch do nich w sposób deterministyczny
- gdy poświadczenia są ponownie używane z zewnętrznego CLI, takiego jak Codex CLI, OpenClaw odzwierciedla je wraz z informacją o pochodzeniu i ponownie odczytuje to zewnętrzne źródło zamiast samodzielnie obracać token odświeżania
Przechowywanie (gdzie znajdują się tokeny)
Sekrety są przechowywane per agent:- Profile uwierzytelniania (OAuth + klucze API + opcjonalne odwołania na poziomie wartości):
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - Plik zgodności z wersjami starszymi:
~/.openclaw/agents/<agentId>/agent/auth.json(statyczne wpisyapi_keysą czyszczone po wykryciu)
~/.openclaw/credentials/oauth.json(importowany doauth-profiles.jsonprzy pierwszym użyciu)
$OPENCLAW_STATE_DIR (nadpisanie katalogu stanu). Pełne odniesienie: /gateway/configuration
Informacje o statycznych odwołaniach do sekretów i zachowaniu aktywacji migawek w środowisku uruchomieniowym znajdziesz w Secrets Management.
Zgodność ze starszymi tokenami Anthropic
OpenClaw udostępnia także setup-token Anthropic jako wspieraną ścieżkę uwierzytelniania tokenem, ale obecnie preferuje ponowne użycie Claude CLI iclaude -p, gdy są dostępne.
Migracja Anthropic Claude CLI
OpenClaw ponownie obsługuje ponowne użycie Anthropic Claude CLI. Jeśli masz już lokalne logowanie Claude na hoście, onboarding/configure może użyć go bezpośrednio.Wymiana OAuth (jak działa logowanie)
Interaktywne przepływy logowania OpenClaw są zaimplementowane w@mariozechner/pi-ai i podłączone do kreatorów/poleceń.
Anthropic setup-token
Kształt przepływu:- uruchom setup-token Anthropic lub wklej token z poziomu OpenClaw
- OpenClaw zapisuje wynikowe poświadczenie Anthropic w profilu uwierzytelniania
- wybór modelu pozostaje ustawiony na
anthropic/... - istniejące profile uwierzytelniania Anthropic pozostają dostępne do wycofania zmian/kontroli kolejności
OpenAI Codex (ChatGPT OAuth)
OpenAI Codex OAuth jest oficjalnie wspierany do użycia poza Codex CLI, w tym w przepływach OpenClaw. Kształt przepływu (PKCE):- wygeneruj verifier/challenge PKCE oraz losowy
state - otwórz
https://auth.openai.com/oauth/authorize?... - spróbuj przechwycić callback pod adresem
http://127.0.0.1:1455/auth/callback - jeśli callback nie może się zbindować (lub pracujesz zdalnie/bez interfejsu), wklej URL przekierowania/kod
- wymień token pod adresem
https://auth.openai.com/oauth/token - wyodrębnij
accountIdz tokenu dostępu i zapisz{ access, refresh, expires, accountId }
openclaw onboard → wybór uwierzytelniania openai-codex.
Odświeżanie i wygaśnięcie
Profile przechowują znacznik czasuexpires.
W środowisku uruchomieniowym:
- jeśli
expireswskazuje przyszłość → użyj zapisanego tokenu dostępu - jeśli wygasł → odśwież (pod blokadą pliku) i nadpisz zapisane poświadczenia
- wyjątek: ponownie używane poświadczenia z zewnętrznego CLI pozostają zarządzane zewnętrznie; OpenClaw ponownie odczytuje magazyn uwierzytelniania CLI i nigdy sam nie wykorzystuje skopiowanego tokenu odświeżania
Wiele kont (profile) + routing
Dwa wzorce:1) Zalecane: oddzielni agenci
Jeśli chcesz, aby konto „osobiste” i „służbowe” nigdy się nie stykały, używaj izolowanych agentów (oddzielne sesje + poświadczenia + workspace):2) Zaawansowane: wiele profili w jednym agencie
auth-profiles.json obsługuje wiele identyfikatorów profili dla tego samego dostawcy.
Wybierz, który profil ma być używany:
- globalnie przez kolejność w konfiguracji (
auth.order) - dla konkretnej sesji przez
/model ...@<profileId>
/model Opus@anthropic:work
openclaw channels list --json(pokazujeauth[])
- /concepts/model-failover (reguły rotacji i cooldown)
- /tools/slash-commands (powierzchnia poleceń)
Powiązane
- Authentication — przegląd uwierzytelniania dostawców modeli
- Secrets — przechowywanie poświadczeń i SecretRef
- Configuration Reference — klucze konfiguracji uwierzytelniania