cwd:// 下載動作
當訊息中 ATTACHMENT 的 defaultAction / downloadAction 使用 cwd://<相對路徑>
形式的 URI 時,SDK 會攔截 cwd://,改打 <botProviderEndpoint>/cwd/download
取回檔案並觸發瀏覽器下載,而不是用 window.open(window.open 無法開啟 cwd://)。
常見於 sandbox / code-server 類 bot:Agent 在工作目錄產生檔案後,用 cwd:// 連結讓使用者下載。
cwd:// 下載動作
當 ATTACHMENT 的 defaultAction / downloadAction 使用 cwd://<相對路徑> 的 URI 時,SDK 不會用 window.open,而是改打 <botProviderEndpoint>/cwd/download 取回檔案並觸發瀏覽器下載。
- 附件會顯示下載圖示 —— 證明 cwd:// 的 downloadAction(type: 'uri')就足以顯示下載按鈕,不再需要 EMIT download_file。
- 點卡片或下載圖示時,SDK 會送出 GET <base>/cwd/download?custom_channel_id=...&relative_path=...(而非 window.open)。
本範例為預覽模式(botProviderEndpoint: "skip"),用來展示附件的下載 UI;實際要下載到檔案,需要一個會回傳 cwd:// 動作且支援 /cwd/download 的 Bot Provider(例如 sandbox / code-server bot)。
聊天機器人載入中…
重點
cwd://的downloadAction(type: "uri")就足以讓附件顯示下載圖示,不再需要 EMITdownload_file。- 點卡片或下載圖示時,SDK 會送出
GET <base>/cwd/download?custom_channel_id=...&relative_path=...。
程式範例(附件 template)
template: {
type: MessageTemplateType.ATTACHMENT,
attachments: [
{
title: "業務員業績排行.json",
defaultAction: { type: "uri", uri: "cwd://業務員業績排行.json" },
downloadAction: { type: "uri", uri: "cwd://業務員業績排行.json" },
},
],
quickReplies: [],
}
上方範例為預覽模式(
botProviderEndpoint: "skip"),用來展示附件的下載 UI;實際要下載檔案,需要一個會回傳cwd://動作且支援/cwd/download的 Bot Provider。