HansaChat

Documentation

Autenticação e workspaces

Início de sessão, sessões, armazenamento no keychain, contextos e tokens headless.

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.