Usar hooks de contexto - Amazon Q Developer

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_prompt ou conversation_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 /clear reavalia 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:

Solucionar problemas de hooks de contexto
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