使用內容掛鉤 - Amazon Q Developer

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用內容掛鉤

內容掛鉤是 Amazon Q Developer CLI 中的一項功能,可用來將內容自動插入您與 Q Developer 的對話中。內容關聯會執行命令,並包含其輸出做為內容,而不是使用 /context 命令手動新增內容。

內容掛鉤的類型

Q Developer CLI 支援兩種類型的內容關聯:

對話開始勾點

在對話開始時執行一次。其輸出會新增至對話內容,並在整個工作階段中持續存在。

每個提示勾點

使用每個使用者訊息執行 。其輸出只會新增至目前的提示。

管理內容關聯

您可以使用 Q Developer CLI 中的 /context hooks命令來管理內容關聯。

檢視您的勾點

若要檢視全域和設定檔層級的所有已設定勾點:

/context hooks

此命令會顯示為目前設定檔和全域層級設定的所有勾點,以及其狀態 (啟用或停用)。

新增勾點

若要新增內容關聯:

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

勾點的唯一名稱

<觸發器>

per_promptconversation_start

<command>

要執行的 shell 命令

--全球

(選用) 將勾點新增至全域組態,而非目前的設定檔

範例 新增 git 狀態勾點
/context hooks add git-status --trigger per_prompt --command "git status --short"

移除勾點

若要移除現有的內容關聯:

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

啟用或停用勾點

若要啟用特定勾點:

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

若要停用特定勾點:

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

若要啟用所有掛鉤:

/context hooks enable-all [--global]

若要停用所有勾點:

/context hooks disable-all [--global]

取得勾點的說明

若要顯示勾點命令的詳細說明:

/context hooks help

組態

您可以在下列位置驗證掛鉤的組態。

如果勾點是全域的:

~/.aws/amazonq/global_context.json

如果掛鉤是以設定檔為基礎:

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

範例使用案例

下列範例示範內容掛鉤的常見使用案例。

Git 狀態

新增勾點以顯示每個提示的 git 狀態:

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

此勾點會在每個提示之前執行 git status --short命令,並在您與 Q Developer 的對話中包含輸出。當您詢問有關版本控制的問題或需要 git 命令的協助時,這有助於 Q Developer 了解 git 儲存庫的目前狀態。

專案資訊

新增勾點以在對話開始時顯示專案資訊:

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

此勾點會在對話開始時執行一次,並在內容中包含目前的專案名稱。這有助於 Q Developer 為您的專案提供更相關的回應。

提示

您可以展開此勾點以包含更多專案資訊,例如程式設計語言、架構或專案結構。

行為和限制

當您使用內容掛鉤時,請記住下列行為和限制:

  • 勾點會平行執行,將對回應時間的影響降至最低

  • 勾點輸出已格式化,並在內容中清楚標記

  • /clear 命令會重新評估對話開始勾點

  • 掛鉤存放在您的 Q 開發人員 CLI 組態中

  • 目前,僅支援內嵌命令勾點

  • 勾點輸出限制為每個勾點 10KB

  • 預設在 5 秒後掛鉤逾時

安全考量

當您使用內容掛鉤時,請考慮下列安全最佳實務:

  • 內容掛鉤會使用您目前的使用者許可執行 shell 命令。請注意您在掛鉤中包含哪些命令,因為它們具有與您的使用者帳戶相同的存取權。

  • 新增可能公開敏感資訊的勾點時請小心,例如登入資料或個人資料。檢閱掛鉤的輸出,以確保它們不包含您不想共用的資訊。

  • 不需要掛鉤時,請考慮停用掛鉤。這可降低意外暴露敏感資訊的風險。

  • 請勿使用勾點來執行可修改系統或資料的命令。勾點應該用於讀取資訊,而不是進行變更。

  • 在共用環境中使用勾點時請小心。如果其他使用者可以存取您的 Q 開發人員 CLI 工作階段,則他們可能會看到您的勾點輸出。

警告

請勿在掛鉤中包含公開密碼、存取金鑰或其他登入資料的命令。此資訊可能會存放在您的對話歷史記錄中,並可能公開給其他人。

故障診斷

如果您遇到內容關聯的問題,請嘗試下列解決方案:

對內容掛鉤進行故障診斷
問題 解決方案
勾點未執行 確認勾點已啟用 /context hooks
命令失敗 直接在終端機中測試命令,以確保其正常運作
輸出太大 修改命令以限制輸出大小
勾點逾時 最佳化您的命令以加快執行速度