技能包

用 Streamdown 替換 react-markdown 渲染 AI 串流文字

用官方包裝 AI 串流 Markdown,但必須先改 Tailwind 的 globals.css,否則背景和間距可能缺失。

官方來源 · vercel/streamdown

安裝

npm i streamdown

適合誰

這份技能適合已經在 React 裡用 Markdown 渲染、並準備把它換成面向 AI 串流輸出的人。官方把 Streamdown 寫成 react-markdown 的即插即用替換,專門為 AI 驅動的串流場景設計。它也適合專案已經使用 Tailwind、能改 globals.css 的人。

它不適合還沒有 React 應用、或不肯改樣式入口的人。原文要求更新 Tailwind 的 globals.css,好讓 Tailwind 檢測 Streamdown 用到的工具類。若這些變數沒定義,元件可能缺少背景、邊框,或間距不正確。

官方倉庫見

https://github.com/vercel/streamdown

請按該頁已寫出的命令操作。用法示例被寫成與 AI SDK 一起在 React 應用中使用,但可見原文沒有給出完整元件屬性表。

3 分鐘完成第一次嘗試

只走官方寫出的這一條裝包路徑。

前置條件:目前目錄是一個允許寫入依賴的 React 專案,本機可以執行 npm。先確認:npm i streamdown 會改依賴清單。若還不想改這個專案,不要執行。這一步先不要改生產樣式,也不要部署。

安裝位置:在專案根目錄確認上述副作用後執行:

npm i streamdown

低風險核對:裝包完成後,先讓代理唯讀指出需要改的 Tailwind globals.css,說明必須讓 Tailwind 檢測 Streamdown 的工具類。不要讓它擅自寫入 CSS,也不要編造未出現的 @source 路徑或變數名。若要用 AI SDK 渲染串流文字,先只標出準備替換 react-markdown 的那個元件,確認後再改。

成功訊號:依賴裡出現 streamdown,並且你清楚下一步必須改 globals.css。若代理跳過樣式、直接說可以上線,停住。

使用案例

案例一:把現有 react-markdown 換成 Streamdown,用來渲染 AI 串流 Markdown。官方安裝命令是 npm i streamdown。適合已經有 React 渲染位、想先裝包再對照替換點的人。裝包會寫磁碟,執行前先確認。原文只寫到「可與 AI SDK 一起使用」,沒有列出串流介面欄位,不要自行補 props。

案例二:補齊 Tailwind 檢測與樣式變數。原文要求更新 globals.css,否則工具類可能檢測不到;變數未定義時,可能出現缺失背景、邊框或錯誤間距。適合已經裝好套件、準備改樣式入口的人。改 CSS 前先備份或先給出補丁預覽;原文在這段裡沒有貼出完整變數列表,不要編造變數名。

使用界線

官方安裝命令只有一條被原文寫出:npm i streamdown。不要把未出現的安裝程式寫進主路徑。它被定位成 react-markdown 的替換,面向 AI 串流,沒有證明可用於非 React 或非 Tailwind 專案。

樣式是硬前提:必須更新 Tailwind globals.css,並定義那些變數,否則觀感會缺。AI SDK 用法只寫到「可以這樣用」,沒有給出完整示例程式碼時,不要假裝有官方元件片段。

官方頁面是

https://github.com/vercel/streamdown

若代理建議的裝包命令或樣式檔名與該頁不一致,以該頁為準。