@blueking/ai-ui-sdk 0.0.2 → 0.0.3
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 +328 -0
- package/dist/hooks/use-chat.d.ts +4 -1
- package/dist/main.js +7 -7
- package/dist/types/type.d.ts +5 -0
- package/package.json +1 -1
package/README.md
ADDED
@@ -0,0 +1,328 @@
|
|
1
|
+
# 蓝鲸 AI UI SDK
|
2
|
+
|
3
|
+
## 介绍
|
4
|
+
|
5
|
+
蓝鲸 AI UI SDK (@blueking/ai-ui-sdk) 是一个用于快速构建 AI 应用前端界面的工具包。它提供了一系列组件和 hooks,帮助开发者简化 AI 聊天界面的开发过程,包括聊天功能、引用资料展示、AI 思考过程可视化等功能。
|
6
|
+
|
7
|
+
## 安装
|
8
|
+
|
9
|
+
```bash
|
10
|
+
npm install @blueking/ai-ui-sdk
|
11
|
+
```
|
12
|
+
|
13
|
+
## 主要功能
|
14
|
+
|
15
|
+
- **聊天功能**:管理 AI 对话的完整生命周期
|
16
|
+
- **引用资料展示**:显示 AI 在回答中引用的文档资料
|
17
|
+
- **思考过程可视化**:展示 AI 的思考过程和推理步骤
|
18
|
+
- **内容总结**:快速对对话内容进行摘要总结
|
19
|
+
- **统一样式**:提供一致的 UI 样式和图标
|
20
|
+
|
21
|
+
## 使用指南
|
22
|
+
|
23
|
+
### 基本设置
|
24
|
+
|
25
|
+
```typescript
|
26
|
+
import { useStyle, useChat, useClickProxy } from '@blueking/ai-ui-sdk';
|
27
|
+
|
28
|
+
// 引入样式和图标
|
29
|
+
useStyle();
|
30
|
+
|
31
|
+
// 设置全局点击代理事件(用于处理折叠/展开、复制等操作)
|
32
|
+
useClickProxy();
|
33
|
+
|
34
|
+
// 初始化聊天
|
35
|
+
const {
|
36
|
+
currentSession,
|
37
|
+
sessionContents,
|
38
|
+
chat,
|
39
|
+
stopChat,
|
40
|
+
setCurrentSession
|
41
|
+
} = useChat({
|
42
|
+
handleStart: (sessionCode, sessionContent) => {
|
43
|
+
console.log('聊天开始', sessionCode);
|
44
|
+
},
|
45
|
+
handleText: (sessionCode, sessionContent) => {
|
46
|
+
console.log('收到文本消息', sessionContent.content);
|
47
|
+
},
|
48
|
+
handleReferenceDoc: (sessionCode, sessionContent) => {
|
49
|
+
console.log('收到引用资料');
|
50
|
+
},
|
51
|
+
handleThink: (sessionCode, sessionContent) => {
|
52
|
+
console.log('AI 思考过程');
|
53
|
+
},
|
54
|
+
handleEnd: (sessionCode, sessionContent) => {
|
55
|
+
console.log('聊天结束');
|
56
|
+
},
|
57
|
+
handleError: (sessionCode, sessionContent, code) => {
|
58
|
+
console.error('聊天出错', sessionContent.content, code);
|
59
|
+
}
|
60
|
+
});
|
61
|
+
```
|
62
|
+
|
63
|
+
### 创建聊天会话
|
64
|
+
|
65
|
+
```typescript
|
66
|
+
// 设置当前会话
|
67
|
+
setCurrentSession({
|
68
|
+
sessionCode: 'session_123',
|
69
|
+
sessionName: '新的对话',
|
70
|
+
model: 'your-ai-model-id'
|
71
|
+
});
|
72
|
+
|
73
|
+
// 发送聊天请求
|
74
|
+
chat({
|
75
|
+
sessionCode: 'session_123',
|
76
|
+
url: 'https://your-ai-api-endpoint.com/chat',
|
77
|
+
data: {
|
78
|
+
// 可添加额外参数
|
79
|
+
prompts: [...],
|
80
|
+
temperature: 0.7
|
81
|
+
},
|
82
|
+
headers: {
|
83
|
+
'Authorization': 'Bearer your-api-token'
|
84
|
+
}
|
85
|
+
});
|
86
|
+
|
87
|
+
// 停止正在进行的聊天
|
88
|
+
stopChat('session_123');
|
89
|
+
```
|
90
|
+
|
91
|
+
### 使用内容总结功能
|
92
|
+
|
93
|
+
```typescript
|
94
|
+
import { useSummary } from '@blueking/ai-ui-sdk';
|
95
|
+
|
96
|
+
const { summary } = useSummary({
|
97
|
+
handleStart: () => {
|
98
|
+
console.log('开始生成摘要');
|
99
|
+
},
|
100
|
+
handleEnd: (text) => {
|
101
|
+
console.log('摘要生成完成:', text);
|
102
|
+
},
|
103
|
+
handleError: (message, code) => {
|
104
|
+
console.error('摘要生成失败:', message, code);
|
105
|
+
}
|
106
|
+
});
|
107
|
+
|
108
|
+
// 生成摘要
|
109
|
+
summary({
|
110
|
+
content: '需要总结的长文本内容...',
|
111
|
+
url: 'https://your-ai-api-endpoint.com/summary',
|
112
|
+
headers: {
|
113
|
+
'Authorization': 'Bearer your-api-token'
|
114
|
+
},
|
115
|
+
model: 'your-ai-model-id' // 可选
|
116
|
+
});
|
117
|
+
```
|
118
|
+
|
119
|
+
## 组件说明
|
120
|
+
|
121
|
+
### 会话内容展示
|
122
|
+
|
123
|
+
SDK 可以将 AI 回复渲染为包含以下元素的富文本内容:
|
124
|
+
|
125
|
+
1. **引用资料**:显示 AI 回答中引用的文档
|
126
|
+
```html
|
127
|
+
<section class="knowledge-head click-close">
|
128
|
+
找到 X 篇资料参考
|
129
|
+
<i class="ai-ui-sdk-icon icon-angle-up"></i>
|
130
|
+
</section>
|
131
|
+
<ul class="knowledge-body">
|
132
|
+
<!-- 引用资料列表 -->
|
133
|
+
</ul>
|
134
|
+
```
|
135
|
+
|
136
|
+
2. **思考过程**:展示 AI 的思考过程
|
137
|
+
```html
|
138
|
+
<section class="think-head click-close">
|
139
|
+
<i class="ai-ui-sdk-icon icon-sikao"></i>思考中...
|
140
|
+
<i class="ai-ui-sdk-icon icon-angle-up"></i>
|
141
|
+
</section>
|
142
|
+
<section class="think-body">
|
143
|
+
<!-- 思考内容 -->
|
144
|
+
</section>
|
145
|
+
```
|
146
|
+
|
147
|
+
## 开发者指南
|
148
|
+
|
149
|
+
### 架构概览
|
150
|
+
|
151
|
+
SDK 主要由以下模块组成:
|
152
|
+
|
153
|
+
- **核心 hooks**:
|
154
|
+
- `useChat`: 管理聊天功能
|
155
|
+
- `useSummary`: 处理内容总结
|
156
|
+
- `useReferenceDoc`: 处理引用资料展示
|
157
|
+
- `useThink`: 处理思考过程展示
|
158
|
+
- `useClickProxy`: 处理点击事件代理
|
159
|
+
- `useStyle`: 加载样式和图标
|
160
|
+
|
161
|
+
- **工具类**:
|
162
|
+
- `ChatHelper`: 处理与 AI 服务的通信
|
163
|
+
- `type-transform`: 处理类型转换
|
164
|
+
|
165
|
+
### 自定义聊天流程
|
166
|
+
|
167
|
+
可以通过覆盖 `useChat` 的回调函数来自定义聊天流程的各个环节:
|
168
|
+
|
169
|
+
```typescript
|
170
|
+
const {
|
171
|
+
chat,
|
172
|
+
// 其他方法...
|
173
|
+
} = useChat({
|
174
|
+
// 开始时的处理
|
175
|
+
handleStart: (sessionCode, sessionContent) => {
|
176
|
+
// 自定义实现
|
177
|
+
},
|
178
|
+
|
179
|
+
// 接收文本时的处理
|
180
|
+
handleText: (sessionCode, sessionContent) => {
|
181
|
+
// 自定义实现
|
182
|
+
},
|
183
|
+
|
184
|
+
// 接收引用资料时的处理
|
185
|
+
handleReferenceDoc: (sessionCode, sessionContent) => {
|
186
|
+
// 自定义实现
|
187
|
+
},
|
188
|
+
|
189
|
+
// 接收思考过程时的处理
|
190
|
+
handleThink: (sessionCode, sessionContent) => {
|
191
|
+
// 自定义实现
|
192
|
+
},
|
193
|
+
|
194
|
+
// 结束时的处理
|
195
|
+
handleEnd: (sessionCode, sessionContent) => {
|
196
|
+
// 自定义实现
|
197
|
+
},
|
198
|
+
|
199
|
+
// 出错时的处理
|
200
|
+
handleError: (sessionCode, sessionContent, code) => {
|
201
|
+
// 自定义实现
|
202
|
+
}
|
203
|
+
});
|
204
|
+
```
|
205
|
+
|
206
|
+
### 会话内容状态管理
|
207
|
+
|
208
|
+
SDK 使用 Vue 3 的响应式系统管理会话内容状态:
|
209
|
+
|
210
|
+
```typescript
|
211
|
+
const {
|
212
|
+
currentSession, // 当前会话
|
213
|
+
sessionContents, // 当前会话内容
|
214
|
+
sessionContentsMap, // 所有会话内容的映射
|
215
|
+
sessionLoadingMap, // 会话加载状态的映射
|
216
|
+
prompts, // 计算得到的所有提示
|
217
|
+
// 其他方法...
|
218
|
+
} = useChat();
|
219
|
+
```
|
220
|
+
|
221
|
+
### 后端流式响应格式
|
222
|
+
|
223
|
+
SDK 期望后端返回的流式响应格式如下:
|
224
|
+
|
225
|
+
```
|
226
|
+
data: {"event":"text","content":"文本内容","cover":false}
|
227
|
+
|
228
|
+
data: {"event":"reference_doc","documents":[{"metadata":{"file_path":"文件路径","path":"路径","preview_path":"预览路径"}}]}
|
229
|
+
|
230
|
+
data: {"event":"think","content":"思考内容","cover":false,"elapsed_time":1000}
|
231
|
+
|
232
|
+
data: {"event":"done"}
|
233
|
+
|
234
|
+
data: {"event":"error","message":"错误信息","code":"错误码"}
|
235
|
+
```
|
236
|
+
|
237
|
+
## 示例应用
|
238
|
+
|
239
|
+
以下是一个简单的 AI 聊天应用示例:
|
240
|
+
|
241
|
+
```vue
|
242
|
+
<template>
|
243
|
+
<div class="chat-container">
|
244
|
+
<div class="chat-messages" ref="messagesRef">
|
245
|
+
<div v-for="message in sessionContents" :key="message.id"
|
246
|
+
:class="['message', message.role]">
|
247
|
+
<div v-if="message.role === 'user'" class="user-message">
|
248
|
+
{{ message.content }}
|
249
|
+
</div>
|
250
|
+
<div v-else-if="message.role === 'ai'" class="ai-message"
|
251
|
+
v-html="message.content"></div>
|
252
|
+
</div>
|
253
|
+
</div>
|
254
|
+
|
255
|
+
<div class="chat-input">
|
256
|
+
<input v-model="inputMessage" @keyup.enter="sendMessage"
|
257
|
+
placeholder="输入您的问题..."/>
|
258
|
+
<button @click="sendMessage">发送</button>
|
259
|
+
</div>
|
260
|
+
</div>
|
261
|
+
</template>
|
262
|
+
|
263
|
+
<script setup>
|
264
|
+
import { ref, onMounted } from 'vue';
|
265
|
+
import { useStyle, useChat, useClickProxy, SessionContentRole } from '@blueking/ai-ui-sdk';
|
266
|
+
|
267
|
+
useStyle();
|
268
|
+
useClickProxy();
|
269
|
+
|
270
|
+
const inputMessage = ref('');
|
271
|
+
const messagesRef = ref(null);
|
272
|
+
|
273
|
+
const {
|
274
|
+
sessionContents,
|
275
|
+
chat,
|
276
|
+
setCurrentSession,
|
277
|
+
plusSessionContent
|
278
|
+
} = useChat();
|
279
|
+
|
280
|
+
// 设置当前会话
|
281
|
+
onMounted(() => {
|
282
|
+
setCurrentSession({
|
283
|
+
sessionCode: 'demo_session',
|
284
|
+
sessionName: '演示对话',
|
285
|
+
model: 'your-model-id'
|
286
|
+
});
|
287
|
+
});
|
288
|
+
|
289
|
+
// 发送消息
|
290
|
+
const sendMessage = () => {
|
291
|
+
if (!inputMessage.value.trim()) return;
|
292
|
+
|
293
|
+
// 添加用户消息
|
294
|
+
plusSessionContent('demo_session', {
|
295
|
+
sessionCode: 'demo_session',
|
296
|
+
role: SessionContentRole.User,
|
297
|
+
content: inputMessage.value
|
298
|
+
});
|
299
|
+
|
300
|
+
// 发送聊天请求
|
301
|
+
chat({
|
302
|
+
sessionCode: 'demo_session',
|
303
|
+
url: 'https://your-api-endpoint/chat',
|
304
|
+
data: {
|
305
|
+
model: 'your-model-id',
|
306
|
+
message: inputMessage.value
|
307
|
+
}
|
308
|
+
});
|
309
|
+
|
310
|
+
// 清空输入框
|
311
|
+
inputMessage.value = '';
|
312
|
+
}
|
313
|
+
</script>
|
314
|
+
```
|
315
|
+
|
316
|
+
## API 参考
|
317
|
+
|
318
|
+
请参考源代码中的类型定义获取完整 API 参考。
|
319
|
+
|
320
|
+
## 注意事项
|
321
|
+
|
322
|
+
- SDK 依赖 Vue 3 和 bkui-vue,请确保项目中已安装这些依赖
|
323
|
+
- 确保 AI 服务支持流式响应格式
|
324
|
+
- 处理复杂的 markdown 或代码展示时,建议使用专门的渲染库
|
325
|
+
|
326
|
+
## 许可证
|
327
|
+
|
328
|
+
ISC
|
package/dist/hooks/use-chat.d.ts
CHANGED
@@ -6,7 +6,7 @@ type SessionContentsMap = {
|
|
6
6
|
type SessionLoadingMap = {
|
7
7
|
[key: string]: boolean;
|
8
8
|
};
|
9
|
-
export declare const useChat: <T extends ISession = ISession>({ handleStart, handleText, handleReferenceDoc, handleThink, handleEnd, handleError, }?: ChatCallbacks) => {
|
9
|
+
export declare const useChat: <T extends ISession = ISession>({ handleStart, handleText, handleReferenceDoc, handleThink, handleEnd, handleError, requestOptions, }?: ChatCallbacks) => {
|
10
10
|
currentSession: import("vue").Ref<T | undefined, T | undefined>;
|
11
11
|
sessionContents: import("vue").Ref<{
|
12
12
|
id?: number | undefined;
|
@@ -38,12 +38,14 @@ export declare const useChat: <T extends ISession = ISession>({ handleStart, han
|
|
38
38
|
sessionContentsMap: SessionContentsMap;
|
39
39
|
sessionLoadingMap: import("vue").Ref<SessionLoadingMap, SessionLoadingMap>;
|
40
40
|
prompts: import("vue").ComputedRef<ISessionPrompt[]>;
|
41
|
+
currentSessionLoading: import("vue").ComputedRef<boolean>;
|
41
42
|
chat: ({ sessionCode, data, url, headers, }: {
|
42
43
|
sessionCode: string;
|
43
44
|
data?: Record<string, any>;
|
44
45
|
url: string;
|
45
46
|
headers?: Record<string, string>;
|
46
47
|
}) => void;
|
48
|
+
sendChat: (message: string, callback?: () => void) => void;
|
47
49
|
stopChat: (sessionCode: string) => void;
|
48
50
|
plusSessionContent: (sessionCode: string, sessionContent: ISessionContent) => void;
|
49
51
|
updateSessionContent: (sessionContent: ISessionContent) => void;
|
@@ -56,5 +58,6 @@ export declare const useChat: <T extends ISession = ISession>({ handleStart, han
|
|
56
58
|
deleteSessionContents: (sessionCode: string, contentIds: number[]) => number[];
|
57
59
|
handleStartChat: (sessionCode: string) => void | undefined;
|
58
60
|
handleErrorChat: (sessionCode: string, message: string, code?: string) => void | undefined;
|
61
|
+
reGenerateChat: (chatIndex: number) => void;
|
59
62
|
};
|
60
63
|
export {};
|
package/dist/main.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
!function(A,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("vue"),require("bkui-vue")):"function"==typeof define&&define.amd?define(["vue","bkui-vue"],e):"object"==typeof exports?exports["ai-ui-sdk"]=e(require("vue"),require("bkui-vue")):A["ai-ui-sdk"]=e(A.vue,A["bkui-vue"])}("undefined"!=typeof self?self:this,(A,e)=>(()=>{var t={84:()=>{!function(){var A='<svg xmlns="http://www.w3.org/2000/svg" data-name="ai-ui-sdk" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0;visibility:hidden"><symbol id="ai-ui-sdk-angle-up" viewBox="0 0 32 32"><path fill="#63656e" d="M16 11.5l7 7-1.5 1.5-5.5-5.5-5.5 5.5L9 18.5l7-7z"/></symbol><symbol id="ai-ui-sdk-links" viewBox="0 0 1024 1024"><path d="M263.04 760.96a148.48 148.48 0 01-1.92-224l92.48-92.48-45.12-45.76L216 491.2a212.8 212.8 0 001.92 314.88A212.8 212.8 0 00532.8 808l92.48-92.48L579.84 672l-92.48 92.48a148.48 148.48 0 01-224.32-3.52zM491.2 216l-92.48 92.48 45.44 45.12 92.48-92.48a148.48 148.48 0 01224 1.92 148.48 148.48 0 011.92 224L672 579.84l45.12 45.44 92.48-92.48a212.8 212.8 0 00-1.92-314.88A212.8 212.8 0 00491.2 216z"/><path d="M398.786 579.888l181.019-181.02 45.255 45.255-181.02 181.02-45.254-45.255z"/></symbol><symbol id="ai-ui-sdk-zhishiku" viewBox="0 0 1024 1024"><path d="M320.986 203.315H191.622c-17.248 0-31.622 14.503-31.622 31.905v639.542c0 17.403 14.374 31.905 31.622 31.905h129.364c17.249 0 31.623-14.502 31.623-31.905V235.22c0-17.402-14.374-31.905-31.623-31.905zm-35.934 130.52h-57.495c-15.811 0-28.748-13.053-28.748-29.005 0-15.952 12.937-29.004 28.748-29.004h57.495c15.811 0 28.747 13.052 28.747 29.004 0 15.952-12.936 29.004-28.747 29.004zM578.277 96H448.913c-17.249 0-31.622 14.502-31.622 31.905v746.857c0 17.403 14.373 31.905 31.622 31.905h129.364c17.248 0 31.622-14.502 31.622-31.905V127.905C611.337 110.502 596.963 96 578.277 96zM543.78 227.969h-57.495c-15.811 0-28.748-13.052-28.748-29.004 0-15.952 12.937-29.004 28.748-29.004h57.495c15.811 0 28.747 13.052 28.747 29.004 0 15.952-12.936 29.004-28.747 29.004zm383.78 613.438l-120.74-627.94c-4.312-15.952-17.249-26.104-33.06-26.104h-5.75l-126.488 24.654c-17.249 2.9-28.748 20.303-25.873 37.705l122.177 629.39c2.875 15.953 15.811 26.104 31.622 26.104h5.75l126.489-24.653c17.248-4.35 28.748-21.753 25.873-39.156zM762.26 312.081l-57.495 11.602h-5.75c-12.936 0-25.872-10.152-28.747-23.204-2.875-15.952 7.187-31.904 22.998-34.805l57.495-11.601c15.811-2.9 31.623 7.25 34.497 23.203 2.875 15.952-7.187 31.905-22.998 34.805z"/></symbol><symbol id="ai-ui-sdk-sikao" viewBox="0 0 1024 1024"><path d="M528 96c61.856 0 112 50.144 112 112 0 .376-.002.751-.006 1.126C774.73 260.666 870.4 391.16 870.4 544c0 22.55-2.082 44.612-6.066 66.007C883.94 630.144 896 657.663 896 688c0 61.856-50.144 112-112 112a112.7 112.7 0 01-19.49-1.69C699.754 862.65 610.519 902.4 512 902.4s-187.753-39.75-252.539-104.088A112.33 112.33 0 01240 800c-61.856 0-112-50.144-112-112 0-30.337 12.061-57.856 31.65-78.025A361.172 361.172 0 01153.6 544c0-164.845 111.29-303.696 262.836-345.518C421.232 141.079 469.35 96 528 96zm-91.48 176.633l-4.469 1.278C315.47 308.366 230.4 416.249 230.4 544c0 10.923.622 21.7 1.832 32.3l1.623-.134L240 576c61.856 0 112 50.144 112 112 0 26.132-8.95 50.173-23.95 69.226C377.36 799.817 441.67 825.6 512 825.6c70.33 0 134.639-25.783 183.99-68.412C680.95 738.173 672 714.132 672 688c0-61.856 50.144-112 112-112 2.607 0 5.194.09 7.757.264A280.989 280.989 0 00793.6 544c0-119.973-75.025-222.422-180.718-262.99C592.35 304.904 561.938 320 528 320c-37.782 0-71.195-18.708-91.48-47.367z"/></symbol><symbol id="ai-ui-sdk-wenzhang" viewBox="0 0 1024 1024"><path fill="#3D4265" d="M708.923 157.538h275.692c21.752 0 39.385 17.634 39.385 39.385v748.308c0 43.503-35.266 78.769-78.77 78.769H708.924V157.538z"/><path fill="#3A84FF" d="M0 984.615A39.385 39.385 0 0039.385 1024H945.23c-43.503 0-78.77-35.266-78.77-78.77V39.386C866.462 17.633 848.829 0 827.078 0H39.385C17.633 0 0 17.633 0 39.385v945.23z"/><path fill="#FFF" d="M196.923 288.82c-21.751 0-39.385 17.634-39.385 39.385 0 21.752 17.634 39.385 39.385 39.385h157.539c21.751 0 39.384-17.633 39.384-39.385 0-21.751-17.633-39.384-39.384-39.384H196.923zm0 236.308c-21.751 0-39.385 17.633-39.385 39.385 0 21.751 17.634 39.384 39.385 39.384h472.615c21.752 0 39.385-17.633 39.385-39.384 0-21.752-17.633-39.385-39.385-39.385H196.923zm0 236.308c-21.751 0-39.385 17.633-39.385 39.385 0 21.751 17.634 39.384 39.385 39.384h236.308c21.751 0 39.384-17.633 39.384-39.384 0-21.752-17.633-39.385-39.384-39.385H196.923z"/></g></symbol><symbol id="ai-ui-sdk-yanjing-kejian" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M512 192c247.4 0 448 143.3 448 320S759.4 832 512 832 64 688.7 64 512s200.6-320 448-320zm0 64c-54.2 0-106.6 7.5-155.9 22.4-46.6 14.1-88.3 34.1-123.7 59.4C165.1 385.9 128 447.8 128 512c0 64.2 37.1 126.1 104.4 174.2 35.4 25.3 77.1 45.3 123.7 59.4C405.4 760.5 457.8 768 512 768s106.6-7.5 155.9-22.4c46.6-14.1 88.3-34.1 123.7-59.4C858.9 638.1 896 576.2 896 512c0-64.2-37.1-126.1-104.4-174.2-35.4-25.3-77.1-45.3-123.7-59.4C618.6 263.5 566.2 256 512 256zm0 96c88.4 0 160 71.6 160 160s-71.6 160-160 160-160-71.6-160-160 71.6-160 160-160zm0 64c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96z"/></symbol></svg>';document.body?document.body.insertAdjacentHTML("afterbegin",A):document.addEventListener("DOMContentLoaded",function(){document.body.insertAdjacentHTML("afterbegin",A)})}()},86:(A,e,t)=>{var n=t(919);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[A.id,n,""]]),n.locals&&(A.exports=n.locals),(0,t(534).A)("31b80a08",n,!0,{})},89:(A,e,t)=>{"use strict";A.exports=t.p+"svg/iconcool.99d41d1a.svg"},106:A=>{"use strict";A.exports="data:font/ttf;base64,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"},314:A=>{"use strict";A.exports=function(A){var e=[];return e.toString=function(){return this.map(function(e){var t="",n=void 0!==e[5];return e[4]&&(t+="@supports (".concat(e[4],") {")),e[2]&&(t+="@media ".concat(e[2]," {")),n&&(t+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),t+=A(e),n&&(t+="}"),e[2]&&(t+="}"),e[4]&&(t+="}"),t}).join("")},e.i=function(A,t,n,i,o){"string"==typeof A&&(A=[[null,A,void 0]]);var l={};if(n)for(var s=0;s<this.length;s++){var a=this[s][0];null!=a&&(l[a]=!0)}for(var r=0;r<A.length;r++){var d=[].concat(A[r]);n&&l[d[0]]||(void 0!==o&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=o),t&&(d[2]&&(d[1]="@media ".concat(d[2]," {").concat(d[1],"}")),d[2]=t),i&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=i):d[4]="".concat(i)),e.push(d))}},e}},380:e=>{"use strict";e.exports=A},417:A=>{"use strict";A.exports=function(A,e){return(e||(e={}),A&&(A=String(A.__esModule?A.default:A),/^['"].*['"]$/.test(A)&&(A=A.slice(1,-1)),e.hash&&(A+=e.hash),/["'() \t\n]|(%20)/.test(A)||e.needQuotes))?'"'.concat(A.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):A}},472:A=>{"use strict";A.exports=e},534:(A,e,t)=>{"use strict";function n(A,e){for(var t=[],n={},i=0;i<e.length;i++){var o=e[i],l=o[0],s={id:A+":"+i,css:o[1],media:o[2],sourceMap:o[3]};n[l]?n[l].parts.push(s):t.push(n[l]={id:l,parts:[s]})}return t}t.d(e,{A:()=>g});var i="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!i)throw Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var o={},l=i&&(document.head||document.getElementsByTagName("head")[0]),s=null,a=0,r=!1,d=function(){},c=null,u="data-vue-ssr-id",B="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function g(A,e,t,i){r=t,c=i||{};var l=n(A,e);return h(l),function(e){for(var t=[],i=0;i<l.length;i++){var s=o[l[i].id];s.refs--,t.push(s)}e?h(l=n(A,e)):l=[];for(var i=0;i<t.length;i++){var s=t[i];if(0===s.refs){for(var a=0;a<s.parts.length;a++)s.parts[a]();delete o[s.id]}}}}function h(A){for(var e=0;e<A.length;e++){var t=A[e],n=o[t.id];if(n){n.refs++;for(var i=0;i<n.parts.length;i++)n.parts[i](t.parts[i]);for(;i<t.parts.length;i++)n.parts.push(m(t.parts[i]));n.parts.length>t.parts.length&&(n.parts.length=t.parts.length)}else{for(var l=[],i=0;i<t.parts.length;i++)l.push(m(t.parts[i]));o[t.id]={id:t.id,refs:1,parts:l}}}}function p(){var A=document.createElement("style");return A.type="text/css",l.appendChild(A),A}function m(A){var e,t,n=document.querySelector("style["+u+'~="'+A.id+'"]');if(n){if(r)return d;n.parentNode.removeChild(n)}if(B){var i=a++;e=f.bind(null,n=s||(s=p()),i,!1),t=f.bind(null,n,i,!0)}else e=v.bind(null,n=p()),t=function(){n.parentNode.removeChild(n)};return e(A),function(n){n?(n.css!==A.css||n.media!==A.media||n.sourceMap!==A.sourceMap)&&e(A=n):t()}}var E=function(){var A=[];return function(e,t){return A[e]=t,A.filter(Boolean).join("\n")}}();function f(A,e,t,n){var i=t?"":n.css;if(A.styleSheet)A.styleSheet.cssText=E(e,i);else{var o=document.createTextNode(i),l=A.childNodes;l[e]&&A.removeChild(l[e]),l.length?A.insertBefore(o,l[e]):A.appendChild(o)}}function v(A,e){var t=e.css,n=e.media,i=e.sourceMap;if(n&&A.setAttribute("media",n),c.ssrId&&A.setAttribute(u,e.id),i&&(t+="\n/*# sourceURL="+i.sources[0]+" */\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),A.styleSheet)A.styleSheet.cssText=t;else{for(;A.firstChild;)A.removeChild(A.firstChild);A.appendChild(document.createTextNode(t))}}},601:A=>{"use strict";A.exports=function(A){return A[1]}},802:A=>{"use strict";A.exports="data:font/woff;base64,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"},912:A=>{"use strict";A.exports="data:application/vnd.ms-fontobject;base64,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"},919:(A,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>E});var n=t(601),i=t.n(n),o=t(314),l=t.n(o),s=t(417),a=t.n(s),r=new URL(t(89),t.b),d=new URL(t(106),t.b),c=new URL(t(802),t.b),u=new URL(t(912),t.b),B=l()(i()),g=a()(r,{hash:"#iconcool"}),h=a()(d),p=a()(c),m=a()(u,{hash:"?#iefix"});B.push([A.id,`@font-face {
|
1
|
+
!function(A,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("vue"),require("bkui-vue")):"function"==typeof define&&define.amd?define(["vue","bkui-vue"],e):"object"==typeof exports?exports["ai-ui-sdk"]=e(require("vue"),require("bkui-vue")):A["ai-ui-sdk"]=e(A.vue,A["bkui-vue"])}("undefined"!=typeof self?self:this,(A,e)=>(()=>{var t={84:()=>{!function(){var A='<svg xmlns="http://www.w3.org/2000/svg" data-name="ai-ui-sdk" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0;visibility:hidden"><symbol id="ai-ui-sdk-angle-up" viewBox="0 0 32 32"><path fill="#63656e" d="M16 11.5l7 7-1.5 1.5-5.5-5.5-5.5 5.5L9 18.5l7-7z"/></symbol><symbol id="ai-ui-sdk-links" viewBox="0 0 1024 1024"><path d="M263.04 760.96a148.48 148.48 0 01-1.92-224l92.48-92.48-45.12-45.76L216 491.2a212.8 212.8 0 001.92 314.88A212.8 212.8 0 00532.8 808l92.48-92.48L579.84 672l-92.48 92.48a148.48 148.48 0 01-224.32-3.52zM491.2 216l-92.48 92.48 45.44 45.12 92.48-92.48a148.48 148.48 0 01224 1.92 148.48 148.48 0 011.92 224L672 579.84l45.12 45.44 92.48-92.48a212.8 212.8 0 00-1.92-314.88A212.8 212.8 0 00491.2 216z"/><path d="M398.786 579.888l181.019-181.02 45.255 45.255-181.02 181.02-45.254-45.255z"/></symbol><symbol id="ai-ui-sdk-zhishiku" viewBox="0 0 1024 1024"><path d="M320.986 203.315H191.622c-17.248 0-31.622 14.503-31.622 31.905v639.542c0 17.403 14.374 31.905 31.622 31.905h129.364c17.249 0 31.623-14.502 31.623-31.905V235.22c0-17.402-14.374-31.905-31.623-31.905zm-35.934 130.52h-57.495c-15.811 0-28.748-13.053-28.748-29.005 0-15.952 12.937-29.004 28.748-29.004h57.495c15.811 0 28.747 13.052 28.747 29.004 0 15.952-12.936 29.004-28.747 29.004zM578.277 96H448.913c-17.249 0-31.622 14.502-31.622 31.905v746.857c0 17.403 14.373 31.905 31.622 31.905h129.364c17.248 0 31.622-14.502 31.622-31.905V127.905C611.337 110.502 596.963 96 578.277 96zM543.78 227.969h-57.495c-15.811 0-28.748-13.052-28.748-29.004 0-15.952 12.937-29.004 28.748-29.004h57.495c15.811 0 28.747 13.052 28.747 29.004 0 15.952-12.936 29.004-28.747 29.004zm383.78 613.438l-120.74-627.94c-4.312-15.952-17.249-26.104-33.06-26.104h-5.75l-126.488 24.654c-17.249 2.9-28.748 20.303-25.873 37.705l122.177 629.39c2.875 15.953 15.811 26.104 31.622 26.104h5.75l126.489-24.653c17.248-4.35 28.748-21.753 25.873-39.156zM762.26 312.081l-57.495 11.602h-5.75c-12.936 0-25.872-10.152-28.747-23.204-2.875-15.952 7.187-31.904 22.998-34.805l57.495-11.601c15.811-2.9 31.623 7.25 34.497 23.203 2.875 15.952-7.187 31.905-22.998 34.805z"/></symbol><symbol id="ai-ui-sdk-sikao" viewBox="0 0 1024 1024"><path d="M528 96c61.856 0 112 50.144 112 112 0 .376-.002.751-.006 1.126C774.73 260.666 870.4 391.16 870.4 544c0 22.55-2.082 44.612-6.066 66.007C883.94 630.144 896 657.663 896 688c0 61.856-50.144 112-112 112a112.7 112.7 0 01-19.49-1.69C699.754 862.65 610.519 902.4 512 902.4s-187.753-39.75-252.539-104.088A112.33 112.33 0 01240 800c-61.856 0-112-50.144-112-112 0-30.337 12.061-57.856 31.65-78.025A361.172 361.172 0 01153.6 544c0-164.845 111.29-303.696 262.836-345.518C421.232 141.079 469.35 96 528 96zm-91.48 176.633l-4.469 1.278C315.47 308.366 230.4 416.249 230.4 544c0 10.923.622 21.7 1.832 32.3l1.623-.134L240 576c61.856 0 112 50.144 112 112 0 26.132-8.95 50.173-23.95 69.226C377.36 799.817 441.67 825.6 512 825.6c70.33 0 134.639-25.783 183.99-68.412C680.95 738.173 672 714.132 672 688c0-61.856 50.144-112 112-112 2.607 0 5.194.09 7.757.264A280.989 280.989 0 00793.6 544c0-119.973-75.025-222.422-180.718-262.99C592.35 304.904 561.938 320 528 320c-37.782 0-71.195-18.708-91.48-47.367z"/></symbol><symbol id="ai-ui-sdk-wenzhang" viewBox="0 0 1024 1024"><path fill="#3D4265" d="M708.923 157.538h275.692c21.752 0 39.385 17.634 39.385 39.385v748.308c0 43.503-35.266 78.769-78.77 78.769H708.924V157.538z"/><path fill="#3A84FF" d="M0 984.615A39.385 39.385 0 0039.385 1024H945.23c-43.503 0-78.77-35.266-78.77-78.77V39.386C866.462 17.633 848.829 0 827.078 0H39.385C17.633 0 0 17.633 0 39.385v945.23z"/><path fill="#FFF" d="M196.923 288.82c-21.751 0-39.385 17.634-39.385 39.385 0 21.752 17.634 39.385 39.385 39.385h157.539c21.751 0 39.384-17.633 39.384-39.385 0-21.751-17.633-39.384-39.384-39.384H196.923zm0 236.308c-21.751 0-39.385 17.633-39.385 39.385 0 21.751 17.634 39.384 39.385 39.384h472.615c21.752 0 39.385-17.633 39.385-39.384 0-21.752-17.633-39.385-39.385-39.385H196.923zm0 236.308c-21.751 0-39.385 17.633-39.385 39.385 0 21.751 17.634 39.384 39.385 39.384h236.308c21.751 0 39.384-17.633 39.384-39.384 0-21.752-17.633-39.385-39.384-39.385H196.923z"/></g></symbol><symbol id="ai-ui-sdk-yanjing-kejian" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M512 192c247.4 0 448 143.3 448 320S759.4 832 512 832 64 688.7 64 512s200.6-320 448-320zm0 64c-54.2 0-106.6 7.5-155.9 22.4-46.6 14.1-88.3 34.1-123.7 59.4C165.1 385.9 128 447.8 128 512c0 64.2 37.1 126.1 104.4 174.2 35.4 25.3 77.1 45.3 123.7 59.4C405.4 760.5 457.8 768 512 768s106.6-7.5 155.9-22.4c46.6-14.1 88.3-34.1 123.7-59.4C858.9 638.1 896 576.2 896 512c0-64.2-37.1-126.1-104.4-174.2-35.4-25.3-77.1-45.3-123.7-59.4C618.6 263.5 566.2 256 512 256zm0 96c88.4 0 160 71.6 160 160s-71.6 160-160 160-160-71.6-160-160 71.6-160 160-160zm0 64c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96z"/></symbol></svg>';document.body?document.body.insertAdjacentHTML("afterbegin",A):document.addEventListener("DOMContentLoaded",function(){document.body.insertAdjacentHTML("afterbegin",A)})}()},86:(A,e,t)=>{var n=t(919);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[A.id,n,""]]),n.locals&&(A.exports=n.locals),(0,t(534).A)("31b80a08",n,!0,{})},89:(A,e,t)=>{"use strict";A.exports=t.p+"svg/iconcool.99d41d1a.svg"},106:A=>{"use strict";A.exports="data:font/ttf;base64,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"},314:A=>{"use strict";A.exports=function(A){var e=[];return e.toString=function(){return this.map(function(e){var t="",n=void 0!==e[5];return e[4]&&(t+="@supports (".concat(e[4],") {")),e[2]&&(t+="@media ".concat(e[2]," {")),n&&(t+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),t+=A(e),n&&(t+="}"),e[2]&&(t+="}"),e[4]&&(t+="}"),t}).join("")},e.i=function(A,t,n,i,o){"string"==typeof A&&(A=[[null,A,void 0]]);var l={};if(n)for(var s=0;s<this.length;s++){var a=this[s][0];null!=a&&(l[a]=!0)}for(var r=0;r<A.length;r++){var d=[].concat(A[r]);n&&l[d[0]]||(void 0!==o&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=o),t&&(d[2]&&(d[1]="@media ".concat(d[2]," {").concat(d[1],"}")),d[2]=t),i&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=i):d[4]="".concat(i)),e.push(d))}},e}},380:e=>{"use strict";e.exports=A},417:A=>{"use strict";A.exports=function(A,e){return(e||(e={}),A&&(A=String(A.__esModule?A.default:A),/^['"].*['"]$/.test(A)&&(A=A.slice(1,-1)),e.hash&&(A+=e.hash),/["'() \t\n]|(%20)/.test(A)||e.needQuotes))?'"'.concat(A.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):A}},472:A=>{"use strict";A.exports=e},534:(A,e,t)=>{"use strict";function n(A,e){for(var t=[],n={},i=0;i<e.length;i++){var o=e[i],l=o[0],s={id:A+":"+i,css:o[1],media:o[2],sourceMap:o[3]};n[l]?n[l].parts.push(s):t.push(n[l]={id:l,parts:[s]})}return t}t.d(e,{A:()=>g});var i="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!i)throw Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var o={},l=i&&(document.head||document.getElementsByTagName("head")[0]),s=null,a=0,r=!1,d=function(){},c=null,u="data-vue-ssr-id",B="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function g(A,e,t,i){r=t,c=i||{};var l=n(A,e);return h(l),function(e){for(var t=[],i=0;i<l.length;i++){var s=o[l[i].id];s.refs--,t.push(s)}e?h(l=n(A,e)):l=[];for(var i=0;i<t.length;i++){var s=t[i];if(0===s.refs){for(var a=0;a<s.parts.length;a++)s.parts[a]();delete o[s.id]}}}}function h(A){for(var e=0;e<A.length;e++){var t=A[e],n=o[t.id];if(n){n.refs++;for(var i=0;i<n.parts.length;i++)n.parts[i](t.parts[i]);for(;i<t.parts.length;i++)n.parts.push(m(t.parts[i]));n.parts.length>t.parts.length&&(n.parts.length=t.parts.length)}else{for(var l=[],i=0;i<t.parts.length;i++)l.push(m(t.parts[i]));o[t.id]={id:t.id,refs:1,parts:l}}}}function p(){var A=document.createElement("style");return A.type="text/css",l.appendChild(A),A}function m(A){var e,t,n=document.querySelector("style["+u+'~="'+A.id+'"]');if(n){if(r)return d;n.parentNode.removeChild(n)}if(B){var i=a++;e=v.bind(null,n=s||(s=p()),i,!1),t=v.bind(null,n,i,!0)}else e=f.bind(null,n=p()),t=function(){n.parentNode.removeChild(n)};return e(A),function(n){n?(n.css!==A.css||n.media!==A.media||n.sourceMap!==A.sourceMap)&&e(A=n):t()}}var E=function(){var A=[];return function(e,t){return A[e]=t,A.filter(Boolean).join("\n")}}();function v(A,e,t,n){var i=t?"":n.css;if(A.styleSheet)A.styleSheet.cssText=E(e,i);else{var o=document.createTextNode(i),l=A.childNodes;l[e]&&A.removeChild(l[e]),l.length?A.insertBefore(o,l[e]):A.appendChild(o)}}function f(A,e){var t=e.css,n=e.media,i=e.sourceMap;if(n&&A.setAttribute("media",n),c.ssrId&&A.setAttribute(u,e.id),i&&(t+="\n/*# sourceURL="+i.sources[0]+" */\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),A.styleSheet)A.styleSheet.cssText=t;else{for(;A.firstChild;)A.removeChild(A.firstChild);A.appendChild(document.createTextNode(t))}}},601:A=>{"use strict";A.exports=function(A){return A[1]}},802:A=>{"use strict";A.exports="data:font/woff;base64,d09GRgABAAAAAAdgAAsAAAAACygAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kHdY21hcAAAAYAAAAB4AAABzMROkn5nbHlmAAAB+AAAAz0AAARkJ+qWnmhlYWQAAAU4AAAALwAAADYrGmdpaGhlYQAABWgAAAAcAAAAJAeKAzVobXR4AAAFhAAAABIAAAAgHGQAAGxvY2EAAAWYAAAAEgAAABIEKgL0bWF4cAAABawAAAAfAAAAIAEYAGZuYW1lAAAFzAAAAVcAAAKFkAhoC3Bvc3QAAAckAAAAOwAAAGco9+vJeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk7mWcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGBwYKh6yMev812GIYdZhuAIUZgTJAQD1ggtaeJzFkcsNxDAIRB/xJ1KUUva8Ba32sCW4XSpJBuPLVhCkZzRjkC0AGlDES1SwH0bER65Nv3BMv/KW7srGxvB+XdLDbWaV6K6v3FRR1blLdh4Le+7p/zjn+V1KU2Es9EVfxPR8S2IvXhLCq0nsyFsSe/OesN/vURUReJxVVM9v00gUfm+c2LTEjp3aM0mrprET20FNTJq0ttKKVJUqkHojt5YE0V5WWiEhQS+7SIUiDggQ0q44sdoDiN1zhdQLQuxeuCFx5sZ9o/0DEKG8qVm2xPabb773Pev9GAcQ4GgEbbCBASQdxy7bdaAfSsM+4CvI0kZooRYy+NA6OGjhq+OF3ArF/qVcY0+gBB1IAPyIxasYagaWUZT/wxFOaSLppZyaR4kXgzBiqpIIDbXSNE4Xh9HArWHNK/e3+nOD5pAvry2/o9VZWevy4gwpLjWHbtV35y4O+jcPm4cdhxR82BzMUUTZo1h30BiUSjjDlgfRsEgvLX0v8bH2+TpFgkp5P1WesbeQhxmYp8w3YJOqrBroWDYXnR4mVoRa1QsW4xVsc1v1q56qWVQB+ZasODjpQyXCeaRCxVQZV5CqCxWtGmEYUAPiMqoaru0bhYKxrxcQCwtd3TT1bs40sZQyOnmJXyYqJw3u/pSxcuqeYbCfGYFbuoF/dtVJU2E6CeyMnmPbFDa+nYYzWu9YRYvufwvG2PnK/mMU7qbs+De2mzNKimOMH+SMYoYb9FrUJ3M2yzG9NEWDpOkf/aHcpp74cIF6QaU69NhaGR0DNS800AtCVZa1GCfBUk/WmUdy2aJDQpWEbXKE5OjESyQzkHrEzNYq/rCHat7C1dbkRHv/8X57YpJIK6+yX25ke1F28xpjp4hB4V/+8bIvkJSnGNu5aM5Pz55lb2mLZ17sepV8XZCMLSTJAiNS1PMVb++l1+ge4Myv29S31VZ9tlKrVWbrpDPNSw8rBWca5Ak+amRAacAEnVQfFuAcVei2uWNR/lXf5h2XErYWg6rrqY7w1PQQ0J6mStg9PrBZiWnkMWH2Bm1TYMMbjVeEqdx3m8itTyNTvLE4t37/ZvC9KYT5OZR4JA17xK2x7TUwPA5X7kv/R+5xRDIj5K5EZEZyL3mAjPxGlb/ZVTgNNWhBN50P5U5Z91B4mprmSVc7idPPiy7tpEgKZOoMXo+z2fHr1PY3zsftmO7zG8//h/31Lca21lN7Jo77ccyuKof37h0qx/Yc50Ftc2ezFnB+Al75FrO+1UMZ1Y/pb+ILLOK6uQAAAHicY2BkYGAA4ugk77nx/DZfGbhZGEDg8d9JXAj6vw4LA7MOkMvBwAQSBQAeEQm2AHicY2BkYGDW+a/DEMPCAAJAkpEBFXAAADNeAcl4nGNhAIIUBgYWBuwYAAx8AIEAAAAAAAAADAAeAHoBBAFyAdICMgAAeJxjYGRgYOBgiGJgYwABJiDmAkIGhv9gPgMAEnYBfwB4nGWRu27CQBRExzzyAClCiZQmirRN0hDMQ6lQOiQoI1HQG7MGI7+0XpBIlw/Id+UT0qXLJ6TPYK4bxyvvnjszd30lA7jGNxycnnu+J3ZwwerENZzjQbhO/Um4QX4WbqKNF+Ez6jPhFrp4FW7jBm+8wWlcshrjQ9hBB5/CNVzhS7hO/Ue4Qf4VbuLWaQqfoePcCbewcLrCbTw67y2lJkZ7Vq/U8qCCNLE93zMm1IZO6KfJUZrr9S7yTFmW50KbPEwTNXQHpTTTiTblbfl+PbI2UIFJYzWlq6MoVZlJt9q37sbabNzvB6K7fhpzPMU1gYGGB8t9xXqJA/cAKRJqPfj0DFdI30hPSPXol6k5vTV2iIps1a3Wi+KmnPqxVhjCxeBfasZUUiSrs+XY82sjqpbp46yGPTFpKr2ak0RkhazwtlR86i42RVfGn93nCip5t5gh/gPYnXLBAHicY2BigAAuBuyAg5GJkZmRhZGVkY2RnZGDkZOBsYK9NC/T1dDAGEqbQmkTKG0EpQ2htBkDAwCH5w3NAA=="},912:A=>{"use strict";A.exports="data:application/vnd.ms-fontobject;base64,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"},919:(A,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>E});var n=t(601),i=t.n(n),o=t(314),l=t.n(o),s=t(417),a=t.n(s),r=new URL(t(89),t.b),d=new URL(t(106),t.b),c=new URL(t(802),t.b),u=new URL(t(912),t.b),B=l()(i()),g=a()(r,{hash:"#iconcool"}),h=a()(d),p=a()(c),m=a()(u,{hash:"?#iefix"});B.push([A.id,`@font-face {
|
2
2
|
font-family: "ai-ui-sdk";
|
3
3
|
src: url(${g}) format("svg"),
|
4
4
|
url(${h}) format("truetype"),
|
@@ -50,12 +50,12 @@ url(${m}) format("embedded-opentype");
|
|
50
50
|
找到 ${A.length} 篇资料参考
|
51
51
|
<i class="ai-ui-sdk-icon ai-ui-sdk-angle-up"></i>
|
52
52
|
</section>
|
53
|
-
<ul class="knowledge-body">`;return A.forEach(A=>{let{path:t,file_path:n,preview_path:
|
53
|
+
<ul class="knowledge-body">`;return A.forEach(A=>{let{path:t,file_path:n,display_name:i,preview_path:o}=A.metadata,l=i||n.split("/").pop();e+=`<li
|
54
54
|
class="knowledge-item"
|
55
55
|
>
|
56
56
|
<i class="ai-ui-sdk-icon ai-ui-sdk-zhishiku"></i>
|
57
|
-
<a href="${
|
58
|
-
${
|
57
|
+
<a href="${o}" title="${l} (${o})" target="_blank" class="knowledge-link g-flex-truncate">
|
58
|
+
${l}
|
59
59
|
</a>
|
60
60
|
<a href="${t}" title="预览原文" target="_blank" class="knowledge-link hover-show">
|
61
61
|
<i class="ai-ui-sdk-icon ai-ui-sdk-yanjing-kejian"></i>
|
@@ -193,7 +193,7 @@ url(${m}) format("embedded-opentype");
|
|
193
193
|
</section>
|
194
194
|
<section class="think-body">
|
195
195
|
${e}
|
196
|
-
</section>`;return n&&(i=i.replace("思考中...",`已完成思考 (耗时:${function(A){let e=Math.floor(A/36e5),t=Math.floor(A%36e5/6e4),n=Math.floor(A%6e4/1e3),i=A%1e3,o=[];return e>0&&o.push(`${e}h`),t>0&&o.push(`${t}min`),n>0&&o.push(`${n}s`),i>0&&o.push(`${i.toFixed(2)}ms`),o.join(" ")}(n)})`)),i},m=A=>{let e=A.replace(/<section class="think-head click-close">[\s\S]*<\/section>/,"").replace(/<section class="think-body">[\s\S]*<\/section>/,"");if(""===e.trim()){let t=A.match(/<section class="think-body">([\s\S]*?)<\/section>/);t&&([,e]=t)}return e},E=A=>{let e="正在思考..."===A,t=A.match(/<section class="think-body">([\s\S]*?)<\/section>$/),n=t&&""===t[1].trim();return e||n},
|
196
|
+
</section>`;return n&&(i=i.replace("思考中...",`已完成思考 (耗时:${function(A){let e=Math.floor(A/36e5),t=Math.floor(A%36e5/6e4),n=Math.floor(A%6e4/1e3),i=A%1e3,o=[];return e>0&&o.push(`${e}h`),t>0&&o.push(`${t}min`),n>0&&o.push(`${n}s`),i>0&&o.push(`${i.toFixed(2)}ms`),o.join(" ")}(n)})`)),i},m=A=>{let e=A.replace(/<section class="think-head click-close">[\s\S]*<\/section>/,"").replace(/<section class="think-body">[\s\S]*<\/section>/,"");if(""===e.trim()){let t=A.match(/<section class="think-body">([\s\S]*?)<\/section>/);t&&([,e]=t)}return e},E=A=>{let e="正在思考..."===A,t=A.match(/<section class="think-body">([\s\S]*?)<\/section>$/),n=t&&""===t[1].trim();return e||n},v=()=>{let A=null,e=()=>{let e=`.think-head {
|
197
197
|
display: flex;
|
198
198
|
align-items: center;
|
199
199
|
padding: 0 8px 0 6px;
|
@@ -241,6 +241,6 @@ url(${m}) format("embedded-opentype");
|
|
241
241
|
&~ .knowledge-head {
|
242
242
|
margin-bottom: 8px;
|
243
243
|
}
|
244
|
-
}`;(A=document.createElement("style")).textContent=e,document.head.appendChild(A)},t=()=>{A&&(A.remove(),A=null)};(0,a.onBeforeMount)(()=>{e()}),(0,a.onBeforeUnmount)(()=>{t()})};function
|
244
|
+
}`;(A=document.createElement("style")).textContent=e,document.head.appendChild(A)},t=()=>{A&&(A.remove(),A=null)};(0,a.onBeforeMount)(()=>{e()}),(0,a.onBeforeUnmount)(()=>{t()})};function f(A,e,t,n,i,o,l){try{var s=A[o](l),a=s.value}catch(A){t(A);return}s.done?e(a):Promise.resolve(a).then(n,i)}function Q(A){return function(){var e=this,t=arguments;return new Promise(function(n,i){var o=A.apply(e,t);function l(A){f(o,n,i,l,s,"next",A)}function s(A){f(o,n,i,l,s,"throw",A)}l(void 0)})}}function w(A,e,t){return e in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}class b{stream({sessionCode:A,url:e,headers:t,data:n}){var i=this;return Q(function*(){var o,l;yield null===(o=i.handleStart)||void 0===o?void 0:o.call(i,A);let s=new AbortController;i.controllerMap[A]=s,fetch(e,{method:"post",signal:s.signal,headers:function(A){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(A){return Object.getOwnPropertyDescriptor(t,A).enumerable}))),n.forEach(function(e){w(A,e,t[e])})}return A}({"Content-Type":"application/json"},t),mode:"cors",credentials:"include",body:JSON.stringify(n)}).then((l=Q(function*(e){let t=e.body.pipeThrough(new window.TextDecoderStream).getReader(),n="";for(;;)try{let{value:o,done:l}=yield t.read();if(!e.ok){i.handleError(A,o||e.statusText,e.status);break}if(l){i.handleEnd(A);break}(n+o.toString()).split("\n").forEach(t=>{let o=t.replace("data:","").trim();if(d(o)){var l,s;let{event:t,content:a,cover:r,documents:d,result:c,code:u,elapsed_time:B,message:g}=JSON.parse(o);if(!1===c||200!==e.status){i.handleError(A,g||"模型调用失败",u);return}switch(t){case"text":i.handleText(A,a,r);break;case"reference_doc":null===(l=i.handleReferenceDoc)||void 0===l||l.call(i,A,d,r);break;case"think":null===(s=i.handleThink)||void 0===s||s.call(i,A,a,r,B);break;case"done":i.handleEnd(A,r?a:"");break;case"error":i.handleError(A,g||"模型调用失败",u)}n=""}else o&&(n=o)})}catch(e){(null==e?void 0:e.code)!==20&&i.handleError(A,`模型调用失败:${e.message}`,e.code);break}}),function(A){return l.apply(this,arguments)}))})()}stop(A){var e,t;return null===(t=this.controllerMap[A])||void 0===t||null===(e=t.abort)||void 0===e||e.call(t),this.handleEnd(A)}constructor({handleStart:A,handleText:e,handleReferenceDoc:t,handleThink:n,handleEnd:i,handleError:o}){w(this,"handleStart",void 0),w(this,"handleText",void 0),w(this,"handleReferenceDoc",void 0),w(this,"handleThink",void 0),w(this,"handleEnd",void 0),w(this,"handleError",void 0),w(this,"controllerMap",void 0),this.handleStart=A,this.handleText=e,this.handleReferenceDoc=t,this.handleThink=n,this.handleEnd=i,this.handleError=o,this.controllerMap={}}}let k=({handleStart:A,handleText:i,handleReferenceDoc:o,handleThink:l,handleEnd:r,handleError:d,requestOptions:c}={})=>{let u="内容正在生成中...",h=(0,a.ref)(),v=(0,a.ref)({}),f=(0,a.ref)([]),Q={};null==c||c.url,null==c||c.headers;let w=(0,a.computed)(()=>{let A=[];for(let n=f.value.length-1;n>=0;n--){let i=f.value[n],o=n+1,l=f.value[o];for(;l&&![t.Ai,t.TokenExpired,t.ImageNotSupported,t.Pause,t.Guide].includes(l.role);)o+=1,l=f.value[o];if(i.role===t.System)break;i.status===e.Fail||(null==l?void 0:l.status)===e.Fail&&[t.User,t.UserImage].includes(i.role)||[t.Time,t.System].includes(i.role)||A.unshift(i)}return A}),k=(0,a.computed)(()=>{var A;let e=null===(A=h.value)||void 0===A?void 0:A.sessionCode;return!!e&&v.value[e]}),C=(0,a.computed)(()=>{var A,e,n;let i=[],o=[],l=[],a=f.value.findLastIndex(A=>A.role===t.System&&["已启用角色","已启用模型"].some(e=>A.content.includes(e))),r=0;null===(n=h.value)||void 0===n||null===(e=n.roleInfo)||void 0===e||null===(A=e.content)||void 0===A||A.forEach(A=>{let e=f.value[a+1+r],n=f.value[a+2+r];if((null==e?void 0:e.content)===A.content&&e.role!==t.System&&(i.push(s(e)),r+=1,(null==e?void 0:e.role)===t.Pause)){for(;n&&n.role===t.System;)r+=1,n=f.value[a+1+r];for(;n&&[t.User,t.UserImage].includes(n.role);)i.push(s(n)),r+=1,n=f.value[a+1+r]}}),o.push(...w.value.map(s));let d=A=>{let e=!0;for(let n=A;n<i.length;n++){var t;i[n].content!==(null===(t=o[n-A])||void 0===t?void 0:t.content)&&(e=!1)}return e};for(let A=0;A<i.length;A++){let e=i[A];if(d(A))break;l.push(e)}return l.push(...o),l.forEach(A=>{A.content=m(A.content),A.content=g(A.content)}),l}),y=new b({handleStart:R,handleText:function(A,t,n){let o=I(A);if(o.content===u)o.content=t;else{if(o.status!==e.Loading)return;o.content=n?t:o.content+t}return null==i?void 0:i(A,o)},handleReferenceDoc:function(A,e,t){let n=I(A),i=B(e);return n.content=t?i:n.content+i,null==o?void 0:o(A,n)},handleThink:function(A,e,t,n){let i=I(A);return i.content=p(i.content,e,t,n),null==l?void 0:l(A,i)},handleEnd:function(A,t){let n=I(A);if(n.status===e.Loading)return v.value[A]=!1,t&&(n.content=t),n.status=e.Success,null==r?void 0:r(A,n);(n.content===u||E(n.content))&&D(A,"聊天内容已中断")},handleError:D});function I(A){var e,t;return(null===(e=h.value)||void 0===e?void 0:e.sessionCode)===A?f.value.at(-1):null===(t=Q[A])||void 0===t?void 0:t.at(-1)}function G(A){var e;return(null===(e=h.value)||void 0===e?void 0:e.sessionCode)===A?f.value:Q[A]}function x(A,e){G(A).push(e)}function Y(A,e,n){var i;let o=(null===(i=h.value)||void 0===i?void 0:i.sessionCode)===A?f.value:Q[A],l=[];return e.forEach(A=>{let e=o.findIndex(e=>e.id===A);if(e>-1){let i=o[e-1],s=o[e+1],a=o[e+2];if(o.splice(e,1),l.push(A),[t.Hidden].includes(null==i?void 0:i.role)){let A=o.findIndex(A=>A.id===i.id);o.splice(A,1),l.push(i.id)}if((null==s?void 0:s.role)===t.Ai||n&&[t.Ai,t.Guide,t.TokenExpired,t.ImageNotSupported,t.Pause].includes(null==s?void 0:s.role)){let A=o.findIndex(A=>A.id===s.id);o.splice(A,1),l.push(s.id)}if([t.Guide].includes(null==a?void 0:a.role)&&n){let A=o.findIndex(A=>A.id===a.id);o.splice(A,1),l.push(a.id)}}}),l}function R(n){v.value[n]=!0;let i={sessionCode:n,role:t.Ai,status:e.Loading,content:u};return x(n,i),null==A?void 0:A(n,i)}function D(A,i,o){let l=I(A);return l.status=e.Fail,l.content=i,v.value[A]=!1,o===n.TokenExpired&&(l.content="抱歉,您的剩余 Token 不足,无法返回回答内容,请先清空当前会话(上下文仍会作为历史记录保留))",l.role=t.TokenExpired),o===n.ImageNotSupported&&(l.content="抱歉,当前模型不支持图片内容解析",l.role=t.ImageNotSupported),null==d?void 0:d(A,l,o)}function F(A,n){var i,o,l;(null===(i=h.value)||void 0===i?void 0:i.sessionCode)&&(null==c?void 0:c.url)&&!k.value&&(f.value.push({sessionCode:null===(o=h.value)||void 0===o?void 0:o.sessionCode,content:A,role:t.User,status:e.Success}),y.stream({sessionCode:null===(l=h.value)||void 0===l?void 0:l.sessionCode,url:c.url,headers:null==c?void 0:c.headers,data:{inputs:{chat_history:C.value.slice(0,C.value.length-1),input:A}}}),null==n||n())}return{currentSession:h,sessionContents:f,sessionContentsMap:Q,sessionLoadingMap:v,prompts:C,currentSessionLoading:k,chat:function({sessionCode:A,data:e,url:t,headers:n}){y.stream({sessionCode:A,url:t,data:e,headers:n||(null==c?void 0:c.headers)})},sendChat:F,stopChat:function(A){y.stop(A)},plusSessionContent:x,updateSessionContent:function(A){var e;let t=((null===(e=h.value)||void 0===e?void 0:e.sessionCode)===A.sessionCode?f.value:Q[A.sessionCode]).find(e=>+(e.id||0)==+(A.id||0));t&&Object.assign(t,A)},getSessionContentById:function(A,e){return G(e).find(e=>e.id===A)},getLastSessionContentBySessionCode:I,getSessionContentsBySessionCode:G,setCurrentSession:function(A){h.value=A,(null==A?void 0:A.sessionCode)&&(Q[A.sessionCode]||(Q[A.sessionCode]=[]),f.value=Q[A.sessionCode])},setSessionContents:function(A){h.value&&(Q[h.value.sessionCode]=A,f.value=A)},deleteSessionContent:function(A,e){return Y(A,[e],!0)},deleteSessionContents:function(A,e){return Y(A,e,!1)},handleStartChat:R,handleErrorChat:D,reGenerateChat:function(A){if(f.value[A].role!==t.Ai)return;let e=f.value[A-1].content;f.value.splice(A-1,2),F(e)}}},C=({handleStart:e,handleEnd:t,handleError:n}={})=>{let i="",o=new b({handleStart:()=>(i="",null==e?void 0:e()),handleText:(A,e,t)=>{t||"正在思考..."===i?i=e:i+=e},handleEnd:()=>("无话可说"===i&&(i=""),null==t?void 0:t(i)),handleError:(A,e,t)=>null==n?void 0:n(e,t)});return{summary:({content:e,url:t,headers:n,model:i})=>{let l=m(g(e)),s=[{role:A.User,content:`你是一个总结大师,请帮助我对下面这段话进行总结。要求总结精炼,不超过 15 个字!且末尾没有标点符号!请注意:如果你无法总结,请回复“无话可说”!
|
245
245
|
文字如下:
|
246
|
-
${l}`}];o.stream({sessionCode:"summary",url:t,data:{prompts:s,model:i},headers:n})}}},y=()=>{i(86),i(84),h(),
|
246
|
+
${l}`}];o.stream({sessionCode:"summary",url:t,data:{prompts:s,model:i},headers:n})}}},y=()=>{i(86),i(84),h(),v()},I=l.default;if("undefined"!=typeof window){let{currentScript:A}=window.document,e=A&&A.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);e&&(i.p=e[1])}})(),o})());
|
package/dist/types/type.d.ts
CHANGED
@@ -4,6 +4,7 @@ export type Document = {
|
|
4
4
|
file_path: string;
|
5
5
|
path: string;
|
6
6
|
preview_path: string;
|
7
|
+
display_name: string;
|
7
8
|
};
|
8
9
|
};
|
9
10
|
export interface ISession<IVariable = object, ISessionProperty = object, ITool = object, IAnchorPathResources = object> {
|
@@ -45,6 +46,10 @@ export interface ChatCallbacks {
|
|
45
46
|
handleThink?: (sessionCode: string, sessionContent: ISessionContent) => void;
|
46
47
|
handleEnd?: (sessionCode: string, sessionContent: ISessionContent) => void;
|
47
48
|
handleError?: (sessionCode: string, sessionContent: ISessionContent, code: string | undefined) => void;
|
49
|
+
requestOptions?: {
|
50
|
+
url: string;
|
51
|
+
headers?: Record<string, string>;
|
52
|
+
};
|
48
53
|
}
|
49
54
|
export interface SummaryCallbacks {
|
50
55
|
handleStart?: () => void;
|