Artifacts 面板(預覽)
Visual Studio Code 中的 Artifacts 面板會在聊天對話旁邊顯示重要資源,例如螢幕截圖、計畫書和文件。Artifact 可以同時來自多個來源,並以可摺疊的樹狀結構顯示,且依來源進行分組。
注意
Artifacts 面板目前處於預覽階段。若要啟用它,請將 chat.artifacts.enabled 設定為 true。

Artifact 來源
Artifacts 可以從不同來源出現在面板中,這些來源會被合併並按起源分組
- 基於規則的提取:VS Code 會根據可設定的 MIME 類型模式、檔案路徑 glob 或記憶體檔案路徑,自動從對話內容中提取 Artifact。例如,內建規則會顯示螢幕截圖和計畫文件。詳情請參閱設定 Artifact 提取規則。
- Agent 設定的 Artifact:Agent 會使用
#artifacts工具明確設定 Artifact。每次更新都會取代先前的 Agent Artifact 清單。 - 子 Agent Artifact:當 Agent 將工作委派給子 Agent 時,每個子 Agent 可以設定自己的 Artifact,並顯示在以該子 Agent 名稱標示的獨立群組中。
設定 Artifact 提取規則
基於規則的提取使用三種設定,每種設定會將一個模式映射到群組設定。群組設定包含一個 groupName(顯示標籤)和一個選用的 onlyShowGroup 旗標(設為 true 時,只會顯示群組標題,而非個別項目)。
| 設定 | 說明 | 預設值 |
|---|---|---|
| chat.artifacts.rules.byMimeType | 根據 MIME 類型模式(例如 "image/*")比對工具結果。 |
{ "image/*": { "groupName": "螢幕截圖", "onlyShowGroup": true } } |
| chat.artifacts.rules.byFilePath | 根據 glob 模式(例如 "**/*plan*.md")比對工作區檔案。 |
{ "**/*plan*.md": { "groupName": "計畫書" } } |
| chat.artifacts.rules.byMemoryFilePath | 根據 glob 模式(例如 "**/*plan*.md")比對記憶體工具寫入的內容。 |
{ "**/*plan*.md": { "groupName": "計畫書" } } |
例如,若要新增一項規則,將 Agent 寫入的 HTML 檔案以 Artifact 形式顯示,請將以下內容加入您的設定中
"chat.artifacts.rules.byFilePath": {
"**/*.html": { "groupName": "Web Pages" }
}
若要完全停用基於規則的提取,請將所有三項規則設定設為 {}。
使用 Artifact
當有可用的 Artifact 時,Artifacts 面板會出現在對話旁邊。Artifact 會根據來源整理成群組。
- 選擇一個 Artifact 即可開啟對應的資源。例如,選擇圖片 Artifact 會顯示預覽,而選擇文件 Artifact 則會在編輯器中開啟檔案。
- 來自 Agent 的 Artifact 會在每次 Agent 更新時,取代先前的 Agent 清單。
- 每個子 Agent 的 Artifact 會顯示在獨立的群組中。您可以獨立清除特定子 Agent 的 Artifact。
- 基於規則的 Artifact 會隨著對話進行自動更新。如果您變更了規則設定,Artifacts 面板會反映出更新後的規則。
要求 Agent 建立 Artifact
您可以透過在提示詞中描述您的需求,要求 Agent 將內容儲存為 Artifact。例如
- 「為我的應用程式截圖並設定為 Artifact」
- 「撰寫一份專案計畫並設定為 Artifact」
- 「將這些連結儲存為 Artifact」
Agent 接著會使用 #artifacts 工具將資源加入 Artifacts 面板。您不需要直接參照該工具。只需描述您想要保留的內容,Agent 就會自行判斷何時將其顯示為 Artifact。
Agent 也可以使用 #artifactRules 工具覆寫目前工作階段的提取規則。這會在該工作階段期間取代任何基於設定的規則。