Introdução aos hooks do Os ganchos permitem estender e personalizar o comportamento dos agentes GitHub Copilot executando comandos do shell personalizados em pontos-chave durante a execução do agente. Para obter uma visão geral conceitual dos ganchos, incluindo detalhes dos gatilhos disponíveis para os ganchos, consulte Sobre ganchos..
Criando um gancho em um repositório em GitHub
-
Crie um novo
hooks.jsonarquivo com o nome de sua escolha na.github/hooks/pasta do repositório. O arquivo de configuração de ganchos deve estar presente no branch padrão do seu repositório para ser usado por agente de codificação Copilot. Para CLI do GitHub Copilot, os ganchos são carregados do diretório de trabalho atual. -
No editor de texto, copie e cole o modelo de gancho a seguir. Remova os ganchos que você não planeja usar da
hooksmatriz.JSON { "version": 1, "hooks": { "sessionStart": [...], "sessionEnd": [...], "userPromptSubmitted": [...], "preToolUse": [...], "postToolUse": [...], "errorOccurred": [...] } }{ "version": 1, "hooks": { "sessionStart": [...], "sessionEnd": [...], "userPromptSubmitted": [...], "preToolUse": [...], "postToolUse": [...], "errorOccurred": [...] } } -
Configure a sintaxe do gancho nas chaves
bashoupowershell, ou referencie diretamente os arquivos de script que você criou.-
Este exemplo executa um script que gera a data de início da sessão para um arquivo de log usando o
sessionStartgancho:JSON "sessionStart": [ { "type": "command", "bash": "echo \"Session started: $(date)\" >> logs/session.log", "powershell": "Add-Content -Path logs/session.log -Value \"Session started: $(Get-Date)\"", "cwd": ".", "timeoutSec": 10 } ],"sessionStart": [ { "type": "command", "bash": "echo \"Session started: $(date)\" >> logs/session.log", "powershell": "Add-Content -Path logs/session.log -Value \"Session started: $(Get-Date)\"", "cwd": ".", "timeoutSec": 10 } ], -
Este exemplo chama um script externo
log-prompt:JSON "userPromptSubmitted": [ { "type": "command", "bash": "./scripts/log-prompt.sh", "powershell": "./scripts/log-prompt.ps1", "cwd": "scripts", "env": { "LOG_LEVEL": "INFO" } } ],"userPromptSubmitted": [ { "type": "command", "bash": "./scripts/log-prompt.sh", "powershell": "./scripts/log-prompt.ps1", "cwd": "scripts", "env": { "LOG_LEVEL": "INFO" } } ],Para obter uma referência completa do JSON de entrada das sessões de agente, juntamente com scripts de exemplo, consulte Configuração de ganchos.
-
-
Confirme o arquivo no repositório e mescle-o no branch padrão. Agora, os ganchos serão executados durante as sessões do agente.
Resolução de problemas
Leitura adicional
-
[AUTOTITLE](/copilot/reference/hooks-configuration) -
[AUTOTITLE](/copilot/concepts/agents/coding-agent/about-coding-agent) -
[AUTOTITLE](/copilot/concepts/agents/about-copilot-cli) -
[AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-environment)