Thinking Orbs

Thinking Orbs

Yogesh (yogesharc) · コーディング

Thinking Orbs は、AI エージェントの動作をアニメーションするオーブで示すオープンソースの React コンポーネント集だ。

Thinking Orbs の画面プレビュー

Thinking Orbs について

About

Thinking Orbs とは

Thinking Orbs は、AI エージェントの画面に動くオーブを描く React コンポーネント集である。オーブは点の集まりでできていて、状態を変えると点の動き方が変わる。エージェントが考えている間は光の粒が表面をさまよい、ウェブを検索するときはレンズが点から点へ跳ねる。エラー後に再試行すると、オーブは回転してから巻き戻る。

このライブラリが生まれた理由は単純だ。エージェントの画面は「処理中」という曖昧な状態に長くとどまる。スピナーはモデルが何をしているかを伝えず、利用者は遅い応答と止まったリクエストを区別できない。このアニメーションするオーブは、その空白時間を読める信号に変える。大きさは 1 行のテキストの隣に収まる程度だ。

作者の Yogesh は MIT ライセンスで公開している。React 版が必要とするのは React だけで、素の JavaScript 版は依存がまったくない。SwiftUI パッケージは iOS 17 と macOS 14 に対応する。既定以外の形状と描画方式は別モジュールなので、取り込んだ分だけがバンドルに入る。

導入前に境界も知っておきたい。このコンポーネントは動くだけで、エージェントを追跡はしない。どの状態をいつ出すかは、自分のリクエスト処理に合わせて決める。形状と描画方式は現時点でウェブ専用で、SwiftUI 版が受け取れるオプションは少ない。

はじめかた

  1. npm、pnpm、yarn、bun のいずれかで導入する。npm i @yogesharc/thinking-orbs。
  2. Orb をインポートし、reasoning や searching などの状態を渡す。
  3. size、speed、density、tilt を調整して本文の文字サイズに合わせ、label にスクリーンリーダー向けの名前を入れる。
  4. 見た目を変えたいときは、任意モジュールから形状か描画方式をインポートする。
  5. あるいは shadcn のコマンドで components/ にソースを複製し、自分のファイルとして編集する。

AIツール情報

Thinking Orbsの料金、対応プラットフォーム、性能を簡単に確認できます。

無料プランはい
有料プラン$0 (MIT license)
プラットフォームWeb (React, vanilla JS), iOS 17+, macOS 14+
開発元Yogesh (yogesharc)
カテゴリコーディング
リリース日Sep 2026
最終更新Oct 2026
サイト訪問数N/A
サイト世界ランキングN/A
API提供状況いいえ

こんな人におすすめ

このツールが最も力を発揮するユーザー、タスク、シーン。

ユーザー

  • AI チャットやエージェント製品を作る React 開発者
  • デザイナーがいない小さなフロントエンドチーム
  • 個人で副業プロジェクトを進める作り手

タスク

  • ストリーミングするチャットで思考とウェブ検索を区別する
  • 索引作成や開発サーバー風の処理など、長いバックグラウンド作業を見せる
  • 再試行や利用上限を伝える
  • ツール呼び出しの戻りを待つ間、空のパネルを埋める

シーン

  • トークンをストリーミングで受け取るチャットアプリで、回答見出しの隣に状態が欲しいとき。
  • ツール呼び出しが連続するコーディングエージェントやエディタ拡張で、呼び出しごとに信号が要るとき。
  • iPhone や Mac の SwiftUI アプリで、ウェブ版と同じ視覚言語を使いたいとき。

主な機能

エージェントの動作ごとに用意されたステータス表示

9 つの状態がエージェント UI のループを覆う。実行中の作業、思考、検索が前に並び、その後にバックグラウンド処理、ブラウザ操作、再試行、コンテキスト圧縮、利用上限の待機、アイドルが続く。多くには名前付きのバリアントがあり、gyro は作業中のオーブを揺らし、lighthouse は検索の光を掃く。

CSS を書かずに見た目を整えるプロップ

size、speed、density、dotSize、tilt はすべて数値のプロップだ。14 px の注釈にも 48 px のブロックにも、スタイルを書かずに合わせられる。paused は現在のフレームで動きを止め、className を使えば既存のユーティリティクラスの文字色をそのまま継承する。描画は currentColor なので、ダークモードでも追加設定はいらない。

任意で足せる形状と描画方式

コアに入っているのは形状 1 種と描画方式 1 種だけだ。残り 4 種の形状(cube、octahedron、tetrahedron、torus)と 7 種の描画方式(dashes、squares、crosses、mesh、halftone、lines、verticalLines)は別のエントリーポイントにある。tree shaking で使わない分は落ち、独自の形状は単位球内の座標を返す関数として書ける。

4 通りの導入経路

npm から入れる、shadcn の URL でソースを複製する、mountOrb で素の JavaScript に載せる、Xcode で Swift パッケージを追加する。vanilla 版は pause、play、destroy を返すので、自前でライフサイクルを管理するページに向く。SwiftUI 版は前景スタイルで描くため、foregroundStyle(.blue) を付ければ色が変わる。

軽い構成と既定のアクセシビリティ

React 版は React 以外に依存がなく、vanilla 版はまったくない。既定の 20 px は形状が想定したサイズなので、密度の高い画面でも点が読める。label プロップはスクリーンリーダー向けの名前を付け、OS が視差効果の低減を伝えているときはアニメーションが止まる。

MIT ライセンスのオープンソース

ソースはすべて GitHub にあり、MIT ライセンスが商用利用、改変、再配布を認める。支払いは Patreon による任意の支援で、機能の解放とは関係ない。コンポーネントを fork して自前で持ちたいチームでも、費用は読みやすい。

メリットとデメリット

メリット

  • 9 つの状態とバリアントで、エージェント画面が伝えるべき動作のほとんどを覆える。
  • 依存の連鎖がなく、React プロジェクトに入れても重さはほとんど増えない。
  • 既定の 20 px ならツールバー、メッセージ見出し、サイドパネルでもはっきり読める。
  • 視差効果の低減対応とスクリーンリーダー用ラベルがコンポーネントに組み込まれている。

デメリット

  • 描画だけを担うため、エージェントのイベントをどの状態に割り当てるかは自分で書く必要がある。
  • 形状と描画方式はウェブ専用で、SwiftUI 版は選べる幅が狭い。
  • ドキュメントが 1 ページに収まっているので、状態を切り替える間隔は試しながら決めることになる。

よくある質問

使える。MIT ライセンスのオープンソースで、すべての状態、形状、描画方式が追加費用なしで含まれる。有料プランもアカウント登録もない。