@rtc-agent/component 0.1.0 → 0.1.1-rc.0
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/README.md +78 -0
- package/dist/assets/shared-worker-xm0WZxNh.js +2648 -0
- package/dist/en-US-GGBV1WvE.js +186 -0
- package/dist/{index-7mnKUu92.js → index-CD2MVo00.js} +29733 -20566
- package/dist/{index-CUbU308u.js → index-CeX1iLH3.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/index.umd.js +4839 -760
- package/dist/sounds/complete.mp3 +0 -0
- package/dist/sounds/error.mp3 +0 -0
- package/dist/sounds/message.mp3 +0 -0
- package/package.json +18 -5
package/README.md
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# @rtc-agent/component
|
|
2
|
+
|
|
3
|
+
基于 Lit 的 Web Component 组件库,提供浮窗式 RTC Agent 交互界面。
|
|
4
|
+
|
|
5
|
+
## 导出
|
|
6
|
+
|
|
7
|
+
### 组件
|
|
8
|
+
|
|
9
|
+
- `<rtc-agent>` — 根组件(唯一公开注册的 custom element)
|
|
10
|
+
- 所有子组件均通过 side-effect 导入,在根组件 shadow DOM 内使用
|
|
11
|
+
|
|
12
|
+
### 类
|
|
13
|
+
|
|
14
|
+
- `RtcAgent` — 根组件 class,可直接 import 用于类型标注
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import { RtcAgent } from '@rtc-agent/component';
|
|
18
|
+
const agent = document.querySelector<RtcAgent>('rtc-agent')!;
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 用法
|
|
22
|
+
|
|
23
|
+
```html
|
|
24
|
+
<script type="module">
|
|
25
|
+
import '@rtc-agent/component';
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<rtc-agent
|
|
29
|
+
theme="system"
|
|
30
|
+
app-label="RTC Agent"
|
|
31
|
+
scenarios-url="./scenarios/"
|
|
32
|
+
></rtc-agent>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 架构
|
|
36
|
+
|
|
37
|
+
RTC Agent 使用 SharedWorker + Comlink 架构实现多 Tab 共享:
|
|
38
|
+
|
|
39
|
+
- 单 WebSocket 连接(SharedWorker 内)
|
|
40
|
+
- 共享 IndexedDB 存储
|
|
41
|
+
- Master Tab 选举(Web Locks API)
|
|
42
|
+
|
|
43
|
+
详细设计见 [docs/shared-worker-proposal.md](../../docs/shared-worker-proposal.md)。
|
|
44
|
+
|
|
45
|
+
### 公开属性
|
|
46
|
+
|
|
47
|
+
| 属性 | 类型 | 默认值 | 说明 |
|
|
48
|
+
| --- | --- | --- | --- |
|
|
49
|
+
| `theme` | `'light' \| 'dark' \| 'system'` | `'system'` | 主题 |
|
|
50
|
+
| `app-label` | `string` | `'RTC Agent'` | 标题栏 / 气泡 tooltip 文本 |
|
|
51
|
+
| `bubble-icon` | `string` | `''` | 最小化气泡内的 SVG / HTML |
|
|
52
|
+
| `scenarios-url` | `string` | `''` | Scenario 文档 URL |
|
|
53
|
+
| `agentConfig` | `AgentConfig \| null` | `null` | 声明式函数注册 |
|
|
54
|
+
| `registry` | `FunctionRegistry \| null` | `null` | 命令式函数注册(高级) |
|
|
55
|
+
|
|
56
|
+
### 公开事件
|
|
57
|
+
|
|
58
|
+
所有公开事件遵循 `rtc-<domain>-<action>-<past-tense>` 命名模式:
|
|
59
|
+
|
|
60
|
+
- `rtc-agent-ready` — 组件就绪
|
|
61
|
+
- `rtc-session-created` / `rtc-session-switched`
|
|
62
|
+
- `rtc-message-sent`
|
|
63
|
+
- `rtc-auth-login-requested`
|
|
64
|
+
- `rtc-window-minimize` / `rtc-window-maximize` / `rtc-window-restore`
|
|
65
|
+
|
|
66
|
+
### 控制器访问
|
|
67
|
+
|
|
68
|
+
```ts
|
|
69
|
+
agent.authController.login();
|
|
70
|
+
agent.authController.logout();
|
|
71
|
+
agent.sessionController.actions.switchSession(id);
|
|
72
|
+
agent.messageController.actions.sendMessage(content);
|
|
73
|
+
agent.skillController.actions.setRegistry(registry);
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## License
|
|
77
|
+
|
|
78
|
+
[MIT](../../LICENSE)
|