Jakubantalik/thinking-orbs
GitHub: Jakubantalik/thinking-orbs
一款为 AI 与 Agent UI 设计的点状思考球加载指示器组件,通过六种动画状态直观表达 Agent 的不同执行阶段。
Stars: 714 | Forks: 46
# thinking-orbs
适用于 AI 与 Agent UI 的点状思考球加载指示器。提供六种精心调校的动画状态,每种均包含两种针对特定用途优化的尺寸,并在纯 2D canvas 上渲染 —— 无需 WebGL,无需滤镜,在 Chrome、Safari 和 Firefox 中表现完全一致。
[在线演示](https://orbs.jakubantalik.com) · [代码仓库](https://github.com/Jakubantalik/thinking-orbs) · [报告问题](https://github.com/Jakubantalik/thinking-orbs/issues)
## 安装
```
npm install thinking-orbs
```
## 快速开始
```
import { ThinkingOrb } from 'thinking-orbs';
function Status() {
return ;
}
```
## 状态
代表 Agent 正在执行的六种动作,每种均具有独特的动画:
```
{/* particles on tilted orbits */}
{/* a scan meridian sweeps a dotted globe */}
{/* bands scramble, then click back solved */}
{/* a waveform rolls through the rings */}
{/* an undulating multi-band sash */}
{/* dotted outline: circle → triangle → square */}
```
## 尺寸
两种调校好的预设 —— 它们是独立的设计,而非简单的缩放。`64` 适用于聊天头像尺寸,`20` 适用于行内文本尺寸。每种尺寸都有各自的点数、点大小和速度调校:
```
```
## 主题
严格的单色调 —— 深色背景使用浅色墨水,浅色背景使用深色墨水 —— 并根据宿主项目自动选择模式:
```
{/* default — detects from the project */}
{/* pin: light dots for dark backgrounds */}
{/* pin: dark dots for light backgrounds */}
```
`auto` 通过三层机制解析,并在其中任意一层发生变化时实时更新:
1. 祖先元素的 `data-theme="dark|light"` 属性或 `dark`/`light` 类(Tailwind / shadcn 的约定),通过 `MutationObserver` 监听;
2. 否则使用 `prefers-color-scheme`,订阅实时的操作系统主题切换;
3. SSR 安全 —— canvas 仅在客户端、且在主题解析完成后才进行绘制。
## 其他 props
```
```
所有其他的 `
标签:自动化攻击