Utilisation de crochets contextuels - Amazon Q Developer

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de crochets contextuels

Les hooks contextuels sont une fonctionnalité de la CLI Amazon Q Developer que vous pouvez utiliser pour injecter automatiquement du contexte dans vos conversations avec Q Developer. Au lieu d'ajouter manuellement du contexte à la /context commande, les hooks contextuels exécutent les commandes et incluent leur sortie en tant que contexte.

Types de crochets contextuels

La CLI Q Developer prend en charge deux types de hooks contextuels :

Hooks pour démarrer une conversation

Exécutez une fois au début d'une conversation. Leur résultat est ajouté au contexte de la conversation et est conservé tout au long de la session.

Crochets par invite

Exécuter avec chaque message utilisateur. Leur sortie est ajoutée uniquement à l'invite en cours.

Gestion des accroches contextuelles

Vous pouvez gérer les hooks contextuels à l'aide de la /context hooks commande de la CLI Q Developer.

Afficher vos crochets

Pour afficher tous les hooks configurés au niveau global et au niveau du profil :

/context hooks

Cette commande affiche tous les hooks configurés pour votre profil actuel et au niveau global, ainsi que leur statut (activé ou désactivé).

Ajouter un crochet

Pour ajouter un nouveau hook contextuel :

/context hooks add [--global] <name> --trigger <trigger> --command <command>
<name>

Un nom unique pour le crochet

<trigger>

L'un per_prompt ou l'autre conversation_start

<command>

La commande shell à exécuter

--mondial

(Facultatif) Ajoutez le hook à la configuration globale au lieu du profil actuel

Exemple Ajouter un hook git status
/context hooks add git-status --trigger per_prompt --command "git status --short"

Enlever un crochet

Pour supprimer un hook contextuel existant, procédez comme suit :

/context hooks rm <name> [--global]

Activer ou désactiver les hooks

Pour activer un hook spécifique :

/context hooks enable [--global] <name>

Pour désactiver un hook spécifique, procédez comme suit :

/context hooks disable [--global] <name>

Pour activer tous les hooks :

/context hooks enable-all [--global]

Pour désactiver tous les hooks, procédez comme suit :

/context hooks disable-all [--global]

Obtenez de l'aide pour les crochets

Pour afficher une aide détaillée sur les commandes hooks, procédez comme suit :

/context hooks help

Configurations

Vous pouvez vérifier la configuration de vos hooks aux emplacements suivants.

Si le hook est global :

~/.aws/amazonq/global_context.json

Si le hook est basé sur le profil :

~/.aws/amazonq/profiles/profile-name/context.json

Exemples de cas d’utilisation

Les exemples suivants illustrent les cas d'utilisation courants des hooks contextuels.

État de Git

Ajoutez un hook pour afficher le statut de git à chaque invite :

/context hooks add git-status --trigger per_prompt --command "git status --short"

Ce hook exécute la git status --short commande avant chaque invite et inclut le résultat dans votre conversation avec Q Developer. Cela permet à Q Developer de comprendre l'état actuel de votre dépôt git lorsque vous posez des questions sur le contrôle de version ou que vous avez besoin d'aide avec les commandes git.

Informations sur le projet

Ajoutez un crochet pour afficher les informations du projet au début d'une conversation :

/context hooks add project-info --trigger conversation_start --command "echo 'Project: '$(basename $(pwd))"

Ce hook s'exécute une fois au début de votre conversation et inclut le nom du projet actuel dans le contexte. Cela permet à Q Developer de fournir des réponses plus pertinentes et spécifiques à votre projet.

Astuce

Vous pouvez développer ce hook pour inclure davantage d'informations sur le projet, telles que le langage de programmation, le framework ou la structure du projet.

Comportement et limites

Lorsque vous utilisez des crochets contextuels, gardez à l'esprit les comportements et limites suivants :

  • Les hooks s'exécutent en parallèle pour minimiser l'impact sur le temps de réponse

  • La sortie Hook est formatée et clairement indiquée dans le contexte

  • La /clear commande réévalue les crochets de démarrage de conversation

  • Les hooks sont stockés dans la configuration de votre Q Developer CLI

  • Actuellement, seuls les hooks de commande en ligne sont pris en charge

  • La sortie du crochet est limitée à 10 Ko par crochet

  • Par défaut, les hooks expirent au bout de 5 secondes

Considérations sur la sécurité

Lorsque vous utilisez des hooks contextuels, tenez compte des meilleures pratiques de sécurité suivantes :

  • Les hooks contextuels exécutent des commandes shell avec vos autorisations utilisateur actuelles. Faites attention aux commandes que vous incluez dans vos hooks, car elles ont le même accès que votre compte utilisateur.

  • Soyez prudent lorsque vous ajoutez des crochets susceptibles de révéler des informations sensibles, telles que des informations d'identification ou des données personnelles. Vérifiez le résultat de vos hooks pour vous assurer qu'ils ne contiennent pas d'informations que vous ne souhaitez pas partager.

  • Envisagez de désactiver les hooks lorsqu'ils ne sont pas nécessaires. Cela réduit le risque d'exposer accidentellement des informations sensibles.

  • N'utilisez pas de crochets pour exécuter des commandes susceptibles de modifier votre système ou vos données. Les crochets doivent être utilisés pour lire des informations et non pour apporter des modifications.

  • Soyez prudent lorsque vous utilisez des hooks dans des environnements partagés. D'autres utilisateurs pourront peut-être voir le résultat de vos hooks s'ils ont accès à vos sessions Q Developer CLI.

Avertissement

N'incluez jamais de commandes dans vos hooks qui exposent des mots de passe, des clés d'accès ou d'autres informations d'identification. Ces informations peuvent être stockées dans l'historique de vos conversations et potentiellement exposées à d'autres personnes.

Résolution des problèmes

Si vous rencontrez des problèmes avec les hooks contextuels, essayez les solutions suivantes :

Résolution des problèmes liés aux accrocs
Problème Solution
Hook ne fonctionne pas Vérifiez que le hook est activé avec /context hooks
Échec de la commande Testez la commande directement dans votre terminal pour vous assurer qu'elle fonctionne
La sortie est trop importante Modifiez votre commande pour limiter la taille de sortie
Hook time out Optimisez votre commande pour une exécution plus rapide