HansaChat

Documentation

Authentification et espaces de travail

Connexion, sessions, trousseau, contextes et jetons headless.

Le CLI gère un compte par espace de travail. Les identifiants résident dans le trousseau du système d’exploitation (service hansa) ; ils n’apparaissent jamais dans le fichier de contexte, les journaux ni la sortie.

Connexion

hansa chat login --workspace yourworkspace

Cette commande demande votre e-mail et votre mot de passe. Si l’espace de travail exige l’authentification à deux facteurs, un code TOTP ou un code de récupération vous est demandé.

Pour les scripts, lisez les identifiants depuis stdin plutôt que via des options ou des variables d’environnement :

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

Le JSON peut également contenir "totp" ou "recovery_code" lorsque l’authentification à deux facteurs est requise.

Une session enregistrée valide rend une nouvelle connexion sans effet (no-op). Utilisez --reauth pour remplacer délibérément la session stockée.

Sessions et renouvellement

Les jetons d’accès sont renouvelés automatiquement grâce à un refresh token rotatif, protégé par un verrou par espace de travail afin que des processus CLI parallèles ne cassent jamais la session les uns des autres. Si la session stockée devient inutilisable, le CLI la supprime et vous demande de vous reconnecter.

La déconnexion révoque la session sur le serveur et supprime les identifiants stockés. L’exécuter deux fois est sans risque :

hansa chat logout --workspace yourworkspace

Contextes

Un contexte est un espace de travail enregistré : son domaine, une éventuelle surcharge d’API et l’existence ou non d’identifiants. Les jetons ne sont jamais affichés.

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

Ordre de résolution de l’espace de travail : l’option --workspace, puis la variable d’environnement HANSA_WORKSPACE, puis la valeur par défaut enregistrée.

Environnements headless

Sans trousseau (conteneurs CI, tâches cron), fournissez les jetons via l’environnement :

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

Dans ce mode, les jetons ne sont jamais écrits sur le disque, et une connexion sans trousseau utilisable échoue explicitement au lieu de stocker les identifiants en clair.