本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用內容掛鉤
內容掛鉤是 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_prompt
或conversation_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 |
命令失敗 | 直接在終端機中測試命令,以確保其正常運作 |
輸出太大 | 修改命令以限制輸出大小 |
勾點逾時 | 最佳化您的命令以加快執行速度 |