使用內容關聯
內容關聯是 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>
-
關聯的唯一名稱
- <trigger>
-
per_prompt或conversation_start - <command>
-
要執行的 Shell 命令
- --global
-
(選用) 將關聯新增至全域組態,而非目前設定檔
範例 新增 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 的對話中。這有助於 Q Developer 在您提出有關版本控制的問題或需要 git 命令的說明時,了解 git 儲存庫的目前狀態。
專案資訊
新增關聯以在對話開始時顯示專案資訊:
/context hooks add project-info --trigger conversation_start --command "echo 'Project: '$(basename $(pwd))"
此關聯會在對話開始時執行一次,並在內容中包含目前的專案名稱。這有助於 Q Developer 為您的特定專案提供更相關的回應。
提示
您可以擴充此關聯以包含更多專案資訊,例如程式設計語言、架構或專案結構。
行為和限制
當您使用內容關聯時,請記住下列行為和限制:
-
關聯會平行執行,以盡量降低對回應時間的影響
-
關聯輸出已格式化,並且會在內容中清楚標記
-
/clear命令會重新評估對話開始關聯 -
關聯儲存在您的 Q Developer CLI 組態中
-
目前僅支援內嵌命令關聯
-
關聯輸出限制為每個關聯 10KB
-
關聯預設在 5 秒後逾時
安全考量
當您使用內容關聯時,請考慮下列安全最佳實務:
-
內容關聯會使用您目前的使用者許可執行 Shell 命令。在關聯中包含命令時務必謹慎,因為這些命令的存取權與您的使用者帳戶相同。
-
新增可能公開敏感資訊的關聯時務必小心,例如憑證或個人資料。檢閱關聯的輸出,確認其中未包含您不想共用的資訊。
-
不需要關聯時,請考慮將其停用。這樣做可降低意外公開敏感資訊的風險。
-
請勿使用關聯來執行可能修改系統或資料的命令。關聯應該用於讀取資訊,而非進行變更。
-
在共用環境中使用關聯時務必小心。如果其他使用者可以存取您的 Q Developer CLI 工作階段,就可能會看到您的關聯輸出。
警告
絕不可在關聯中包含公開密碼、存取金鑰或其他憑證的命令。此資訊可能儲存在您的對話歷史記錄中,且可能會對他人公開。
故障診斷
如果您遇到內容關聯的問題,請嘗試下列解決方案:
| 問題 | 解決方案 |
|---|---|
| 關聯未執行 | 確認已使用 /context hooks 啟用關聯 |
| 命令失敗 | 直接在終端中測試命令,確認其正常運作 |
| 輸出太大 | 修改命令以限制輸出大小 |
| 關聯逾時 | 最佳化您的命令以加快執行速度 |