HansaChat

Documentation

Autenticazione e workspace

Accesso, sessioni, portachiavi, contesti e token headless.

La CLI conserva un account per ogni workspace. Le credenziali risiedono nel portachiavi del sistema operativo (servizio hansa); non compaiono mai nel file dei contesti, nei log o nell’output.

Accesso

hansa chat login --workspace yourworkspace

Questo comando chiede la sua email e la sua password. Se il workspace richiede l’autenticazione a due fattori, le viene chiesto un codice TOTP o un codice di recupero.

Per gli script, legga le credenziali da stdin invece che da flag o variabili d’ambiente:

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

Il JSON può contenere anche "totp" o "recovery_code" quando è richiesta l’autenticazione a due fattori.

Una sessione salvata valida rende un accesso ripetuto un no-op. Usi --reauth per sostituire deliberatamente la sessione memorizzata.

Sessioni e rinnovo

I token di accesso si rinnovano automaticamente tramite un refresh token rotante, protetto da un blocco per workspace, così i processi CLI paralleli non invalidano mai le rispettive sessioni. Se la sessione memorizzata diventa inutilizzabile, la CLI la rimuove e le chiede di accedere di nuovo.

Il logout revoca la sessione sul server ed elimina le credenziali memorizzate. Eseguirlo due volte è sicuro:

hansa chat logout --workspace yourworkspace

Contesti

Un contesto è un workspace salvato: il suo dominio, un eventuale override dell’API e l’indicazione se le credenziali esistono. I token non vengono mai mostrati.

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

Ordine di risoluzione del workspace: il flag --workspace, poi la variabile d’ambiente HANSA_WORKSPACE, poi il valore predefinito salvato.

Ambienti headless

Senza un portachiavi (container CI, job cron), fornisca i token tramite l’ambiente:

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

In questa modalità i token non vengono mai scritti su disco e l’accesso senza un portachiavi utilizzabile fallisce esplicitamente invece di memorizzare le credenziali in chiaro.