Senhas do projeto
Guarde as chaves que o site precisa, como a do formulário, do mapa ou do e-mail, e os agentes usam sem você colar a senha na conversa.
Onde ficam#
As senhas ficam numa seção das Configurações. Há dois caminhos:
- Na lista de projetos, clique no ⋯ ao lado do projeto (ou clique com o botão direito no nome) e em Senhas do projeto. A página abre já nesse projeto.
- Ou abra as Configurações (⚙ no topo ou Ctrl+,, ⌘, no Mac) e clique em Senhas do projeto. Com mais de um projeto na lista, escolha o projeto no campo Projeto.
As senhas ficam guardadas neste computador, cifradas pelo sistema (o Windows, o Chaveiro do Mac ou o GNOME Keyring/KWallet no Linux), na pasta de dados do app. No Linux, sem um desses chaveiros o app não salva a senha: veja Problemas comuns. Elas não vão para nenhum servidor do TowerCTL. Se a cifragem do sistema não estiver disponível, o app não salva a senha; ele nunca grava o valor em texto aberto.
Adicionar uma senha#
- Em Nome, escreva o nome da variável, por exemplo
GOOGLE_MAPS_KEY. O app passa para maiúsculas e troca espaços e hífens por_. - Em Valor, cole a chave. Mostrar e Ocultar alternam a visualização.
- Em Vale para, escolha só este projeto ou todos os projetos.
- Clique em Salvar senha.
Se um projeto tiver uma senha própria com o mesmo nome de uma senha de todos os projetos, vale a do projeto. Apagar, na lista, remove a senha depois de confirmar.
Importar de um arquivo .env#
Clique em Importar de um .env e escolha o arquivo. As linhas NOME=valor viram senhas deste projeto. Se alguma linha for ignorada, o app diz quantas e por quê, mostrando só os nomes, nunca os valores.
Regras dos nomes#
- Letras maiúsculas, números e
_, até 64 caracteres, começando por letra ou_. - Nomes do sistema e das IAs são reservados, como
PATH,HOMEeTEMP, e os que começam comANTHROPIC_,CLAUDE_,OPENAI_,CODEX_,GEMINI_,ELECTRON_ouTOWERCTL_. - O valor pode ter até 8 KB.
Como os agentes recebem#
Cada painel do projeto, de agente ou de terminal, recebe as senhas como variáveis de ambiente quando começa. O agente não recebe os valores na conversa: recebe só a lista de nomes e a instrução de ler o valor do ambiente na hora de usar, por exemplo com process.env.GOOGLE_MAPS_KEY.
Os agentes também são instruídos a nunca exibir, registrar ou enviar ao git o valor, e a nunca escrevê-lo no código, em arquivos, na conversa ou na memória.
Painéis já abertos só recebem uma senha nova ou alterada depois de reiniciados com o ↻.
Cuidados#
Qualquer programa rodando num painel do projeto consegue ler as variáveis de ambiente. Os agentes são orientados a não mostrar os valores, mas um comando que imprima o ambiente mostraria a senha no terminal.
- Prefira chaves de teste e com o mínimo de permissão. Quando o serviço deixar, limite a chave ao domínio do site.
- Chave usada no navegador é pública. Uma chave que vai para o HTML ou o JavaScript do site, como a de um mapa, fica visível para qualquer visitante, com ou sem o TowerCTL.
- Cuidado com o modo Liberado. Sem perguntas, você não vê os comandos antes de eles rodarem.
- Revise antes de publicar. A revisão antes de publicar procura chaves expostas no código e nas páginas.