Web 預覽
檢視智慧體在其沙箱內執行的 Web 應用——Buda 會把它的 localhost 連結轉換成可訪問的預覽 URL。
當智慧體構建一個網站、演示、遊戲、儀表盤或任何前端時,你會想要看到它執行起來。Web 預覽正是做這件事:智慧體在它的雲電腦內啟動應用,Buda 把沙箱的 localhost 連結轉換成一個預覽 URL,你可以在本地瀏覽器中開啟它。

何時使用
每當智慧體執行某個監聽埠的服務時,就使用 Web 預覽。直接用自然語言提出請求即可:
Start the dev server and give me the preview link.Open the page in your Local Browser and check whether it works.基本流程
-
讓智慧體執行應用或啟動預覽。
-
等待它輸出一個 localhost 連結,例如:
http://localhost:3000 -
在 Buda 頁面中點選該連結,或開啟你的本地瀏覽器(不是 AI 瀏覽器)並在位址列中輸入該連結。
-
Buda 會把 localhost 連結轉換成一個外部預覽 URL——通常以
*.budaapps.com結尾。 -
等待該
*.budaapps.comURL 載入完成。
任意埠同理。在本地瀏覽器中輸入 http://localhost:4000,Buda 就會為埠 4000 請求一個預覽。
如果預覽載入不出來
如果頁面空白、卡住或報錯,讓智慧體檢查程序並返回一個新連結:
Please use /buda-web-preview to check the process and give me a working preview link.如果你的本地瀏覽器顯示了 WakeUp 按鈕,點選它——Buda 會向智慧體傳送一個重啟/檢查請求,並在服務恢復後重新整理預覽。
讓被預覽的應用請求 Agent 繼續
這一節寫給被預覽應用的開發者——App-in-Skill 應用,或任何本機 Web 應用。
在本機瀏覽器中開啟的頁面,可以請求目前的 Agent 接手一項工作,這樣使用者就不必切回聊天再把同一件事描述一遍。頁面只能請求:Buda 會用自己的確認列把請求顯示出來,在使用者點擊傳送給 Agent 之前,什麼都不會送到 Agent。
向父視窗發一則訊息即可:
window.parent.postMessage(
{
type: "buda:agent-action-request",
version: 1,
requestId: "my-app:generate:7",
prompt: "讀取 drama/episode-7.json,繼續製作這一集。",
},
"*",
);使用者會看到什麼
預覽頂部出現一條確認列,上面一行是 Buda 自己的文案——此應用程式要求 Agent 繼續執行工作——下面一行是 prompt 的原文,右側是傳送給 Agent 按鈕和關閉按鈕。點擊傳送給 Agent 後,這段 prompt 會以使用者本人的訊息提交進目前的聊天。
訊息必須滿足的條件
只要有一條不滿足,訊息就會被靜默忽略:介面上什麼都不會出現,也不會報錯。
| 條件 | 說明 |
|---|---|
| 傳送方 | 必須是直接載入在預覽裡的那個頁面。頁面內再嵌的 iframe 用 window.top.postMessage 會被拒絕。 |
| origin | 必須與預覽目前載入的 URL 的 origin 完全一致。 |
type / version | 必須正好是 buda:agent-action-request 與 1。 |
requestId | 1–128 個字元,取值範圍 a-z A-Z 0-9 _ . : -。一次性——使用者傳送或關閉之後,同一個 id 不會再出現。 |
prompt | trim 後非空,且不超過 4000 個字元。這段原文既是使用者讀到的內容,也是實際送出的內容。 |
| 一次一條 | 已經有一條在等待確認時,後來的請求會被忽略。等確認列消失後再發下一條。 |
| 導航 | 預覽切換到別的 URL 時,會清空待確認的請求和已用過的 id。 |
應用無法決定確認列上的措辭。多餘的欄位——包括早期草案裡發過的 label 欄位——都會被忽略,確認列永遠顯示 Buda 的提示語加上 prompt 原文。這是刻意的設計:預覽內容屬於不可信輸入,使用者必須先看到真實的指令,再決定是否批准。
問答
一個 *.budaapps.com URL 提示 Unauthorized,怎麼辦?
返回你的本地瀏覽器,重新輸入原始的 localhost URL(例如 http://localhost:3000)。Buda 會請求一個新的已簽名預覽 URL 並重新開啟它。
預覽顯示 Gateway Error。
應用程序可能沒有執行,或者它在另一個埠上。請讓智慧體:
Please use /buda-web-preview to check the process and give me a preview link.你也可以點選 WakeUp 來觸發同樣的恢復流程。關於這個由系統管理的技能的詳情,參見 buda-web-preview 技能。
我需要知道啟動命令嗎?
通常不需要。告訴智慧體你想要什麼——「啟動這個專案並展示給我 Web 預覽」——它會檢查專案、啟動合適的伺服器,並返回連結。