Fundamentals

OAuth

OmeniaClaw obsługuje „uwierzytelnianie subskrypcyjne” przez OAuth dla dostawców, którzy je oferują (w szczególności OpenAI Codex (ChatGPT OAuth)). W przypadku Anthropic praktyczny podział wygląda teraz tak:

  • Klucz API Anthropic: standardowe rozliczanie API Anthropic
  • Anthropic Claude CLI / uwierzytelnianie subskrypcyjne w OmeniaClaw: pracownicy Anthropic poinformowali nas, że takie użycie jest ponownie dozwolone

OpenAI Codex OAuth jest jawnie obsługiwany do użycia w zewnętrznych narzędziach takich jak OmeniaClaw. Ta strona wyjaśnia:

W przypadku Anthropic w produkcji bezpieczniejszą zalecaną ścieżką jest uwierzytelnianie kluczem API.

  • jak działa wymiana tokenów OAuth (PKCE)
  • gdzie tokeny są przechowywane (i dlaczego)
  • jak obsługiwać wiele kont (profile + nadpisania dla sesji)

OmeniaClaw obsługuje też pluginy dostawców, które dostarczają własne przepływy OAuth lub klucza API. Uruchamiaj je przez:

bash
OmeniaClaw models auth login --provider <id>

Odbiornik tokenów (dlaczego istnieje)

Dostawcy OAuth często tworzą nowy token odświeżania podczas logowania lub odświeżania. Niektórzy dostawcy (albo klienci OAuth) mogą unieważniać starsze tokeny odświeżania, gdy dla tego samego użytkownika/aplikacji zostanie wydany nowy.

Praktyczny objaw:

  • logujesz się przez OmeniaClaw i przez Claude Code / Codex CLI → jedno z nich później losowo zostaje „wylogowane”

Aby to ograniczyć, OmeniaClaw traktuje auth-profiles.json jako odbiornik tokenów:

  • środowisko uruchomieniowe odczytuje poświadczenia z jednego miejsca
  • możemy utrzymywać wiele profili i kierować je deterministycznie
  • ponowne użycie zewnętrznego CLI zależy od dostawcy: Codex CLI może zainicjować pusty profil openai-codex:default, ale gdy OmeniaClaw ma lokalny profil OAuth, lokalny token odświeżania jest kanoniczny; inne integracje mogą pozostać zarządzane zewnętrznie i ponownie odczytywać swój magazyn uwierzytelniania CLI
  • ścieżki statusu i uruchamiania, które znają już skonfigurowany zestaw dostawców, ograniczają wykrywanie zewnętrznego CLI do tego zestawu, więc niepowiązany magazyn logowania CLI nie jest sprawdzany w konfiguracji z jednym dostawcą

Przechowywanie (gdzie znajdują się tokeny)

Sekrety są przechowywane w magazynach uwierzytelniania agenta:

  • Profile uwierzytelniania (OAuth + klucze API + opcjonalne referencje na poziomie wartości): ~/.OmeniaClaw/agents/<agentId>/agent/auth-profiles.json
  • Plik zgodności ze starszym formatem: ~/.OmeniaClaw/agents/<agentId>/agent/auth.json (statyczne wpisy api_key są czyszczone po wykryciu)

Starszy plik tylko do importu (nadal obsługiwany, ale nie jest głównym magazynem):

  • ~/.OmeniaClaw/credentials/oauth.json (importowany do auth-profiles.json przy pierwszym użyciu)

Wszystkie powyższe respektują również $OmeniaClaw_STATE_DIR (nadpisanie katalogu stanu). Pełna dokumentacja: /gateway/configuration

Informacje o statycznych referencjach sekretów i zachowaniu aktywacji snapshotów w czasie wykonywania znajdziesz w Zarządzaniu sekretami.

Gdy agent pomocniczy nie ma lokalnego profilu uwierzytelniania, OmeniaClaw używa dziedziczenia z odczytem z magazynu domyślnego/głównego agenta. Nie klonuje pliku auth-profiles.json głównego agenta podczas odczytu. Tokeny odświeżania OAuth są szczególnie wrażliwe: normalne przepływy kopiowania domyślnie je pomijają, ponieważ niektórzy dostawcy rotują albo unieważniają tokeny odświeżania po użyciu. Skonfiguruj osobne logowanie OAuth dla agenta, gdy potrzebuje niezależnego konta.

Zgodność ze starszym tokenem Anthropic

OmeniaClaw udostępnia też setup-token Anthropic jako obsługiwaną ścieżkę uwierzytelniania tokenem, ale obecnie preferuje ponowne użycie Claude CLI i claude -p, gdy są dostępne.

Migracja Anthropic Claude CLI

OmeniaClaw ponownie obsługuje ponowne użycie Anthropic Claude CLI. Jeśli masz już lokalne logowanie Claude na hoście, onboarding/konfiguracja mogą użyć go bezpośrednio.

Wymiana OAuth (jak działa logowanie)

Interaktywne przepływy logowania OmeniaClaw są zaimplementowane w @earendil-works/pi-ai i podłączone do kreatorów/poleceń.

Anthropic setup-token

Kształt przepływu:

  1. rozpocznij Anthropic setup-token albo wklejenie tokenu z OmeniaClaw
  2. OmeniaClaw zapisuje wynikowe poświadczenie Anthropic w profilu uwierzytelniania
  3. wybór modelu pozostaje na anthropic/...
  4. istniejące profile uwierzytelniania Anthropic pozostają dostępne do wycofania/kontroli kolejności

OpenAI Codex (ChatGPT OAuth)

OpenAI Codex OAuth jest jawnie obsługiwany do użycia poza Codex CLI, w tym w przepływach OmeniaClaw.

Kształt przepływu (PKCE):

  1. wygeneruj weryfikator/wyzwanie PKCE + losowe state
  2. otwórz https://auth.openai.com/oauth/authorize?...
  3. spróbuj przechwycić wywołanie zwrotne pod http://127.0.0.1:1455/auth/callback
  4. jeśli nie można powiązać wywołania zwrotnego (albo pracujesz zdalnie/bez interfejsu graficznego), wklej URL/kod przekierowania
  5. wykonaj wymianę pod https://auth.openai.com/oauth/token
  6. wyodrębnij accountId z tokenu dostępu i zapisz { access, refresh, expires, accountId }

Ścieżka kreatora to OmeniaClaw onboard → wybór uwierzytelniania openai-codex.

Odświeżanie + wygaśnięcie

Profile przechowują znacznik czasu expires.

W czasie wykonywania:

  • jeśli expires jest w przyszłości → użyj zapisanego tokenu dostępu
  • jeśli wygasł → odśwież (pod blokadą pliku) i nadpisz zapisane poświadczenia
  • jeśli agent pomocniczy odczytuje odziedziczony profil OAuth głównego agenta, odświeżenie zapisuje z powrotem do magazynu głównego agenta zamiast kopiować token odświeżania do magazynu agenta pomocniczego
  • wyjątek: niektóre poświadczenia zewnętrznego CLI pozostają zarządzane zewnętrznie; OmeniaClaw ponownie odczytuje te magazyny uwierzytelniania CLI zamiast zużywać skopiowane tokeny odświeżania. Bootstrap Codex CLI jest celowo węższy: zasiewa pusty profil openai-codex:default, a następnie odświeżenia zarządzane przez OmeniaClaw utrzymują lokalny profil jako kanoniczny.

Przepływ odświeżania jest automatyczny; zwykle nie musisz zarządzać tokenami ręcznie.

Wiele kont (profile) + routing

Dwa wzorce:

1) Preferowane: osobni agenci

Jeśli chcesz, aby „osobiste” i „służbowe” nigdy się nie mieszały, użyj izolowanych agentów (osobne sesje + poświadczenia + workspace):

bash
OmeniaClaw agents add workOmeniaClaw agents add personal

Następnie skonfiguruj uwierzytelnianie dla każdego agenta (kreator) i kieruj czaty do właściwego agenta.

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ść konfiguracji (auth.order)
  • dla sesji przez /model ...@<profileId>

Przykład (nadpisanie sesji):

  • /model Opus@anthropic:work

Jak sprawdzić, jakie identyfikatory profili istnieją:

  • OmeniaClaw channels list --json (pokazuje auth[])

Powiązana dokumentacja:

Powiązane

Was this useful?
On this page

On this page