Skip to content
所有標籤

#ui

5 篇文章

AI SDK 的 message parts:對話介面的資料骨架

AI SDK v5 把一則 AI 訊息拆成 parts 陣列——text、reasoning、source-url、tool-* 各自是獨立片段。這個資料結構決定了現代 AI 對話介面怎麼寫:render 時 switch part.type,每種片段交給對應元件。這篇拆解 parts 模型的設計邏輯、useChat 的串流機制,以及它如何成為 AI Elements 這類元件庫的地基。

AI Elements:Vercel 把 ChatGPT 式介面拆成可複製的 shadcn 積木

AI Elements 是 Vercel 為 AI SDK 生態出的 React 元件庫,registry 現有 48 個元件,涵蓋 Conversation、Reasoning、Sources、Tool 等 AI 介面積木。走 shadcn 模式:npx ai-elements@latest 把原始碼直接複製進專案,完全可改,跟 useChat 的 message parts 一一對應。

design deep-dive

Design System 配色系統導讀:從 Tailwind 到 Material 3,網站配色不用自己發明

整理 7 個主流 design system(Tailwind、Radix、Material 3、Carbon、Ant Design、Primer、Apple HIG)的配色架構:色階怎麼切、neutral 怎麼選、dark mode 三種流派,以及為什麼新專案該用 OKLCH 而不是 HSL。

tech guide

shadcn/ui:不是套件,是複製貼上的元件原始碼

shadcn/ui 不是 npm 套件,它把元件原始碼複製到你的專案,你完全擁有這些程式碼。島島用它建立 packages/ui 元件庫,讓三個 Next.js app 共用同一套 UI。

tech guide

Tamagui:React Native 的 UI framework,為什麼 NobodyClimb 選它而不是 NativeWind

Tamagui 是針對 React Native 設計的 UI framework,有完整的 design token 系統和 theme 支援,編譯時期優化讓樣式計算移到 build time。NobodyClimb 選它而不是 NativeWind,主要是因為跨平台的 token 系統更完整。