Kontext-Hooks verwenden - Amazon Q Developer

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Kontext-Hooks verwenden

Kontext-Hooks sind eine Funktion in Amazon Q Developer CLI, mit der Sie automatisch Kontext in Ihre Konversationen mit Q Developer einfügen können. Anstatt manuell Kontext mit dem /context Befehl hinzuzufügen, führen Kontext-Hooks Befehle aus und fügen ihre Ausgabe als Kontext hinzu.

Arten von Kontext-Hooks

Q Developer CLI unterstützt zwei Arten von Kontext-Hooks:

Hooks zum Starten von Konversationen

Zu Beginn einer Konversation einmal ausführen. Ihre Ausgabe wird dem Konversationskontext hinzugefügt und bleibt während der gesamten Sitzung erhalten.

Hooks pro Aufforderung

Wird mit jeder Benutzernachricht ausgeführt. Ihre Ausgabe wird nur zur aktuellen Eingabeaufforderung hinzugefügt.

Kontext-Hooks verwalten

Sie können Kontext-Hooks verwalten, indem Sie den /context hooks Befehl in der Q Developer CLI verwenden.

Sehen Sie sich Ihre Hooks an

Um alle konfigurierten Hooks sowohl auf globaler Ebene als auch auf Profilebene anzuzeigen:

/context hooks

Dieser Befehl zeigt alle Hooks an, die für Ihr aktuelles Profil und auf globaler Ebene konfiguriert sind, zusammen mit ihrem Status (aktiviert oder deaktiviert).

Fügen Sie einen Hook hinzu

Um einen neuen Kontext-Hook hinzuzufügen:

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

Ein eindeutiger Name für den Hook

<trigger>

Entweder per_prompt oder conversation_start

<command>

Der auszuführende Shell-Befehl

--global

(Optional) Fügt den Hook zur globalen Konfiguration statt zum aktuellen Profil hinzu

Beispiel Einen Git-Status-Hook hinzufügen
/context hooks add git-status --trigger per_prompt --command "git status --short"

Entferne einen Hook

Um einen vorhandenen Kontext-Hook zu entfernen:

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

Hooks aktivieren oder deaktivieren

Um einen bestimmten Hook zu aktivieren:

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

Um einen bestimmten Hook zu deaktivieren:

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

Um alle Hooks zu aktivieren:

/context hooks enable-all [--global]

Um alle Hooks zu deaktivieren:

/context hooks disable-all [--global]

Hol dir Hilfe mit Hooks

Um detaillierte Hilfe zu den Hooks-Befehlen anzuzeigen:

/context hooks help

Konfigurationen

Sie können die Konfiguration Ihrer Hooks an den folgenden Stellen überprüfen.

Wenn der Hook global ist:

~/.aws/amazonq/global_context.json

Wenn der Hook profilbasiert ist:

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

Beispielanwendungsfälle

Die folgenden Beispiele zeigen gängige Anwendungsfälle für Kontext-Hooks.

Git-Status

Füge einen Hook hinzu, um den Git-Status bei jeder Aufforderung anzuzeigen:

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

Dieser Hook führt den git status --short Befehl vor jeder Aufforderung aus und bezieht die Ausgabe in Ihre Konversation mit Q Developer ein. Dies hilft Q Developer, den aktuellen Status Ihres Git-Repositorys zu verstehen, wenn Sie Fragen zur Versionskontrolle stellen oder Hilfe bei Git-Befehlen benötigen.

Informationen zum Projekt

Fügen Sie einen Hook hinzu, um Projektinformationen zu Beginn einer Konversation anzuzeigen:

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

Dieser Hook wird einmal zu Beginn Ihrer Konversation ausgeführt und bezieht den aktuellen Projektnamen in den Kontext ein. Dies hilft Q Developer, relevantere Antworten zu geben, die spezifisch für Ihr Projekt sind.

Tipp

Sie können diesen Hook um weitere Projektinformationen erweitern, z. B. die Programmiersprache, das Framework oder die Projektstruktur.

Verhalten und Einschränkungen

Beachten Sie bei der Verwendung von Kontext-Hooks die folgenden Verhaltensweisen und Einschränkungen:

  • Hooks werden parallel ausgeführt, um die Auswirkungen auf die Reaktionszeit zu minimieren

  • Die Hook-Ausgabe ist formatiert und im Kontext deutlich gekennzeichnet

  • Der /clear Befehl wertet Konversationsstart-Hooks neu aus

  • Hooks werden in Ihrer Q Developer CLI-Konfiguration gespeichert

  • Derzeit werden nur Inline-Befehls-Hooks unterstützt

  • Die Hook-Ausgabe ist auf 10 KB pro Hook begrenzt

  • Standardmäßig laufen Hooks nach 5 Sekunden ab

Sicherheitsüberlegungen

Beachten Sie bei der Verwendung von Kontext-Hooks die folgenden bewährten Sicherheitsmethoden:

  • Kontext-Hooks führen Shell-Befehle mit Ihren aktuellen Benutzerberechtigungen aus. Achten Sie darauf, welche Befehle Sie in Ihre Hooks aufnehmen, da sie denselben Zugriff haben wie Ihr Benutzerkonto.

  • Seien Sie vorsichtig, wenn Sie Hooks hinzufügen, die vertrauliche Informationen wie Anmeldeinformationen oder persönliche Daten preisgeben könnten. Überprüfen Sie die Ausgabe Ihrer Hooks, um sicherzustellen, dass sie keine Informationen enthalten, die Sie nicht teilen möchten.

  • Erwägen Sie, Hooks zu deaktivieren, wenn sie nicht benötigt werden. Dies reduziert das Risiko, versehentlich vertrauliche Informationen preiszugeben.

  • Verwenden Sie Hooks nicht, um Befehle auszuführen, die Ihr System oder Ihre Daten verändern könnten. Hooks sollten zum Lesen von Informationen verwendet werden, nicht zum Vornehmen von Änderungen.

  • Seien Sie vorsichtig, wenn Sie Hooks in gemeinsam genutzten Umgebungen verwenden. Andere Benutzer können möglicherweise die Ausgabe Ihrer Hooks sehen, wenn sie Zugriff auf Ihre Q Developer CLI-Sitzungen haben.

Warnung

Fügen Sie niemals Befehle in Ihre Hooks ein, die Passwörter, Zugriffsschlüssel oder andere Anmeldeinformationen offenlegen. Diese Informationen könnten in Ihrem Konversationsverlauf gespeichert und möglicherweise anderen zugänglich gemacht werden.

Fehlerbehebung

Wenn Sie Probleme mit Kontext-Hooks haben, versuchen Sie es mit den folgenden Lösungen:

Problembehandlung bei Kontext-Hooks
Problem Lösung
Hook läuft nicht Stellen Sie sicher, dass der Hook aktiviert ist mit /context hooks
Befehl schlägt fehl Testen Sie den Befehl direkt in Ihrem Terminal, um sicherzustellen, dass er funktioniert
Die Ausgabe ist zu groß Ändern Sie Ihren Befehl, um die Ausgabegröße zu begrenzen
Hook-Zeitlimit überschritten Optimieren Sie Ihren Befehl für eine schnellere Ausführung