HansaChat

Documentation

Uwierzytelnianie i przestrzenie robocze

Logowanie, sesje, przechowywanie w kluczyku, konteksty i tokeny dla środowisk headless.

CLI przechowuje jedno konto na przestrzeń roboczą. Dane uwierzytelniające są zapisywane w systemowym kluczyku (usługa hansa); nigdy nie pojawiają się w pliku kontekstu, logach ani w wynikach.

Logowanie

hansa chat login --workspace yourworkspace

Polecenie pyta o Twój adres e-mail i hasło. Jeśli przestrzeń robocza wymaga uwierzytelniania dwuskładnikowego, zostaniesz poproszony o kod TOTP lub kod zapasowy.

W skryptach odczytuj dane uwierzytelniające ze standardowego wejścia, zamiast podawać je w parametrach lub zmiennych środowiskowych:

echo '{"email": "you@example.com", "password": "…"}' \
  | hansa chat login --workspace yourworkspace --credentials-stdin

JSON może też zawierać pola "totp" lub "recovery_code", gdy wymagane jest uwierzytelnianie dwuskładnikowe.

Ważna zapisana sesja sprawia, że ponowne logowanie nic nie zmienia. Użyj --reauth, aby celowo zastąpić zapisaną sesję.

Sesje i odświeżanie

Tokeny dostępu odświeżają się automatycznie przy użyciu rotacyjnego tokenu odświeżania, chronionego blokadą dla poszczególnych przestrzeni roboczych, dzięki czemu równoległe procesy CLI nigdy nie psują nawzajem swoich sesji. Jeśli zapisana sesja przestanie być użyteczna, CLI usuwa ją i prosi o ponowne zalogowanie.

Wylogowanie unieważnia sesję na serwerze i usuwa zapisane dane uwierzytelniające. Dwukrotne wykonanie jest bezpieczne:

hansa chat logout --workspace yourworkspace

Konteksty

Kontekst to jedna zapisana przestrzeń robocza: jej domena, opcjonalne nadpisanie adresu API oraz informacja, czy istnieją dane uwierzytelniające. Tokeny nie są nigdy wyświetlane.

hansa context list        # saved contexts, default marker
hansa context show        # details for the current workspace
hansa context use yourworkspace     # set the default workspace
hansa context remove yourworkspace  # log out remotely and delete everything

Kolejność rozpoznawania przestrzeni roboczej: parametr --workspace, potem zmienna środowiskowa HANSA_WORKSPACE, na końcu zapisana wartość domyślna.

Środowiska typu headless

Bez kluczyka (kontenery CI, zadania cron) podaj tokeny przez środowisko:

export HANSA_ACCESS_TOKEN="…"
export HANSA_REFRESH_TOKEN="…"   # optional, enables automatic refresh

W tym trybie tokeny nigdy nie są zapisywane na dysku, a logowanie bez użytecznego kluczyka kończy się jawnym błędem zamiast zapisywania danych uwierzytelniających w postaci czystego tekstu.