chatcli connect roda o seu ChatCLI local contra um servidor ChatCLI remoto: as chamadas ao modelo vão para o servidor, que guarda as chaves dos provedores. Todo o resto (o REPL, os loops de /agent e /coder, as ferramentas @, contextos, memória) roda na sua máquina, então as ferramentas leem e alteram os seus arquivos.
Conectar
Flags
Só por variável de ambiente no cliente (sem flag):
Não existe flag
--server nem override do nome do servidor TLS: o nome discado precisa estar no certificado do servidor.
TLS e mTLS
kubectl port-forward você disca localhost, então o certificado do servidor precisa de localhost (e 127.0.0.1) nos SANs.
Modos de credencial LLM
- Credenciais do servidor
- Sua chave de API
- OAuth local
- StackSpot
- Ollama
Sem flags de credencial: o servidor usa o próprio provedor e as próprias chaves.Requisições que não nomeiam provedor nem modelo passam pela cadeia de fallback do servidor, quando existe.
Modo one-shot
-p envia um SendPrompt e sai com status diferente de zero em caso de erro. Cada execução abre uma conexão nova e autentica de novo; um loop apertado não tem problema, porque o limitador de falhas de autenticação do servidor só conta autenticações que falham.
Modo interativo
Sem-p, você ganha o REPL completo com o modelo remoto:
/agent,/coder,@file,@git,@commande as outras ferramentas rodam localmente; só as chamadas ao modelo vão para o servidor./switchtroca provedor ou modelo;/costprecifica o uso real de tokens que o servidor informa em cada resposta.- As respostas chegam em streaming conforme o provedor gera (
StreamPrompt); a mensagem final traz o usage, o motivo de parada, e o provedor e o modelo que responderam.
Plugins remotos, sessões e status do watcher
Ochatcli connect vincula a sessão ao servidor exatamente como o comando /connect dentro do REPL, que troca uma sessão local já em execução:
O servidor lista e executa plugins só para chamadores
user e admin: uma credencial readonly não vê plugins remotos e não consegue baixar nenhum (PermissionDenied).
O /connect aceita --token, --tls, --ca-cert (que aqui também implica --tls), --provider, --model, --llm-key, --use-local-auth e as flags de StackSpot/Ollama. Ele não lê CHATCLI_REMOTE_TOKEN; passe --token. CHATCLI_ALLOW_INSECURE e as variáveis de mTLS valem como no chatcli connect.
O /watch status num servidor remoto imprime:
Padrões por variável de ambiente
Múltiplas réplicas
O cliente resolve o endereço comdns:/// e balanceia em round-robin entre todos os endereços, mandando ping em cada conexão a cada 30 segundos (timeout de 5 segundos) para descartar pods mortos. Contra um servidor no Kubernetes com mais de uma réplica, aponte para um Service headless (service.headless: true no chart; automático no operator quando spec.replicas > 1).
Solução de problemas
Próximos passos
Modo Servidor
Configure e opere o servidor
Docker e Kubernetes
Faça o deploy
K8s Watcher
Contexto do Kubernetes em todo prompt