agent-robot-avatar 0.3.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/README.ja.md CHANGED
@@ -1,225 +1,186 @@
1
- # Agent Robot Avatar
2
-
3
- <p align="center">
4
- <img src="../assets/readme/agent-robot-avatar-header.jpg" alt="Agent Robot Avatar">
5
- </p>
6
-
7
- [English](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/README.md) | [简体中文](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.zh-CN.md) | [繁體中文](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.zh-TW.md) | [日本語](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.ja.md) | [한국어](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.ko.md) | [Español](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.es.md) | [Português](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.pt.md) | [Deutsch](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.de.md) | [Français](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.fr.md)
8
-
9
- ![Version](https://img.shields.io/badge/version-v0.3.1-111111?style=flat-square) [![License](https://img.shields.io/badge/license-MIT-0A7EA4?style=flat-square)](../LICENSE) [![CI](https://github.com/CX-ArtLab/agent-robot-avatar/actions/workflows/validate.yml/badge.svg?branch=main)](https://github.com/CX-ArtLab/agent-robot-avatar/actions/workflows/validate.yml) [![Ko-fi](https://img.shields.io/badge/Ko--fi-Support-FF5E5B?style=flat-square&logo=ko-fi&logoColor=white)](https://ko-fi.com/P0E625WIOI)
10
-
11
- ![Vanilla JavaScript](https://img.shields.io/badge/Vanilla-JavaScript-F7DF1E?style=flat-square&logo=javascript&logoColor=000) ![Web Component](https://img.shields.io/badge/Web-Native%20Component-5A67D8?style=flat-square) ![SVG](https://img.shields.io/badge/Rendering-SVG-FFB13B?style=flat-square&logo=svg&logoColor=000) ![Zero Dependencies](https://img.shields.io/badge/Dependencies-0-2EA44F?style=flat-square) ![14 Agent States](https://img.shields.io/badge/Agent%20states-14-8B5CF6?style=flat-square) ![Pointer Following](https://img.shields.io/badge/Pointer-following-00A67E?style=flat-square) ![Jelly Drag](https://img.shields.io/badge/Drag-jelly%20physics-FF69B4?style=flat-square)
12
-
13
- AI エージェントやその他のインタラクティブなアプリケーションで使える、軽量で表情豊かなロボットアバター Web Component です。
14
-
15
- AI アシスタントや Agent のインターフェースに適しており、ChatGPT、Claude、Codex、Cursor、Grok Bot、Gemini CLI、OpenCode に似た製品や体験で利用できます。
16
-
17
- デスクトップペット、バーチャルペット、デスクトップコンパニオン、デジタルマスコット、チャットボットのアバターなど、さまざまなインタラクティブキャラクター体験にも利用できます。
18
-
19
- Agent Robot Avatar は、AG-UI スタイルの Agent インターフェースにおける視覚的なフィードバックレイヤーとしても利用できます。
20
-
21
- Agent Robot Avatar は SVG と Vanilla JavaScript だけで構築され、サードパーティー製アニメーションフレームワークに依存しません。ネイティブ Custom Element として動作し、表情、状態、ポインター追従、待機フィードバック、頭部形状をシンプルな API で制御できます。
22
-
23
- **現在の公開バージョン:v0.3.1**
24
-
25
- <p align="center">
26
- <img src="../assets/demo/agent-robot-avatar-demo.gif" alt="Agent Robot Avatar インタラクティブアニメーションデモ" width="560">
27
- </p>
28
-
29
- ## ライブデモ
30
-
31
- インタラクティブデモを試す:[Agent Robot Avatar を開く](https://cx-artlab.github.io/agent-robot-avatar/?lang=ja)
32
-
33
- ## 特長
34
-
35
- - SVG + Vanilla JavaScript
36
- - ネイティブ Web Component
37
- - 外部アニメーション依存なし
38
- - 自動まばたきと自然な視線移動
39
- - ポインター追従と慣性のある頭部モーション
40
- - 局所的なゼリー風ドラッグ変形と弾性復帰
41
- - Agent の状態や表情をプログラムから制御可能
42
- - waiting / failure / warning / inspect / blocked / system error を意味的に分離
43
- - 頭部の丸みを調整可能
44
- - オプションで点滅するフローティングアンテナ
45
- - Demo と再利用可能なコンポーネント本体を分離
46
-
47
- ## クイックスタート
48
-
49
- リポジトリのソースを直接使う場合は、ルートの `agent-robot-avatar.js` と `src/` を同じ構成で保ち、公開エントリを読み込みます。
50
-
51
- ```html
52
- <script type="module" src="./agent-robot-avatar.js"></script>
53
- ```
54
-
55
- ```html
56
- <agent-robot-avatar id="avatar"></agent-robot-avatar>
57
- ```
58
-
59
- 読み込み後は自動的に idle 状態になります。最小サンプルは [`examples/basic.html`](../examples/basic.html) にあります。
60
-
61
- ## 基本 API
62
-
63
- ```js
64
- const avatar = document.querySelector('#avatar');
65
-
66
- avatar.play('success');
67
- avatar.play('failure');
68
- avatar.play('warning');
69
- avatar.play('inspect');
70
- avatar.play('blocked');
71
- avatar.play('error');
72
-
73
- avatar.reset();
74
- ```
75
-
76
- ## 状態と表情
77
-
78
- | 状態 | API 名 | 用途 |
79
- | --- | --- | --- |
80
- | Idle | `idle` | 通常の待機状態 |
81
- | Bored | `bored` | 長時間タスクがない状態 |
82
- | Waiting | `waiting` | リクエスト送信後、結果待ち |
83
- | Input | `input` | ユーザー入力中 |
84
- | Send | `send` | 送信 / うなずきフィードバック |
85
- | Success | `success` | タスク成功 |
86
- | Failure | `failure` | タスク自体が失敗 |
87
- | Warning | `warning` | 危険・破壊的な操作の確認 |
88
- | Inspect | `inspect` | 結果の確認・検証 |
89
- | Blocked | `blocked` | リクエストが拒否・停止された状態 |
90
- | System error | `error` | 接続・サービス・システム障害 |
91
- | Surprise | `surprise` | 予期しない結果 |
92
- | Sleep | `sleep` | スリープへ移行 |
93
- | Wake | `wake` | スリープから復帰 |
94
-
95
- `failure` はタスク結果の失敗、`error` は接続・サービス・システム側の障害を表します。`waiting` は進行中の待機、`bored` はアクティブなタスクがない状態です。
96
-
97
- セマンティックエイリアスも利用できます。
98
-
99
- ```js
100
- avatar.play('failed');
101
- avatar.play('fail');
102
- avatar.play('verify');
103
- avatar.play('review');
104
- avatar.play('angry'); // blocked と同じ表情
105
- avatar.play('policy-blocked');
106
- avatar.play('system-error');
107
- avatar.play('connection-error');
108
- ```
109
-
110
- ## 継続待機
111
-
112
- ```js
113
- avatar.startWaiting();
114
- // 結果が返ったら停止します。
115
- avatar.stopWaiting();
116
- ```
117
-
118
- 別のアクションを再生した場合も waiting は解除されます。
119
-
120
- ## ポインター追従
121
-
122
- ```js
123
- avatar.setPointerFollow(false);
124
- avatar.setPointerFollow(true);
125
- ```
126
-
127
- ## 頭部の丸み
128
-
129
- ```js
130
- avatar.setHeadRoundness(0); // より角ばった形
131
- avatar.setHeadRoundness(50); // デフォルト
132
- avatar.setHeadRoundness(100); // より丸い形
133
-
134
- console.log(avatar.getHeadRoundness());
135
- ```
136
-
137
- 値は `0–100` に制限されます。変更時には `head-roundness-change` イベントが発火します。
138
-
139
- ```js
140
- avatar.addEventListener('head-roundness-change', (event) => {
141
- console.log(event.detail.value);
142
- });
143
- ```
144
-
145
- ## 状態イベント
146
-
147
- 表示状態が変化すると `face-state` イベントが発火します。
148
-
149
- ```js
150
- avatar.addEventListener('face-state', (event) => {
151
- console.log(event.detail.state);
152
- });
153
- ```
154
-
155
- ## 属性
156
-
157
- ```html
158
- <agent-robot-avatar
159
- size="160"
160
- color="#08090b"
161
- auto-sleep="30000">
162
- </agent-robot-avatar>
163
- ```
164
-
165
- | 属性 | 説明 |
166
- | --- | --- |
167
- | `size` | コンポーネントのサイズ(px) |
168
- | `color` | アバターのメインカラー |
169
- | `auto-sleep` | 自動スリープまでのアイドル時間(ms)。`0` で無効 |
170
-
171
- ## デフォルト動作
172
-
173
- API を呼ばなくても、ランダムなまばたき、視線移動、近くのポインターへの追従、軽い慣性モーション、自然な idle 復帰、オプションの自動スリープが動作します。
174
-
175
- ## ドラッグ操作
176
-
177
- ドラッグ時は頭全体を剛体として動かすのではなく、操作点の周辺が局所的に変形します。
178
-
179
- - 強く外側へ引く:復帰後に `angry`
180
- - 強く中心へ押す:復帰後に `success`
181
- - 小さなドラッグ:変形のみ
182
-
183
- これらのドラッグ表情は、プログラム制御のアクションがアバターを使用していない idle 時にのみ適用されます。`waiting`、`input`、`inspect` などの実行中は変形だけを残し、ドラッグ表情は抑制して後から再生しません。`pointercancel` では形状だけを復元し、成功・怒りの表情は発生しません。
184
-
185
- ## インタラクティブ Demo
186
-
187
- `demo/index.html` には全公開状態、ポインター追従、ゼリー風ドラッグ、waiting ライフサイクル、頭部丸み調整、色・挙動設定、Agent 会話シミュレーションが含まれます。Demo 専用 JavaScript は `demo/` に分離され、再利用用 npm runtime には含まれません。
188
-
189
- ## プロジェクト構成
190
-
191
- ```text
192
- agent-robot-avatar.js 公開コンポーネントのエントリ
193
- src/ 再利用可能な runtime / 表情モジュール
194
- demo/ インタラクティブ Demo と専用スクリプト
195
- examples/ 最小統合サンプル
196
- assets/support/ 支援 / 決済 QR アセット
197
- docs/ 多言語ドキュメント
198
- README.md 英語メインドキュメント
199
- CHANGELOG.md 公開リリース履歴
200
- CONTRIBUTING.md コントリビューションガイド
201
- package.json パッケージ情報
202
- LICENSE MIT License
203
- ```
204
-
205
- ## 配布と互換性
206
-
207
- パッケージは `agent-robot-avatar` として npm に公開され、アクション、イベント、公開メソッドの TypeScript 型定義を含みます。ES Modules、Custom Elements、SVG、Pointer Events、Web Animations API をサポートするモダンブラウザーを対象とします。
208
-
209
- ## コントリビューション
210
-
211
- Issue と Pull Request を歓迎します。提出前に [`CONTRIBUTING.md`](../CONTRIBUTING.md) を確認してください。
212
-
213
- ## プロジェクトの状態
214
-
215
- v0.3.1 は現在の公開バージョンです。v0.1.0 は最初の公開バージョンとして引き続き利用できます。将来の `1.0.0` に向けて慎重に進化できるよう、公開 API は意図的に小さく保っています。
216
-
217
- Agent Robot Avatar は独立して開発されたオープンソースプロジェクトであり、特定の AI プラットフォームやブランドとは提携・公式承認関係にありません。
218
-
219
- ## License
220
-
221
- MIT License。詳細は [`LICENSE`](../LICENSE) を参照してください。
222
-
223
- ## コーヒーで支援
224
-
225
- <a href='https://ko-fi.com/P0E625WIOI' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://storage.ko-fi.com/cdn/kofi6.png?v=6' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>
1
+ # Agent Robot Avatar
2
+
3
+ <p align="center">
4
+ <img src="../assets/readme/agent-robot-avatar-header.jpg" alt="Agent Robot Avatar">
5
+ </p>
6
+
7
+ [English](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/README.md) | [简体中文](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.zh-CN.md) | [Español](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.es.md) | [Русский](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.ru.md) | [Français](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.fr.md) | [Português](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.pt.md) | [Deutsch](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.de.md) | [日本語](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.ja.md) | [한국어](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.ko.md) | [繁體中文](https://github.com/CX-ArtLab/agent-robot-avatar/blob/main/docs/README.zh-TW.md)
8
+
9
+ ![Version](https://img.shields.io/badge/version-v0.5.2-111111?style=flat-square) [![License](https://img.shields.io/badge/license-MIT-0A7EA4?style=flat-square)](../LICENSE) [![CI](https://github.com/CX-ArtLab/agent-robot-avatar/actions/workflows/validate.yml/badge.svg?branch=main)](https://github.com/CX-ArtLab/agent-robot-avatar/actions/workflows/validate.yml) [![Ko-fi](https://img.shields.io/badge/Ko--fi-Support-FF5E5B?style=flat-square&logo=ko-fi&logoColor=white)](https://ko-fi.com/P0E625WIOI)
10
+
11
+ ![Vanilla JavaScript](https://img.shields.io/badge/Vanilla-JavaScript-F7DF1E?style=flat-square&logo=javascript&logoColor=000) ![Web Component](https://img.shields.io/badge/Web-Native%20Component-5A67D8?style=flat-square) ![SVG](https://img.shields.io/badge/Rendering-SVG-FFB13B?style=flat-square&logo=svg&logoColor=000) ![Zero Dependencies](https://img.shields.io/badge/Dependencies-0-2EA44F?style=flat-square)
12
+
13
+ AI Agent やインタラクティブなアプリケーション向けの、軽量で表情豊かなロボットアバター Web Component です。
14
+
15
+ AI アシスタント、Agent インターフェース、デスクトップコンパニオン、バーチャルペット、デジタルマスコット、チャットボットのアバターなど、さまざまなインタラクティブキャラクター体験に利用できます。
16
+
17
+ ChatGPT、Claude、Codex、Cursor、Grok Bot、Gemini CLI、OpenCode に似た製品や体験を含む、AI アシスタントおよび Agent インターフェースに適しています。
18
+
19
+ SVG と Vanilla JavaScript で構築され、ネイティブ Custom Element として動作し、ランタイム依存はありません。
20
+
21
+ Agent Robot Avatar は、AG-UI スタイルの Agent インターフェースにおける視覚的なフィードバック層としても利用できます。
22
+
23
+ <p align="center">
24
+ <img src="../assets/demo/agent-robot-avatar-demo.gif" alt="Agent Robot Avatar インタラクティブアニメーションデモ" width="560">
25
+ </p>
26
+
27
+ ## ライブデモ
28
+
29
+ [インタラクティブデモを開く](https://cx-artlab.github.io/agent-robot-avatar/?lang=ja)
30
+
31
+ ## 特長
32
+
33
+ - ネイティブ Web Component
34
+ - SVG レンダリング + Vanilla JavaScript
35
+ - ランタイム依存なし
36
+ - 自動まばたきと控えめな idle 動作
37
+ - ポインター追従する目と慣性のある頭部モーション
38
+ - ゼリー風の局所ドラッグ変形と弾性復帰
39
+ - 長押しによる圧縮と、ドラッグ可能なばね式アンテナ
40
+ - Agent の状態や表情をプログラムから制御可能
41
+ - waiting、success、failure、warning、review、blocked、system error のフィードバック
42
+ - Reduced Motion 対応
43
+ - 設定可能なスリープ動作
44
+ - 頭部の丸みを調整可能
45
+ - アンテナのステータス点滅を任意で有効化
46
+ - TypeScript 型定義を同梱
47
+
48
+ ## インストール
49
+
50
+ ```bash
51
+ npm install agent-robot-avatar
52
+ ```
53
+
54
+ ```js
55
+ import 'agent-robot-avatar';
56
+ ```
57
+
58
+ リポジトリのソースを直接読み込むこともできます。
59
+
60
+ ```html
61
+ <script type="module" src="./agent-robot-avatar.js"></script>
62
+ ```
63
+
64
+ 続いてコンポーネントを追加します。
65
+
66
+ ```html
67
+ <agent-robot-avatar id="avatar"></agent-robot-avatar>
68
+ ```
69
+
70
+ 初期化コードは不要です。アバターは自動的にデフォルトの idle 状態になります。
71
+
72
+ ## 基本的な使い方
73
+
74
+ ```js
75
+ const avatar = document.querySelector('#avatar');
76
+
77
+ avatar.play('success');
78
+ avatar.play('warning');
79
+ avatar.play('error');
80
+
81
+ avatar.reset();
82
+ ```
83
+
84
+ 利用可能なアクション:
85
+
86
+ `idle` · `bored` · `waiting` · `waiting-wrap` · `input` · `send` · `success` · `failure` · `warning` · `inspect` · `blocked` · `error` · `surprise` · `love` · `random` · `sleep` · `wake`
87
+
88
+ `failure` はタスクが完了したものの失敗した場合、`error` は接続・サービス・システム障害の場合に使います。
89
+
90
+ `love` は好意や感謝を表します。両目が寄り合って一つのハートになり、3 回脈打ってから元に戻ります。
91
+
92
+ `random` はスロットマシンの回転を再生します。各目がドラム上を転がり、まず左目が減速してバウンドしながら止まり、続いて右目が止まります。`slot` はエイリアスです。
93
+
94
+ 典型的な Agent リクエストの流れ:
95
+
96
+ ```js
97
+ avatar.startWaiting();
98
+
99
+ // 2 つ目の待機動作:目が片側へ抜け、反対側から戻ります。
100
+ avatar.startWaiting({ variant: 'wrap' });
101
+
102
+ try {
103
+ const result = await runAgentRequest();
104
+ await avatar.play(result.ok ? 'success' : 'failure');
105
+ } catch (error) {
106
+ await avatar.play('error');
107
+ }
108
+ ```
109
+
110
+ ## よく使うオプション
111
+
112
+ ```html
113
+ <agent-robot-avatar
114
+ size="160"
115
+ color="#08090b"
116
+ auto-sleep="30000"
117
+ wake-on="activity"
118
+ motion="auto">
119
+ </agent-robot-avatar>
120
+ ```
121
+
122
+ | 属性 | 用途 |
123
+ | --- | --- |
124
+ | `size` | アバターのサイズ(px) |
125
+ | `color` | アバターのメインカラー |
126
+ | `auto-sleep` | 自動スリープまでの待機時間。`0` で無効 |
127
+ | `wake-on` | 自動ウェイク方針:`activity`、`interaction`、`manual` |
128
+ | `motion` | モーション方針:`auto`、`reduce`、`full` |
129
+ | `press-squeeze` | 中央を長押しして圧縮。`false` で無効化 |
130
+ | `antenna-drag` | アンテナのドラッグ、ばね復帰、怒り反応。`false` で無効化 |
131
+
132
+ よく使うランタイム制御:
133
+
134
+ ```js
135
+ avatar.setPointerFollow(false);
136
+ avatar.setHeadRoundness(75);
137
+ avatar.setAntennaFlash(true);
138
+ avatar.setPressSqueeze(true);
139
+ avatar.setAntennaDrag(true);
140
+ ```
141
+
142
+ 中央の長押しで圧縮が始まり、4 CSS ピクセルを超えて動かすと、同じポインタージェスチャーが従来の頭部ドラッグへ切り替わります。アンテナには頭部ドラッグと同じ距離制限が適用され、復帰後に従来の怒り反応が続きます。
143
+
144
+ ## イベントと統合
145
+
146
+ コンポーネントは視覚状態の変化を `face-state`、意味的なアクションライフサイクルの変化を `action-state` で通知します。
147
+
148
+ ホストアプリとの統合やアクセシビリティ向けステータステキストには `action-state` を推奨します。実行可能なリクエストライフサイクル例は [`examples/accessibility.html`](../examples/accessibility.html) を参照してください。
149
+
150
+ 最小構成の統合例は [`examples/basic.html`](../examples/basic.html) にあります。
151
+
152
+ ## 互換性
153
+
154
+ ES Modules、Custom Elements、SVG、Pointer Events、Web Animations API、`IntersectionObserver`、`ResizeObserver`、`matchMedia` をサポートするモダンブラウザ向けです。
155
+
156
+ 自動ブラウザテストは Chromium、Firefox、WebKit を対象にしています。
157
+
158
+ ## コントリビューション
159
+
160
+ Issue と Pull Request を歓迎します。変更を送る前に [`CONTRIBUTING.md`](../CONTRIBUTING.md) を確認してください。
161
+
162
+ ## プロジェクト状況
163
+
164
+ **現在の公開バージョン:v0.5.2**
165
+
166
+ 公開 API は、将来の `1.0.0` における安定性コミットメントに向けて、意図的にコンパクトなまま慎重に進化させています。
167
+
168
+ Agent Robot Avatar は独立して開発されたプロジェクトであり、いかなる AI プラットフォームやブランドとも提携・承認・公式な関係はありません。
169
+
170
+ ## キャラクターデザインとビジュアルアイデンティティ
171
+
172
+ Agent Robot Avatar のキャラクター、ロボットの外観、ビジュアルアイデンティティは CX ArtLab によるオリジナルデザインです。
173
+
174
+ MIT License はソフトウェアとソースコードに適用されます。アプリケーションの一部としてアバターを使用・変更・配布できますが、Agent Robot Avatar の名称、キャラクターアイデンティティ、ビジュアルアイデンティティの所有権を移転するものではなく、他者のオリジナルキャラクターや独立ブランドとして提示する権利を付与するものでもありません。
175
+
176
+ 本プロジェクト内で言及する第三者製品名は、想定される使用例を説明するためのものであり、提携や承認を示すものではありません。
177
+
178
+ ## ライセンス
179
+
180
+ MIT License。詳しくは [`LICENSE`](../LICENSE) を参照してください。
181
+
182
+ ---
183
+
184
+ このプロジェクトが役に立ったら、コーヒーを一杯ごちそうしていただけます。
185
+
186
+ <a href='https://ko-fi.com/P0E625WIOI' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://storage.ko-fi.com/cdn/kofi6.png?v=6' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>