A CLI mantém uma conta por workspace. As credenciais vivem no keychain do
sistema operativo (serviço hansa); nunca aparecem no ficheiro de contexto,
nos registos ou na saída.
Iniciar sessão
hansa chat login --workspace yourworkspace
É pedido o seu e-mail e a sua palavra-passe. Se o workspace exigir autenticação de dois fatores, é pedido um código TOTP ou um código de recuperação.
Para scripts, leia as credenciais do stdin em vez de as passar por flags ou por variáveis de ambiente:
echo '{"email": "you@example.com", "password": "…"}' \
| hansa chat login --workspace yourworkspace --credentials-stdin
O JSON também pode conter "totp" ou "recovery_code" quando é exigida
autenticação de dois fatores.
Uma sessão válida guardada torna um início de sessão repetido num no-op. Use
--reauth para substituir deliberadamente a sessão armazenada.
Sessões e renovação
Os tokens de acesso são renovados automaticamente com um refresh token rotativo, protegido por um bloqueio por workspace para que processos CLI paralelos nunca comprometam a sessão uns dos outros. Se a sessão armazenada deixar de ser utilizável, a CLI remove-a e pede-lhe que inicie sessão novamente.
Terminar a sessão revoga-a no servidor e elimina as credenciais armazenadas. Executá-lo duas vezes é seguro:
hansa chat logout --workspace yourworkspace
Contextos
Um contexto é um workspace guardado: o seu domínio, uma substituição opcional da API e se existem credenciais. Os tokens nunca são mostrados.
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
Ordem de resolução do workspace: a flag --workspace, depois a variável de
ambiente HANSA_WORKSPACE, depois a predefinição guardada.
Ambientes headless
Sem um keychain (contentores de CI, tarefas cron), forneça os tokens através do ambiente:
export HANSA_ACCESS_TOKEN="…"
export HANSA_REFRESH_TOKEN="…" # optional, enables automatic refresh
Neste modo, os tokens nunca são escritos no disco, e o início de sessão sem um keychain utilizável falha explicitamente em vez de guardar credenciais em texto simples.