Executar comandos locais em segurança
Na aplicação de ambiente de trabalho, o assistente pode executar comandos e testes na pasta de trabalho do seu chat. O funcionamento no chat é explicado em Acesso a arquivos locais. Nesta página define quando isso pode acontecer sem perguntar e com que nível de isolamento os comandos são executados.
Abrir as configurações de comandos
Num chat, abra o painel Comandos e escolha Configurações de comandos para esta pasta. As configurações aplicam-se a cada pasta.
Quando pode o assistente executar um comando?
Escolha um destes três modos:
- Perguntar sempre: aprova cada comando.
- Comandos confiáveis automaticamente: os comandos que guardou iniciam sem perguntar. Os outros comandos continuam a pedir aprovação.
- Automaticamente na sandbox: tudo inicia sem perguntar, mas num ambiente isolado.
Em todos os modos aplicam-se também estas regras:
- Os comandos inofensivos iniciam sem cartão:
mkdir,ls,cat,head,tail,wc,grep,find(sem-execnem-delete),touch,pwd,treee verificações de versão (--version,-vou-Vdenode,npm,npx,python,pipeaischool-python). Não fazem mais do que as ferramentas de ficheiros integradas já fazem sem perguntar. São executados na sandbox sem rede e apenas com caminhos dentro da pasta de trabalho, também depois de seguir ligações (sem caminhos absolutos,~ou..). Se uma ligação apontar para fora da pasta, aparece mesmo assim um cartão. Para isso são necessários uma sandbox (macOS e Linux) e os comandos locais, mas não a opção Permitir execução automática do seu administrador. O painel Comandos mostra então Automático (comando inofensivo). Uma lista entre chavetas, comomkdir -p src/{components,utils}, também inicia sem cartão: a app transforma-a em caminhos separados e verifica cada um. - Cada cartão mostra o comando exato e, nas ações online, o endereço exato. Por baixo, em letra mais pequena, aparece a explicação do assistente.
- Se a sandbox estiver disponível e o seu administrador permitir a execução automática, um cartão de um comando executado na sandbox tem também o botão A partir de agora, automaticamente na sandbox nesta pasta. Este muda a pasta para Automaticamente na sandbox, para que os comandos seguintes iniciem sem cartão. Os comandos que precisam de rede continuam a perguntar uma vez, a menos que as instalações de pacotes estejam permitidas.
- O primeiro cartão numa pasta que é executado na sandbox sem pedir rede mostra uma única vez Confiar neste projeto. Executa o comando, muda a pasta para Automaticamente na sandbox e ativa Permitir instalações de pacotes sem perguntar. Testes e builds como
npm test,npm run buildenode --testiniciam depois sem cartão, na sandbox sem rede. Os comandos que precisam da rede para outra coisa ou são executados fora da sandbox continuam a perguntar. Depois de Executar ou Recusar, a pergunta não volta nesta pasta; pode mudar o modo nas definições de comandos. Se a execução automática estiver desativada, cada cartão indica se é o seu administrador ou a política de gestão deste computador.
Guardar comandos confiáveis
Num comando, escolha Permitir sempre nesta pasta e depois Exatamente este comando ou Tudo o que começa com. A partir daí, os comandos guardados iniciam sem perguntar. Os comandos com caracteres especiais (como ; | > $) pedem sempre aprovação.
As regras guardadas estão nas configurações de comandos, em Sempre permitido nesta pasta. Também as pode remover aí.
Sandbox e rede
- Usar sandbox: os comandos só podem escrever nesta pasta. Esta opção está ativada por predefinição no macOS e no Linux.
- Permitir rede: determina se os comandos têm acesso à internet. Esta opção está desativada por predefinição. Sem sandbox, os comandos têm sempre acesso à rede.
Cada cartão de comando mostra se a sandbox e a rede estão ativadas.
Se Permitir rede estiver desativado e o assistente quiser transferir algo, por exemplo com npm install, o cartão de comando pergunta se pretende executar exatamente esse comando com rede. Assim, não precisa de ativar a rede para a pasta inteira.
No Windows ainda não existe sandbox disponível.
Instalar pacotes
A aplicação inclui o seu próprio Node.js com npm. Por isso, comandos como node, npm e npx funcionam mesmo que o Node.js não esteja instalado no seu computador. Se tiver instalado o Node.js, a aplicação usa essa versão. Exceção: um projeto que inicia o próprio Electron (electron .) precisa de um Node.js instalado por si.
Permitir instalações de pacotes sem perguntar
Em Configurações de comandos para esta pasta, ative o interruptor Permitir instalações de pacotes sem perguntar. As instalações de pacotes com nome passam então a iniciar sem cartão: npm install <nome> e npm install a partir de package.json, pnpm, yarn ou bun com install ou add, e pip install <nome> (também através de uv). São sempre executadas na sandbox, com rede. Os outros comandos seguem o modo que escolheu para a pasta.
Estas instalações continuam a mostrar um cartão:
- iniciadores de projetos como
npm create vite@latestenpx create-…, porque executam o seu próprio código; pip install .,pip install -r requirements.txt, instalações a partir de outro registo (--registry,-i,--index-url) e pacotes de um endereço git, URL ou caminho.
O interruptor só funciona com uma sandbox (macOS e Linux) e se o seu administrador permitir a execução automática. Caso contrário, não o pode ativar.
Os pacotes instalados desta forma nunca executam os seus próprios scripts de instalação (o npm é executado com --ignore-scripts). Os pacotes Python só são instalados como wheels já prontas.
Servidores locais e o navegador integrado
O assistente também pode iniciar um servidor de desenvolvimento que continua a funcionar, como npm run dev para um pequeno projeto React com Vite. Aplicam-se as mesmas regras que aos outros comandos: aprova o comando exato, ou ele inicia através de uma regra guardada ou automaticamente na sandbox. Em vez do tempo máximo, o cartão indica "Continua a funcionar como servidor local até o parar."
O servidor continua a funcionar depois de o assistente ter respondido. No painel Comandos, o cartão mostra o estado Servidor ativo com os botões Abrir no navegador e Parar. Podem funcionar no máximo 4 servidores ao mesmo tempo. Os servidores param quando os para ou fecha a aplicação.
Na sandbox sem rede, um servidor só pode escutar neste computador (localhost). Saiba como o assistente instala pacotes em Instalar pacotes.
Mostrar uma página web simples
Para uma página web normal (um index.html com CSS e JavaScript, sem passo de compilação) não é necessário nenhum comando. O assistente usa então o servidor web integrado da aplicação:
- A pasta só é visível neste computador, em
http://127.0.0.1com uma porta aleatória. - Os arquivos ocultos, como
.gite.env, nunca são mostrados. - Quando um arquivo muda, a página recarrega automaticamente.
Para isto não aparece nenhum cartão de aprovação. O servidor fica no painel Comandos, com Abrir no navegador e Parar, e conta para o máximo de 4 servidores.
Vê o resultado no navegador integrado: o botão Navegador (o ícone do globo) à direita na barra superior. O painel abre ao lado da conversa, com retroceder, avançar, recarregar (parar durante o carregamento), uma barra de endereço e Abrir no navegador predefinido.
- O assistente abre o navegador sozinho para mostrar o resultado de um servidor local. Isto só funciona com endereços locais, como
http://localhost:5173. - Se clicar numa ligação localhost numa resposta, ela abre no navegador integrado. As outras ligações abrem no seu navegador predefinido.
- Também pode escrever qualquer endereço web.
- O navegador tem a sua própria sessão separada: aí não tem sessão iniciada no AI-Public, os sites não recebem permissões como câmara ou microfone e não é possível fazer transferências.
- Enquanto um menu ou uma caixa de diálogo da aplicação estiver aberto, a página fica temporariamente oculta.
Exemplo:
Cria nesta pasta uma pequena aplicação React com Vite com um contador. Instala as dependências, inicia o servidor de desenvolvimento e mostra o resultado no navegador.
Deixar o assistente ver
Quando pedes ao assistente para ver a página do navegador integrado, ele lê o endereço, o título, o texto visível, uma captura de ecrã e as últimas mensagens de erro da página. Estes dados vão para o modelo de IA.
- O assistente vê uma página deste computador (
localhostou127.0.0.1) sem perguntar. - Em qualquer outro site, por exemplo uma página em que tens sessão iniciada, o assistente mostra primeiro um cartão: «O assistente quer ver onedrive.live.com.» Clica em Permitir ver ou em Recusar. Ele pergunta sempre de novo.
- Se a página passar para outro site depois da tua autorização, o assistente não lê nada.
- O assistente só clica e escreve sozinho numa página deste computador, para testar o que criou. Noutros sites não clica, não escreve nem navega. Não recebe cookies nem palavras-passe.
- No modo offline, o assistente só vê páginas deste computador.
Versões e GitHub
O assistente tem um git integrado. Não precisa, portanto, de instalar o git, nem mesmo no Windows. O assistente pode guardar versões, mostrar o que mudou, criar branches e publicar um projeto online.
- As ações nesta pasta, como guardar uma versão, iniciam sem perguntar. Os arquivos que parecem conter segredos (como arquivos
.env, chaves ou tokens no código, incluindo chaves de API da Google que começam porAIza) nunca entram numa versão. O assistente avisa quando ignora algo. - As ações online (transferir um projeto, obter a versão mais recente, publicar online e criar um repositório GitHub) mostram primeiro um cartão com o endereço exato e as etiquetas Integrado na aplicação e Rede ativa. Se o endereço não for github.com ou se um novo repositório ficar público, o cartão avisa. Ao publicar online, o cartão mostra que arquivos são enviados. Escolha Executar ou Recusar.
- Ligar um repositório fora de github.com também pede autorização primeiro.
Saiba como ligar o GitHub e publicar um projeto online em Vibe coding.
No modo offline, os comandos são sempre executados na sandbox sem rede. As instalações de pacotes com rede e as ações online do git integrado (transferir, obter, enviar e GitHub) não funcionam nesse caso. Guardar versões e mostrar uma página web simples continuam a funcionar.
Configurações para administradores
Os administradores podem desativar os comandos locais ou a execução automática para todos no ambiente. Fazem-no na área de administração, em Recursos (ao nível do ambiente), no cartão Aplicação de ambiente de trabalho:
- Permitir comandos locais: se estiver desativado, o assistente não pode executar comandos. As ações online do git integrado também deixam de funcionar. Guardar versões e os branches continuam a funcionar: só alteram arquivos na pasta, tal como as ferramentas de ficheiros.
- Permitir execução automática: se estiver desativado, cada comando pede aprovação e não é possível ativar Permitir instalações de pacotes sem perguntar.
- Permitir o Python da aplicação para ficheiros do Office: para modelos, gráficos e análises. Este Python funciona sem internet, só escreve na pasta de trabalho e não pode iniciar outros programas. Se nada estiver definido, segue Permitir comandos locais. Sem sandbox (Windows), só está disponível se os comandos locais estiverem ativados e pede aprovação sempre.