從商品知識到可靠的頁面操作:認識 SKU.md WebMCP Readiness 工作台
BLOG / introducing-sku-md-webmcp-readiness.mdx
給商家的 SKU.md WebMCP Readiness 指南:分清楚靜態發現、執行證據、使用者看得見的頁面操作,以及即時商業事實的最終權威。
發布於
原始規範版本: v0.10
一位顧客請 Agent 找一個符合航空公司尺寸限制的登機箱,比較兩種箱體材料,並在商家的商品頁面上顯示正確顏色。這是同一個購物任務,卻跨越兩個階段。Agent 造訪前,需要可靠的商品知識:識別碼、尺寸、材質宣告、可選設定以及支援這些結論的證據。頁面開啟後,它需要在使用者看得見的介面中可靠行動:選擇顏色、展示匹配設定,或者導航到頁面的相關區域。
這兩個階段不應被壓縮成一個承諾。SKU.md 讓 Agent 在造訪前準確理解商品;WebMCP 讓 Agent 到達商家頁面後,在使用者看得見的介面中可靠行動;即時系統負責最終商業事實,包括目前價格、庫存、配送、稅費、付款與訂單狀態。SKU.md WebMCP Readiness 工作台幫助商家驗證這次交接,同時避免把靜態線索包裝成執行證據。
三層職責,三種權威
工作台從一條簡單的產品規則出發:每一層只回答自己真正能夠證明的問題。這樣既保留長期商品知識的價值,也不會讓它覆蓋正在執行的頁面,或推翻最終結算交易的系統。
| 層級 | 它負責的權威事實 | 它不能聲稱的內容 |
|---|---|---|
| SKU.md 商品知識 | 商家複核的事實、識別碼、宣告、披露、相容性、來源材料、適用範圍與造訪前的複核時間。 | 頁面工具現在已經註冊,或持續變化的商業數值仍然有效。 |
| WebMCP 與可見介面 | 目前瀏覽器上下文中由頁面註冊的工具,以及使用者可以觀察到的有限頁面回應。 | 頁面沒有即時核驗的價格、庫存、權限或交易狀態。 |
| 即時 Catalog、後台與 Checkout | 目前價格、庫存、配送資格、稅費輸入、付款授權、訂單狀態和最終確認。 | 靜態文件或更早的頁面觀察在此刻仍然有效。 |
這也是把產品敘事落實到操作的一步:SKU.md 在造訪前提供證據,WebMCP 在到達後把意圖連線到可見頁面操作,即時商業系統決定最終商業事實。三者互相補充,不能互相替代。
Bridge 線索不等於可用工具
頁面原始碼可能包含宣告式標記、WebMCP API 呼叫或 Cloudflare Bridge 路徑。這些都是有價值的發現線索,但最多隻能證明頁面中存在相關痕跡。它們不能證明目前瀏覽器識別了介面、工具已經在目前頁面狀態註冊、輸入 Schema 有效,或者一次呼叫能夠成功。
這個區分很重要,因為執行狀態會變化。工具可能只在元件掛載後出現,也可能在選項失效時撤銷,或者依賴另一個環境尚未開放的瀏覽器實驗。Bridge 指令碼在不支援的瀏覽器中也可能主動退出。工具描述還可能誤導,外部內容或商家文案也可能包含類似提示注入的指令。因此,Readiness 把發現、解析、註冊、呼叫、可見回應、安全複核和執行環境驗證分開記錄,而不是合併成一個綠色徽章。
靜態預檢不會執行目標頁面的 JavaScript,也不會呼叫目標 MCP 端點。它最強、也最誠實的結論只是「發現線索」。執行證據必須來自真實瀏覽器上下文中的目標頁面。
商家的五步流程
工作台把測試縮小到商家可以理解、複核並重複的範圍。
- 輸入一個精確頁面。 選擇公開 HTTPS 的 product、cart、checkout 或 order URL。也可以讓預檢比較同源根商品文件,但頁面和文件始終是兩個不同資源。
- 執行靜態預檢。 SKU.md 檢查回應約束、查詢 WebMCP 相關原始碼線索、記錄明確的安全阻斷項,並比較可選商品文件覆蓋的頁面範圍。它不會執行頁面。
- 在本機發現工具。 開啟同一個目標頁面,審閱生成的發現指令碼,然後在該頁面的瀏覽器上下文中執行。回執記錄具名介面、瀏覽器上下文、URL、時間和經過清理的工具清單。僅有發現仍不能證明可執行。
- 呼叫一個唯讀工具。 只有明確標註
readOnlyHint: true的工具可以進入測試。確認頁面是public、unauthenticated且沒有列出的安全阻斷後,只提供完成測試所需的最小輸入。原始參數與輸出只在該頁面短暫存在。 - 確認並匯出。 如果工具預期改變頁面,記錄可見頁面狀態是否同步,再匯入經過清理的回執。下載本機 JSON 或 Markdown 報告;只有全部門檻都通過時,才生成供人工複核的 WebMCP 能力候選。
這套流程有意只允許一次呼叫,而不是提供通用自動化執行器。目標是為一個具體頁面與執行環境建立可辯護的證據鏈,而不是代替商家營運網站或執行交易流程。
分開閱讀六級證據
報告保留六個層級,因為每一級回答不同問題:
- 發現頁面線索: 靜態 HTML 是否包含相關的 WebMCP 或 Bridge 痕跡?
- 工具已經註冊: 具名、可識別的瀏覽器介面是否返回至少一個具有有效 Schema 的工具?
- 唯讀呼叫成功: 選中工具是否帶有隻讀標記,並完成一次最小呼叫?
- 可見介面已同步: 當工具應改變頁面時,商家是否確認 URL、篩選、選項或可見狀態發生相應變化?
- 安全檢查完成: 商家是否確認公開未登入上下文,並複核來源、不可信內容和提示注入風險?
- 指定執行環境已驗證: 回執是否標明測試介面、瀏覽器、精確頁面、安全上下文和檢查時間?
每一級使用四種證據狀態之一:
passed表示已經收集該級所需證據,且證據滿足規則。failed表示檢查得到明確的違規或失敗結果。incomplete表示證據缺失、過期、不受支援或不足;它不自動等於產品故障。not_applicable只在該級確實不適用時使用,例如純查詢工具本來就不應改變頁面,因此無需驗證介面同步。
總體結果只使用 passed、failed 或 incomplete。只有 Bridge 線索的靜態頁面通常應保持 incomplete,直到補齊執行證據。這種保守不是缺點:報告應該描述已經證明的事實,而不是獎勵樂觀推斷。
商家能從報告中得到什麼
報告首頁回答的是可執行問題,而不是給出籠統分數:
- 指定執行環境在這個精確頁面發現了多少工具?
- 哪些工具擁有合法輸入 Schema 與明確唯讀標記?
- 目前哪一個問題阻斷 Agent 安全使用,商家可以如何修復?
- 頁面是否真正回應了選中的一次呼叫,預期的可見狀態是否同步?
- 可選 SKU.md 宣告是否覆蓋這個精確頁面,同時沒有冒充即時權威?
- 證據是否已經跨過生成 beta 能力候選所需的每一道門檻?
報告還記錄檢查時間,並標明目標、範圍、適用介面和瀏覽器上下文。超過 24 小時的回執,或者 URL、範圍已不匹配的回執,都不能生成候選。這樣,一次成功測試會繼續綁定到產生它的環境,而不會變成永久承諾。
機器可讀結構記錄在中立的 SKU.md WebMCP Readiness v1 Schema 中。它是 SKU.md 工具報告契約,不屬於 SKU.md v0.10 商品文件 Schema,也不是 WebMCP 標準。
本機隱私與刻意收窄的安全邊界
精確頁面 URL 和可選的同源商品文件 URL 會提交給 SKU.md 的同源預檢介面,以便服務執行受限的公開讀取。這個請求不是瀏覽器登入,不會攜帶商家頁面的 Cookie。靜態預檢不會執行目標 JavaScript,也不會呼叫目標工具。
執行發現和選中工具呼叫發生在商家的瀏覽器與目標頁面中。原始工具參數、原始輸出、Cookie、Token 與完整使用者對話不會發送給 SKU.md,也不會進入匯出檔案。報告只保留經過清理的後設資料,例如工具名、結果狀態、摘要雜湊、位元組數、耗時以及呼叫前後的頁面狀態。
首版僅測試公開、未登入頁面與一個明確唯讀的工具。它不測試會員價、個人資料、已登入訂單、付款、退貨、結帳完成,也不執行任何改變商業狀態的操作。工具描述、輸入 Schema、輸出摘要、商家文案和第三方內容都按不可信文本處理;宣告某項能力不等於獲得執行權限。
beta 候選是複核材料,不是權威
當預檢、可識別執行介面、工具註冊、有效 Schema、商家的公開會話確認、一次唯讀呼叫與全部安全檢查都在有效時間內通過時,工作台可以生成一個 beta 能力候選。候選只使用一個精確頁面模式,並明確要求瀏覽器頁面執行環境與使用者在場。
這份檔案有意保持克制。它不會複製動態工具清單、建立萬用字元、授予權限、自動發布、把 Basic 文件升級為 Commerce,或者授權交易。它只是供商家人工複核和合並的材料。若現有 Commerce 宣告存在衝突,報告展示差異;若原始檔是 Basic,報告列出 Commerce 仍缺少的其他要求。
Readiness 是任何 Bridge 決策前應完成的證據流程,靜態線索不能把它變成生產 Bridge。生產 pack、寫操作、Checkout、Order 與後端 MCP 連線都需要獨立設計和安全評審。
從一個真實商品頁面開始
選擇一個穩定、公開且直接返回 HTML 的商品頁面,先執行靜態檢查;如果結果只有線索,就不要繼續把它描述為通過。只在你控制的同一個精確頁面中執行本機執行發現,再測試一個含義清楚的唯讀工具。誠實的 incomplete 報告,比用假設拼成的 passed 徽章更有價值。
開啟本地化 WebMCP Readiness 工作台檢查頁面。若要理解商品知識與瀏覽器頁面操作之間更完整的分工,請繼續閱讀 SKU.md v0.10 × WebMCP:造訪前理解商品,開啟頁面後可靠行動。
延伸閱讀
透過AI 商業權威交接把頁面操作放回完整的執行流程。