@blueking/ai-blueking 0.2.0-beta.2 → 0.2.0-beta.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 +16 -14
- package/dist/types/enum.d.ts +5 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/vue2/index.es.min.js +4229 -4228
- package/dist/vue2/index.iife.min.js +35 -35
- package/dist/vue2/index.umd.min.js +30 -30
- package/dist/vue2.d.ts +1 -1
- package/dist/vue3/index.es.min.js +2707 -2706
- package/dist/vue3/index.iife.min.js +29 -29
- package/dist/vue3/index.umd.min.js +11 -11
- package/dist/vue3.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,8 +23,7 @@ npm i @blueking/ai-blueking
|
|
|
23
23
|
|
|
24
24
|
<script lang="ts" setup>
|
|
25
25
|
import { ref } from 'vue';
|
|
26
|
-
import AIBlueking from '@blueking/ai-blueking';
|
|
27
|
-
import { ChatHelper } from '@blueking/ai-blueking/dist/chat-helper';
|
|
26
|
+
import AIBlueking, { ChatHelper, RoleType, MessageStatus } from '@blueking/ai-blueking';
|
|
28
27
|
import '@blueking/ai-blueking/dist/vue3/style.css';
|
|
29
28
|
|
|
30
29
|
const loading = ref(false);
|
|
@@ -34,20 +33,20 @@ npm i @blueking/ai-blueking
|
|
|
34
33
|
const handleStart = (id: number | string) => {
|
|
35
34
|
loading.value = true;
|
|
36
35
|
messages.value.push({
|
|
37
|
-
role:
|
|
36
|
+
role: RoleType.Assistant,
|
|
38
37
|
content: '内容正在生成中...',
|
|
39
|
-
status:
|
|
38
|
+
status: MessageStatus.Loading,
|
|
40
39
|
});
|
|
41
40
|
};
|
|
42
41
|
|
|
43
42
|
// 接收消息
|
|
44
43
|
const handleReceiveMessage = (message: string, id: number | string) => {
|
|
45
44
|
const currentMessage = messages.value.at(-1);
|
|
46
|
-
if (currentMessage.status ===
|
|
45
|
+
if (currentMessage.status === MessageStatus.Loading) {
|
|
47
46
|
// 如果是loading状态,直接覆盖
|
|
48
47
|
currentMessage.content = message;
|
|
49
|
-
currentMessage.status =
|
|
50
|
-
} else if (currentMessage.status ===
|
|
48
|
+
currentMessage.status = MessageStatus.Success;
|
|
49
|
+
} else if (currentMessage.status === MessageStatus.Success) {
|
|
51
50
|
// 如果是后续消息,就追加消息
|
|
52
51
|
currentMessage.content += message;
|
|
53
52
|
}
|
|
@@ -58,13 +57,13 @@ npm i @blueking/ai-blueking
|
|
|
58
57
|
loading.value = false;
|
|
59
58
|
const currentMessage = messages.value.at(-1);
|
|
60
59
|
// loading 情况下终止
|
|
61
|
-
if (currentMessage.status ===
|
|
60
|
+
if (currentMessage.status === MessageStatus.Loading) {
|
|
62
61
|
currentMessage.content = '聊天内容已中断';
|
|
63
62
|
}
|
|
64
63
|
};
|
|
65
64
|
|
|
66
65
|
// 错误处理
|
|
67
|
-
const handleError = (message: string, code: string, id: number | string) => {
|
|
66
|
+
const handleError = (message: string, code: string | number, id: number | string) => {
|
|
68
67
|
if (message.includes('user authentication failed')) {
|
|
69
68
|
// 未登录,跳转登录
|
|
70
69
|
const loginUrl = new URL(process.env.BK_LOGIN_URL);
|
|
@@ -73,13 +72,12 @@ npm i @blueking/ai-blueking
|
|
|
73
72
|
} else {
|
|
74
73
|
// 处理错误消息
|
|
75
74
|
const currentMessage = messages.value.at(-1);
|
|
76
|
-
currentMessage.status =
|
|
75
|
+
currentMessage.status = MessageStatus.Error;
|
|
77
76
|
currentMessage.content = message;
|
|
78
77
|
loading.value = false;
|
|
79
78
|
}
|
|
80
79
|
};
|
|
81
80
|
|
|
82
|
-
// 需要将 <网关名> 替换成插件部署后生成的网关名
|
|
83
81
|
const prefix = process.env.BK_API_URL_TMPL.replace('{api_name}', '<网关名>').replace('http', 'https');
|
|
84
82
|
const chatHelper = new ChatHelper(
|
|
85
83
|
`${prefix}/prod/bk_plugin/plugin_api/assistant/`,
|
|
@@ -148,7 +146,7 @@ npm i @blueking/ai-blueking
|
|
|
148
146
|
<script setup lang="ts">
|
|
149
147
|
import { ref } from 'vue';
|
|
150
148
|
|
|
151
|
-
import AIBlueking, { type IPrompt, type IMessage, RoleType } from '@blueking/ai-blueking';
|
|
149
|
+
import AIBlueking, { type IPrompt, type IMessage, RoleType, MessageStatus } from '@blueking/ai-blueking';
|
|
152
150
|
|
|
153
151
|
import '@blueking/ai-blueking/dist/vue3/style.css';
|
|
154
152
|
|
|
@@ -163,7 +161,7 @@ npm i @blueking/ai-blueking
|
|
|
163
161
|
content: '1+1=3',
|
|
164
162
|
time: '2024-08-07 14:29',
|
|
165
163
|
role: RoleType.Assistant,
|
|
166
|
-
status:
|
|
164
|
+
status: MessageStatus.Error,
|
|
167
165
|
},
|
|
168
166
|
{
|
|
169
167
|
content: '不对',
|
|
@@ -174,7 +172,7 @@ npm i @blueking/ai-blueking
|
|
|
174
172
|
content: '1+1=2',
|
|
175
173
|
time: '2024-08-12 09:31',
|
|
176
174
|
role: RoleType.Assistant,
|
|
177
|
-
status:
|
|
175
|
+
status: MessageStatus.Loading,
|
|
178
176
|
},
|
|
179
177
|
{
|
|
180
178
|
content: '对了',
|
|
@@ -298,6 +296,7 @@ npm i @blueking/bkui-library
|
|
|
298
296
|
@close="handleClose"
|
|
299
297
|
@send="handleSend"
|
|
300
298
|
@scroll="handleScroll"
|
|
299
|
+
@stop="handleStop"
|
|
301
300
|
/>
|
|
302
301
|
</template>
|
|
303
302
|
<script lang="ts">
|
|
@@ -391,6 +390,9 @@ npm i @blueking/bkui-library
|
|
|
391
390
|
handleScroll(event: Event) {
|
|
392
391
|
console.log('trigger scroll', event);
|
|
393
392
|
},
|
|
393
|
+
handleStop() {
|
|
394
|
+
console.log('trigger stop');
|
|
395
|
+
},
|
|
394
396
|
},
|
|
395
397
|
};
|
|
396
398
|
</script>
|
package/dist/types/enum.d.ts
CHANGED
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { RoleType } from './enum';
|
|
1
|
+
import { RoleType, MessageStatus } from './enum';
|
|
2
2
|
export interface IMessage extends IChatHistory {
|
|
3
|
-
status?:
|
|
3
|
+
status?: MessageStatus;
|
|
4
4
|
time?: number | string;
|
|
5
5
|
}
|
|
6
6
|
export interface IPrompt {
|