01 / DECIDE
架構決策
適合 ChatGPT-integrated tool 需要 form、map、table、preview 或其他互動呈現時。
MCP server 擁有 tool truth 與 authorization;embedded component 只 render state,並透過窄 bridge 請求 action。 先把 input、output、state 與 side effect 畫成一條可觀察路徑,再決定 替 MCP tool 加 UI,但不要把信任移進 browser 要放在哪一層。
02 / BUILD
三步實作
- 01
框定合約
先寫下 caller、資料分類、成功條件、timeout、取消與 ownership。適合 ChatGPT-integrated tool 需要 form、map、table、preview 或其他互動呈現時。
- 02
建立單一路徑
只實作一條 end-to-end path,保留 request correlation、typed state 與可逆 failure handling。MCP server 擁有 tool truth 與 authorization;embedded component 只 render state,並透過窄 bridge 請求 action。
- 03
證明結果
把驗收寫成可重跑的 fixture、contract test 或 browser test。Integration test 驗證 tool descriptor、component resource、bridge message、auth denial、loading、error 與 retry state。
03 / BOUND
Production 邊界
Component message 視為 untrusted input,執行 CSP/origin rule,並把高影響 authorization 留在 server。
04 / PROVE
驗收證據
Integration test 驗證 tool descriptor、component resource、bridge message、auth denial、loading、error 與 retry state。
SOURCE / HTTP
可重現來源探針
curl -fsSI 'https://developers.openai.com/plugins/build/chatgpt-ui' | sed -n '1,5p'