跳至主要内容

REFERENCE

SDK 範例

@asgard-js/core 與 @asgard-js/react 的用法與可以直接操作的範例。

cwd:// 下載動作

當訊息中 ATTACHMENT 的 defaultAction / downloadAction 使用 cwd://<相對路徑> 形式的 URI 時,SDK 會攔截 cwd://,改打 <botProviderEndpoint>/cwd/download 取回檔案並觸發瀏覽器下載,而不是用 window.open(window.open 無法開啟 cwd://)。

常見於 sandbox / code-server 類 bot:Agent 在工作目錄產生檔案後,用 cwd:// 連結讓使用者下載。

  1. 重點​

    • cwd:// 的 downloadAction(type: "uri")就足以讓附件顯示下載圖示,不再需要 EMIT download_file。
    • 點卡片或下載圖示時,SDK 會送出 GET <base>/cwd/download?custom_channel_id=...&relative_path=...。
  2. 程式範例(附件 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。

準備好開始了嗎?

想知道 Asgard 怎麼用在你的團隊?跟我們聊聊。

聯絡我們