使用內容關聯 - 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>

關聯的唯一名稱

<trigger>

per_promptconversation_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 啟用關聯
命令失敗 直接在終端中測試命令,確認其正常運作
輸出太大 修改命令以限制輸出大小
關聯逾時 最佳化您的命令以加快執行速度