TG 端要看 HTML 預覽 → 自動 publish Cloudflare → 回傳連結

T-2065 T-2066 publish tool 觸發:有 preview artifact 才發 explainer / 非產品碼

核心問題:TG 開不了本機 HTML

桌面端可直接開 .pm/research/*.html 或在 PM Panel 預覽 —— 但 Telegram 端收到的是 chat 訊息,沒有本機檔案系統,點不開任何本機路徑。
sendDocument.html 當附件送 → TG 不會 render,只是一個下載檔。sendPhoto 只能給靜態截圖,失去互動性。
要讓 TG 用戶看可互動的真 HTML,唯一途徑是把它 publish 到一個公開 URL,再把連結丟進聊天室讓用戶點開。

自動投遞 Pipeline

1
TG 端請求一個預覽產物用戶要的是某個設計、檔案、說明頁或報告的預覽。普通 task 建立不會自動發預覽;只有工作產生了標記為要給 TG 看的 HTML artifact 才進入 pipeline。
2
取得使用者要看的 HTML artifact例如 .pm/research/T-XXXX-design-preview.html、檔案預覽、說明頁或報告 render。這份 artifact 才是要 publish 的內容,不是 T-XXXX.md task 本身。
3
uniflow-deploy publish → Cloudflare呼叫 T-2066 已完成的 publish tool:同一 HTML artifact 對應同一 Cloudflare Pages project,重發更新既有 canonical 連結;權限由 host gate 依 yolo / Auto / interactive 狀態裁決。
4
sendMessage → 回傳連結publishHtmlToTg() 把 URL(附標題/說明)經 TelegramBridge 送回發起的 TG 用戶。此入口做成通用可重用,日後 report / explainer 等任何「要給 TG 看的 HTML」都走這條。
TG 用戶點開看真 HTML手機瀏覽器開啟公開 URL → 看到可捲動、可互動的完整預覽。零本機路徑依賴。

設計取捨(已定)

為何不壓成圖/PDF(方案 5):用戶要保留真 HTML 的互動性(可點、可展開、可捲動),靜態截圖做不到 → 拍板走 Cloudflare publish。
曝露面緩解:沿用 T-2066 的 host-mediated publish gate;yolo/Auto 預先授權時直接發布,interactive yolo off 時彈 allow/deny 卡。不要新增第二套 Cloudflare deploy path。

TG 端收到長這樣

Uniflow Bot
bot · Init Project File
幫我開一張測試 task
14:02 ✓✓
✅ 設計預覽已生成:
14:02
(點開 → 瀏覽器看完整可互動 HTML)
14:03 ✓✓
連結由 Cloudflare 提供公開 URL;TG 原生預覽卡 + 一鍵在瀏覽器開啟,手機端零摩擦。

驗收分區

A 區(自驗閘)
preview artifact contract 存在 · 普通 task markdown 不觸發 · 既有 publish→fetch URL 回 200 且內容一致 · 同 artifact 重送連結穩定 · 無憑證/deny 不 crash

B 區(需活 bot / 人工)
只有產生設計/檔案/說明 HTML 預覽時 bot 才送連結 · 手機點開看到真 HTML
T-2065 explainer · 本頁本身即「一份要投遞給 TG 的 HTML」的活範例 · plan deliverable(非產品碼)· 2026-07-04