Introduction
Quando Copilot trabalha em uma tarefa, ela geralmente precisa executar ações que possam alterar seu sistema, como executar comandos de shell, editar arquivos ou acessar URLs. Você pode escolher como as solicitações de permissão para essas ações são tratadas.
Responder aos prompts de aprovação mantém você no controle, mas isso pode atrasá-lo, especialmente no início de uma sessão, quando Copilot precisa estabelecer quais ações ela tem permissão para executar. Para reduzir o número de prompts, você pode conceder Copilot permissões incondicionalmente, mas isso remove sua supervisão sobre ações individuais.
Assisted permissions é um meio termo entre a aprovação manual e a concessão de permissões amplas com uma opção allow-all. Ele usa um modelo de linguagem grande para revisar solicitações de permissão e aprovar automaticamente ações que avalia como seguras no contexto de sua tarefa. Em uma sessão interativa padrão, as solicitações que ainda exigem aprovação são colocadas para você.
Observação
Assisted permissions está disponível em GitHub Copilot CLI, Visual Studio Codee o GitHub Copilot app.
Opções de aprovação
Você pode escolher entre três opções que determinam o quanto deseja estar envolvido na aprovação das ações que Copilot executa. As regras de negação existentes e as restrições empresariais ainda se aplicam. As solicitações que já são permitidas por suas permissões podem ser executadas sem um prompt ou uma revisão de modelo.
-
**Aprovação manual:**Copilot A aprovação manual solicita sua aprovação quando uma ação ainda não está previamente permitida, como executar um comando que não é somente leitura, editar um arquivo ou acessar uma URL. Você pode aprovar uma ação uma vez ou pelo resto da sessão. Isso oferece mais supervisão, mas exige que você responda ao maior número de prompts.
-
**Assisted permissions:**Copilot usa um modelo para avaliar solicitações de permissão elegíveis e aprova automaticamente aquelas que ele julga seguras. Você é avisado quando uma solicitação ainda precisa de sua aprovação. Isso reduz os prompts sem conceder permissão irrestrita para executar comandos.
-
**Aprovação incondicional:**Copilot tem ampla permissão para usar ferramentas, caminhos e URLs sem uma revisão de segurança do modelo ou prompts individuais de aprovação. Essa é a opção mais permissiva e remove sua supervisão de ações individuais. Esse é o comportamento que você obtém em Copilot CLI quando usa a opção
--allow-allde linha de comando (ou--yolo) ou o comando de barra/permissions allow-all(ou/yolo).
O administrador pode desabilitar a aprovação permissions.disableBypassPermissionsMode: "disable" incondicional sem desabilitar assisted permissions. A configuração separada permissions.disableAssistedPermissionsMode: true desabilita assisted permissions. Para obter mais informações, consulte Configurações gerenciadas pela empresa.
Como assisted permissions funciona
Quando você habilita assisted permissions, as regras existentes e as aprovações humanas são avaliadas antes de uma revisão de modelo. Para solicitações qualificadas que ainda não foram resolvidas — seja para executar um comando, acessar um caminho ou buscar uma URL —, o modelo avalia se a ação é segura e está dentro da autoridade que você deu para a tarefa.
Em Copilot CLI, as regras corporativas ask para comandos de shell, leituras de arquivo, gravações de arquivo e URLs podem ser atendidas pela aprovação do modelo quando a solicitação é elegível para revisão. Isso significa que nem sempre essas regras resultam em um prompt para sua confirmação. As regras de bloqueio da empresa ainda se aplicam.
Assisted permissions não revisa outras chamadas de ferramenta que as regras empresariais exigem que você aprove, ou solicitações para contornar o sandbox local. Essas solicitações permanecem sujeitas ao tratamento normal de permissões da sessão.
Para solicitações que ele pode examinar, o modelo faz uma recomendação:
- Se o modelo estiver confiante de que a solicitação é segura, Copilot a aprova automaticamente e continua, sem solicitar sua confirmação.
- Se o modelo não estiver confiante de que a solicitação é segura, Copilot solicita sua aprovação, como faria com a aprovação manual.
Se uma revisão de segurança não estiver disponível ou não puder avaliar uma solicitação, a solicitação seguirá o tratamento normal de permissões da sessão.
Observação
No modo de piloto automático e em execuções não interativas, as solicitações que ainda exigem sua aprovação são negadas em vez disso. Quando a revisão de segurança requer aprovação, sua explicação é passada de volta para Copilot para que possa tentar uma abordagem diferente. Consulte Permitindo que GitHub Copilot trabalhe de forma autônoma.
Copilot selecionado é o modelo usado para a revisão de segurança, que pode ser diferente do modelo selecionado para sua conversa. Se o modelo de revisão selecionado não estiver disponível, a revisão poderá usar o modelo ativo da sessão. Se você usar seu próprio provedor de modelos, a revisão usará o modelo ativo da sessão.
Importante
Assisted permissions reduz a frequência com que você recebe avisos, mas não remove sua responsabilidade pelo que Copilot faz. O modelo pode cometer erros e aprovar ações perigosas ou não intencionais. Esse recurso não substitui restrições de acesso ou sandboxing. Assim como acontece com qualquer opção de aprovação automática, você deve examinar as ações que Copilot executa e considerar executá-lo em uma área restrita ou em outro ambiente isolado. Para obter mais informações, consulte CLI do GitHub Copilot.
Usando assisted permissions no GitHub Copilot app
Para ativar assisted permissions em uma sessão local:
- Na caixa de prompt, abra o menu de modo, que mostra o modo atual, como Interativo, Plan ou Autopilot.
- Clique em Permissões da ferramenta e selecione Assistida.
Sua seleção se aplica à sessão atual e também é salva como o padrão para novas sessões locais. Ele não altera outras sessões existentes. Para alterar o padrão sem alterar a sessão atual, abra Configurações, selecione Sessões e escolha Assistido em Permissões da ferramenta.
Para ativar assisted permissions somente para a sessão ativa atual, sem alterar o padrão, insira /permissions assisted na caixa de prompt. Insira /permissions manual para retornar essa sessão à aprovação manual ou /permissions show para verificar seu modo de permissão.
Os controles de permissão da ferramenta não estão disponíveis para sessões de nuvem. Para sessões em um host remoto, os modos de permissão disponíveis dependem do que esse host suporta. As restrições de administrador ainda se aplicam, mesmo se você selecionar Assistido como padrão.
Usando assisted permissions em GitHub Copilot CLI
Há três maneiras de ativar assisted permissions, dependendo se você deseja que ela seja para a sessão em que você está, para cada nova sessão ou para uma única execução automatizada.
Ativando-o durante uma sessão interativa
Insira o seguinte comando de barra:
/permissions assisted
/permissions assisted
Para retornar à aprovação manual, insira /permissions manual. Para verificar em qual modo de permissão você está atualmente, insira /permissions show. Você também pode inserir /permissions, sem nenhum argumento, para escolher um modo em uma lista.
Tornando-o o padrão para novas sessões
Para tornar assisted permissions seu modo preferencial para novas sessões interativas, defina defaultPermissionMode como "assisted" no arquivo de configuração do usuário (~/.copilot/settings.json). Você pode editar o arquivo diretamente ou usar o /settings comando de barra durante uma sessão. Para obter mais informações, consulte Diretório de configuração do GitHub Copilot CLI.
A configuração se aplica apenas a novas sessões interativas. Se o administrador definir permissions.defaultMode, esse padrão gerenciado terá precedência sobre sua preferência. Você ainda pode escolher um modo diferente para uma sessão, como com /permissions manual, se a política permitir.
As sessões retomadas mantêm o modo de permissão salvo, sujeito às restrições de política atuais. A opção --allow-all ou --yolo terá precedência sobre qualquer uma das opções padrão se a política permitir. Se a opção padrão selecionada estiver indisponível ou bloqueada pela política, a CLI começará com aprovação manual.
Para fazer da aprovação manual seu padrão preferencial, defina defaultPermissionMode como "manual". Se nem você nem o seu administrador tiverem configurado um padrão, novas sessões poderão ser iniciadas no modo manual ou assistido. Use /permissions show para verificar.
Usá-lo para uma execução não interativa
Quando você executar Copilot CLI de forma não interativa, com a opção --prompt ou -p, ou em um ambiente sem terminal anexado, como um fluxo de trabalho de CI/CD, use a opção --assisted-approval de linha de comando:
copilot -p "Fix the failing tests" --assisted-approval
copilot -p "Fix the failing tests" --assisted-approval
Você também pode definir a COPILOT_ASSISTED_APPROVAL variável de ambiente como true, o que é útil em ambientes automatizados em que não é possível alterar facilmente o comando executado.
Essa opção é apenas para execuções não interativas. Se você usá-la ao iniciar uma sessão interativa, a CLI sairá com um erro. Para usar assisted permissions em uma sessão interativa, use /permissions assisted ou a defaultPermissionMode configuração.
Quando usar a opção de linha de comando
Em uma execução não interativa, não há ninguém disponível para responder aos prompts de aprovação, portanto, você teria que escolher entre duas opções não atraentes. Sem nenhuma opção de permissão, Copilot tem negado o acesso a tudo o que precisa de aprovação e, muitas vezes, não pode concluir a tarefa. Com --allow-all-tools, você concede permissões gerais para ferramentas sem uma revisão de segurança do modelo.
--assisted-approval é o meio termo. As solicitações consideradas seguras na revisão de segurança são aprovadas automaticamente. Se a revisão exigir sua aprovação, a solicitação será negada e sua explicação será passada de volta para Copilot, para que ele possa tentar uma abordagem diferente. Outras solicitações que ainda exigem aprovação também são negadas.
Considere usá-lo quando quiser uma execução não assistida, em um fluxo de trabalho de CI/CD, um trabalho agendado ou um script em lotes, para concluir o trabalho real sem conceder Copilot permissão incondicional para executar qualquer comando.
Para obter mais informações sobre como executar Copilot CLI programaticamente, consulte Executando GitHub Copilot CLI programaticamente.
Aviso
Quando habilitado com êxito, --assisted-approval tem precedência sobre --allow-all-tools, mas não altera --allow-all-paths nem --allow-all-urls. Se você combiná-lo com --allow-all (ou --yolo), o caminho e o acesso à URL ainda poderão ser irrestritos, mesmo que assisted permissions esteja habilitado para solicitações de ferramenta.
Se assisted permissions não puder ser ativada — porque as configurações da sua empresa impedem isso, por exemplo —, a CLI grava um aviso no erro padrão. Ele não cancela uma opção separada --allow-all-tools fornecida, portanto, as solicitações da ferramenta ainda podem ser aprovadas sem uma revisão de segurança. Verifique se há esse aviso na saída de execuções automatizadas.
Como assisted permissions se comporta em Copilot CLI
-
Ativá-lo em uma sessão afeta somente essa sessão. Quando você entra em
/permissions assisted, assisted permissions fica ligado pelo resto da sessão, a menos que você a desative. Não afeta nenhuma outra sessão que você tem aberta no momento. Para aplicá-lo a sessões futuras, use adefaultPermissionModeconfiguração descrita acima. -
Você pode alternar para assisted permissions a qualquer momento. Se você iniciou uma sessão com a configuração mais permissiva (
--allow-allou seu alias--yolo), a inserção de/permissions assistedalterna você de aprovação incondicional para assisted permissions. -
Você pode ligar assisted permissions enquanto Copilot estiver em funcionamento. Você não precisa esperar que uma tarefa seja concluída. Solicitações de permissão elegíveis subsequentes usam assisted permissions. Dependendo da configuração anterior, isso pode aumentar ou reduzir o número de solicitações de aprovação que você vê durante a tarefa.