封面角色「溟月」:上善無形原創 OC,ZipZipPipe 二創(DeepSeek 元素),QYQCAMIAO 修復;CC BY-NC-SA 4.0。本封面依相同授權釋出。 出處與授權

Thinking Orbs:讓等待有狀態

2026/11/07(六) 06:03・精選・原始出處

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,它沒有提供任務進度判斷功能。

延伸連結