
Thinking Orbs:讓等待有狀態
Thinking Orbs 想解決的問題很直白:產品正在搜尋、聆聽或生成內容,畫面卻永遠只顯示同一個轉圈圈。帖子截圖把點狀球體搭配 Thinking、Searching、Agent listening、Solving 等標籤,示範不同工作狀態的呈現方式。對照官方 repo,這是以 Canvas 2D 繪製的 React 元件,提供九種動畫、採 MIT 授權,不需要 WebGL。它能把應用程式指定的狀態畫出來,但不會讓模型運算變快。
現實應用
做 AI 聊天介面、語音助理、文件搜尋工具的團隊都用得上。例如檢索資料時切到 searching,接收語音時用 listening,準備回覆時用 composing。對前端工程師與產品設計師來說,價值是少做一套動畫,也能讓等待畫面對應實際流程。我會搭配明確的文字說明,因為使用者未必看得懂每種粒子運動代表什麼。
期望評估
低標期望,我認為至少能省下製作載入動畫的工時,讓介面有一致的等待提示。至於能否降低焦慮、減少使用者離開,仍要實測。
高標期望,我猜如果串接後端事件,讓搜尋、連線、撰寫等階段真的跟著任務切換,就能成為好用的進度溝通元件。前提是狀態要準確;若只是輪播動畫,資訊價值就有限。
商業策略分析
我認為最直接受惠的是小型 AI 產品團隊與接案開發者:這類細節自己做容易花時間,採用現成元件能把力氣留給核心流程。但動畫容易被採用,也容易被替換,單靠球體效果很難形成產品優勢。
作者目前將它放進 Libraries.dev 元件集合,並以進階調整工具 Studio、預設組合等提供付費方案,這是官方說明列出的模式。我猜免費元件帶動客製化工具付費,比單賣載入動畫更有機會。值得跟進,但應優先處理真實進度與錯誤回饋。
實作細節
官方文件列出的需求是 React 18 以上。先執行 npm install thinking-orbs,再匯入 import { ThinkingOrb } from 'thinking-orbs',即可使用 <ThinkingOrb state="searching" size={64} />。
尺寸提供 64 與 20 兩種分別調校的設定。依 repo 說明,元件支援明暗主題、速度與暫停控制;使用者偏好減少動態效果時會顯示靜態畫面,離開可視範圍或分頁隱藏時也會暫停。導入時仍要自行將產品事件接到 state,它沒有提供任務進度判斷功能。