Observação
As áreas restritas locais estão GitHub Copilot dentro prévia pública e sujeitas a alterações.
Importante
O sandboxing local em Windows requer uma compilação Windows Insiders.
Sobre o sandboxing local
Atualmente, o sandboxing é um recurso experimental. Para usá-lo, comece Copilot CLI com a opção ‑‑experimental de linha de comando ou insira /experimental on durante uma sessão.
Quando você habilita o sandboxing local, Copilot CLI executa a maioria dos comandos e ferramentas que ele invoca em seu nome dentro de uma área restrita do sistema operacional. Depois de ativar o sandboxing local, ele será usado em todas as suas sessões Copilot CLI até você desativá-lo ou desligá-lo para uma sessão específica. Se as configurações gerenciadas da empresa exigirem isolamento em sandbox, a configuração normal, a opção de linha de comando --no-sandbox e o comando /sandbox disable não poderão desabilitá-lo. No entanto, se a política em vigor permitir ignorar a sandbox, você poderá desativar explicitamente a sandbox pelo restante da sessão atual a partir de um prompt ativo de permissão para ignorá-la.
Por padrão, comandos e ferramentas em sandbox podem gravar no diretório de trabalho atual e em pastas temporárias. O diretório do perfil do usuário (home), juntamente com os locais do sistema e das ferramentas, são somente de leitura. Outros locais de disco são bloqueados. Em um repositório Git, o restante do repositório acima do diretório de trabalho atual é legível, mas não gravável. O acesso à sua rede local e privada é permitido, assim como o acesso à Internet de saída.
Por padrão, as operações autenticadas de Git e GitHub CLI (gh) continuam funcionando dentro do sandbox, porque Copilot CLI disponibiliza suas credenciais do GitHub para comandos em sandbox. Isso permite que ações como git push e gh pr create tenham êxito. Você pode desativar isso nas configurações da sandbox.
Para obter uma visão geral conceitual do sandboxing em Copilot CLI, consulte Sobre a nuvem e as áreas restritas locais para GitHub Copilot.
Comandos de sandbox
Você gerencia o isolamento local em uma sessão Copilot CLI usando o comando de barra /sandbox. Possui os seguintes subcomandos.
| Command | Descrição |
|---|---|
/sandbox status | Mostre se o sandboxing está sendo usado para a sessão no momento. Consulte como verificar se o sandbox está sendo usado. |
/sandbox policy | Mostre a política efetiva do sistema de arquivos para o diretório atual: os caminhos legíveis, graváveis ou bloqueados e o acesso à rede em vigor. Para obter mais informações, consulte Noções básicas sobre políticas de sistema de arquivos para área restrita local em GitHub Copilot CLI. |
/sandbox config | Abra a interface de configurações interativas. Inserir /sandbox sozinho tem o mesmo efeito. Para obter mais informações, consulte Configurando as configurações locais da sandbox. |
/sandbox enable | Ative o isolamento local. Consulte Como ativar o sandbox local. |
/sandbox disable | Desative o isolamento local. Se as configurações gerenciadas pela empresa exigirem área restrita, isso será recusado. Consulte Desabilitando o sandboxing local. |
Habilitando o sandboxing local
Para habilitar o sandboxing local, insira o seguinte comando em uma sessão interativa Copilot CLI :
/sandbox enable
/sandbox enable
O sandboxing começa a ser usado imediatamente para a sessão atual.
Depois de habilitar o sandboxing local, ele continuará a ser usado para as sessões interativas atuais e futuras e para sessões programáticas.
Observação
Se você tiver outras sessões abertas ao entrar /sandbox enable, o sandboxing não será usado imediatamente nessas sessões. Para usar o sandboxing em uma sessão já aberta, faça um dos seguintes procedimentos nessa sessão:
- Feche a sessão e reinicie-a, por exemplo, executando
copilot --continue. - Insira
/sandbox enable.
Desabilitando o sandboxing local
Se as configurações gerenciadas pela empresa exigirem isolamento em sandbox, /sandbox disable é recusado. Se a política efetiva permitir ignorar a sandbox, você poderá, em vez disso, desativá-la explicitamente pelo restante da sessão atual a partir de um prompt ativo de permissão para ignorar a sandbox.
Para parar de usar o sandboxing local, insira o seguinte comando em uma sessão interativa Copilot CLI :
/sandbox disable
/sandbox disable
O sandboxing não é mais usado na sessão atual ou em sessões novas e reiniciadas.
Sua escolha de usar ou não o isolamento local é salva como a configuração sandbox.enabled no seu arquivo de configuração pessoal da CLI (~/.copilot/settings.json por padrão).
Usando o sandboxing para uma única sessão
Você pode usar a opção --sandbox de linha de comando para usar o sandboxing para uma única sessão, sem habilitar o sandboxing para suas outras sessões. Se o sandboxing já estiver habilitado, você poderá desabilitá-lo para uma única sessão usando a opção --no-sandbox . A opção --no-sandbox não pode sobrepor configurações empresariais gerenciadas que exigem sandbox.
Você pode combinar essas opções com a opção -p de linha de comando para controlar o sandboxing para uso programático da CLI. Por exemplo:
copilot --sandbox -p "PROMPT"
copilot --sandbox -p "PROMPT"
Executar um único comando fora da sandbox
Quando um comando precisa de acesso mais amplo do que a área restrita permite, Copilot pode solicitar a execução desse único comando fora da área restrita. É mostrado um prompt de confirmação que descreve o comando. Você pode aprovar esse único comando, mantê-lo dentro da área restrita ou desabilitar a área restrita para o restante da sessão atual. A opção de desativação da sessão está disponível apenas durante a resposta a um prompt ativo de bypass e somente se a política efetiva permitir o bypass do sandbox.
Esse comportamento é habilitado por padrão e pode ser desativado nas configurações da área restrita.
Verificando se o sandboxing está sendo usado
Para verificar se o sandboxing local está sendo usado para a sessão atual, insira:
/sandbox status
/sandbox status
Copilot CLI informa se o sandboxing está habilitado para a sessão. Se as configurações gerenciadas da sua organização exigirem isolamento em sandbox, o status também indicará isso. Como o status reflete o que a sessão realmente aplica, esta é a forma confiável de confirmar se os comandos que Copilot executa estão sendo executados em sandbox.
Para ver não apenas se o isolamento em sandbox está habilitado, mas exatamente quais caminhos podem ser lidos, gravados ou bloqueados, digite /sandbox policy. Para obter mais informações, consulte Noções básicas sobre políticas de sistema de arquivos para área restrita local em GitHub Copilot CLI.
Você também pode ver de imediato o status do sandbox na linha de status, que contém sandbox enabled quando o modo sandbox está sendo usado. A exibição das informações da sandbox na linha de status é ativada por padrão. Se ele tiver sido desativado, você poderá ativá-lo novamente:
- Insira
/statusline. - Mova a seleção para baixo na lista de opções para área restrita.
- Pressione Enter para alternar a configuração até que ela exiba uma marca de seleção.