Usar hooks de contexto
Hooks de contexto são um recurso na CLI do Amazon Q Developer que você pode usar para injetar contexto automaticamente em suas conversas com o Q Developer. Em vez de adicionar contexto manualmente com o comando /context, os hooks de contexto executam comandos e incluem a saída como contexto.
Tipos de hooks de contexto
A CLI do Q Developer oferece suporte a dois tipos de hooks de contexto:
- Hooks do início da conversa
-
Execute uma vez no início de uma conversa. A saída é adicionada ao contexto da conversa e persiste durante toda a sessão.
- Hooks por prompt
-
São executados com cada mensagem do usuário. A saída é adicionada somente ao prompt atual.
Gerenciar hooks de contexto
Você pode gerenciar hooks de contexto usando o comando /context hooks na CLI do Q Developer.
Ver seus hooks
Como ver todos os hooks configurados nos níveis global e de perfil:
/context hooks
Esse comando exibe todos os hooks configurados para seu perfil atual e em nível global, junto com o status (habilitado ou desabilitado).
Adicionar um hook
Como adicionar um novo hook de contexto:
/context hooks add [--global] <name> --trigger <trigger> --command <command>
- <name>
-
Um nome exclusivo para este hook
- <trigger>
-
per_promptouconversation_start - <command>
-
O comando shell a ser executado
- --global
-
(Opcional) Adicione o hook à configuração global em vez do perfil atual
exemplo Adicionar um hook de status do git
/context hooks add git-status --trigger per_prompt --command "git status --short"
Remover um hook
Como remover um hook de contexto existente:
/context hooks rm <name> [--global]
Habilitar ou desabilitar hooks
Como habilitar um hook específico:
/context hooks enable [--global] <name>
Como desabilitar um hook específico:
/context hooks disable [--global] <name>
Como habilitar todos os hooks:
/context hooks enable-all [--global]
Como desabilitar todos os hooks:
/context hooks disable-all [--global]
Obter ajuda com hooks
Como exibir ajuda detalhada para os comandos de hooks:
/context hooks help
Configurações
Você pode verificar a configuração de seus hooks nos seguintes locais.
Se o hook for global:
~/.aws/amazonq/global_context.json
Se o hook for baseado em perfil:
~/.aws/amazonq/profiles/profile-name/context.json
Exemplo de casos de uso
Os exemplos a seguir demonstram alguns casos de uso comuns para hooks de contexto.
Status do git
Adicione um hook para mostrar o status do git com cada prompt:
/context hooks add git-status --trigger per_prompt --command "git status --short"
Esse hook executa o comando git status --short antes de cada prompt e inclui a saída em sua conversa com o Q Developer. Isso ajuda o Q Developer a entender o estado atual do seu repositório git quando você faz perguntas sobre controle de versão ou precisa de ajuda com os comandos git.
Informações do projeto
Adicione um hook para mostrar as informações do projeto no início de uma conversa:
/context hooks add project-info --trigger conversation_start --command "echo 'Project: '$(basename $(pwd))"
Esse hook é executado uma vez no início da conversa e inclui o nome do projeto atual no contexto. Isso ajuda o Q Developer a fornecer respostas mais relevantes e específicas para o seu projeto.
dica
Você pode expandir esse hook para incluir mais informações do projeto, como a linguagem de programação, a estrutura ou a organização do projeto.
Comportamento e limitações
Ao usar hooks de contexto, lembre-se dos seguintes comportamentos e limitações:
-
Os hooks são executados em paralelo para minimizar o impacto no tempo de resposta
-
A saída do hook é formatada e claramente marcada no contexto
-
O comando
/clearreavalia os hooks de início da conversa -
Os hooks são armazenados na configuração da CLI do Q Developer
-
Atualmente, somente hooks de comando em linha são compatíveis
-
A saída do hook é limitada a 10 KB por hook
-
Os hooks expiram após cinco segundos por padrão
Considerações sobre segurança
Ao usar hooks de contexto, considere as seguintes práticas recomendadas de segurança:
-
Os hooks de contexto executam comandos shell com suas permissões de usuário atuais. Tenha cuidado com os comandos que você inclui em seus hooks, pois eles têm o mesmo acesso que sua conta de usuário.
-
Tenha cuidado ao adicionar hooks que possam expor informações confidenciais, como credenciais ou dados pessoais. Analise a saída de seus hooks para garantir que eles não incluam informações que você não deseja compartilhar.
-
Considere desabilitar os hooks quando eles não forem necessários. Isso reduz o risco de expor acidentalmente informações confidenciais.
-
Não use hooks para executar comandos que possam modificar seu sistema ou dados. Os hooks devem ser usados para ler informações, não para fazer alterações.
-
Tenha cuidado ao usar hooks em ambientes compartilhados. Outros usuários podem ver a saída de seus hooks se tiverem acesso às suas sessões da CLI do Q Developer.
Atenção
Nunca inclua comandos em seus hooks que exponham senhas, chaves de acesso ou outras credenciais. Essas informações podem ser armazenadas em seu histórico de conversas e potencialmente expostas a outras pessoas.
Solução de problemas
Se você encontrar problemas com hooks de contexto, tente as seguintes soluções:
| Problema | Solução |
|---|---|
| O hook não funciona | Verifique se o hook está habilitado com /context hooks |
| O comando falha | Teste o comando diretamente no seu terminal para garantir que ele funcione |
| A saída é muito grande | Modifique seu comando para limitar o tamanho da saída |
| O hook atinge o tempo-limite | Otimize seu comando para uma execução mais rápida |