byt-lingxiao-ai 0.2.6 → 0.2.7
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/components/ChatWindow.vue +21 -38
- package/components/ChatWindowHeader.vue +1 -4
- package/components/mixins/webSocketMixin.js +13 -7
- package/dist/index.common.js +52 -76
- package/dist/index.common.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.umd.js +52 -76
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/dist/index.umd.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -68,24 +68,7 @@ export default {
|
|
|
68
68
|
audioSrc: '/minio/lingxiaoai/byt.mp3',
|
|
69
69
|
inputMessage: '',
|
|
70
70
|
visible: false,
|
|
71
|
-
messages: [
|
|
72
|
-
{
|
|
73
|
-
id: 1,
|
|
74
|
-
type: 'user',
|
|
75
|
-
sender: '',
|
|
76
|
-
time: '',
|
|
77
|
-
content: '你好,欢迎来到凌霄大模型AI对话。',
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
id: 2,
|
|
81
|
-
type: 'ai',
|
|
82
|
-
sender: 'AI',
|
|
83
|
-
time: '',
|
|
84
|
-
thinking: '嗯,用户问的是回转窑的工业应用。首先,我需要回忆一下之前对话的内容。用户之前让我解释了水泥的制作流程,特别是提到了回转窑在高温煅烧熟料中的作用。',
|
|
85
|
-
charts: [{ title: '', options: {} }],
|
|
86
|
-
content: '回转窑(Rotary Kiln)是一种长筒形旋转煅烧设备(类似倾斜安装的大管子),因其独特的旋转运动和高温耐火衬里设计,在多个工业领域都有广泛应用',
|
|
87
|
-
}
|
|
88
|
-
],
|
|
71
|
+
messages: [],
|
|
89
72
|
robotStatus: 'leaving',
|
|
90
73
|
avaterStatus: 'normal',
|
|
91
74
|
currentMessage: null,
|
|
@@ -134,27 +117,27 @@ export default {
|
|
|
134
117
|
this.jumpedTimePoints = new Set()
|
|
135
118
|
}
|
|
136
119
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
120
|
+
fetch('/minio/lingxiaoai/timeJumpPoints.json')
|
|
121
|
+
.then(response => response.json())
|
|
122
|
+
.then(data => {
|
|
123
|
+
console.log('时间跳转点:', data)
|
|
124
|
+
data.forEach(point => {
|
|
125
|
+
if (currentTime >= point.time && currentTime < point.time + 0.5 && !this.jumpedTimePoints.has(point.time)) {
|
|
126
|
+
this.jumpedTimePoints.add(point.time)
|
|
127
|
+
this.$appOptions.store.dispatch('tags/addTagview', {
|
|
128
|
+
path: point.url,
|
|
129
|
+
fullPath: point.url,
|
|
130
|
+
label: point.title,
|
|
131
|
+
name: point.title,
|
|
132
|
+
meta: { title: point.title },
|
|
133
|
+
query: {},
|
|
134
|
+
params: {}
|
|
135
|
+
})
|
|
136
|
+
this.$appOptions.router.push({ path: point.url })
|
|
137
|
+
}
|
|
154
138
|
})
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
})
|
|
139
|
+
})
|
|
140
|
+
.catch(error => console.error('获取时间跳转点失败:', error))
|
|
158
141
|
},
|
|
159
142
|
onAudioEnded() {
|
|
160
143
|
this.robotStatus = 'leaving'
|
|
@@ -3,7 +3,9 @@ export default {
|
|
|
3
3
|
return {
|
|
4
4
|
ws: null,
|
|
5
5
|
wsUrl: 'ws://192.168.8.9:9999/ai_model/ws/voice-stream',
|
|
6
|
-
isConnected: false
|
|
6
|
+
isConnected: false,
|
|
7
|
+
reconnectCount: 0, // 重连尝试次数
|
|
8
|
+
maxReconnectAttempts: 3 // 最大重连尝试次数
|
|
7
9
|
}
|
|
8
10
|
},
|
|
9
11
|
methods: {
|
|
@@ -48,12 +50,16 @@ export default {
|
|
|
48
50
|
if (this.isRecording) {
|
|
49
51
|
this.stopRecording();
|
|
50
52
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
this.reconnectCount++;
|
|
54
|
+
console.log(`已尝试重连 ${this.reconnectCount} 次`);
|
|
55
|
+
if (this.reconnectCount <= this.maxReconnectAttempts) {
|
|
56
|
+
setTimeout(() => {
|
|
57
|
+
console.log('尝试重新建立连接');
|
|
58
|
+
if (!this.isConnected) {
|
|
59
|
+
this.initWebSocket();
|
|
60
|
+
}
|
|
61
|
+
}, 3000);
|
|
62
|
+
}
|
|
57
63
|
};
|
|
58
64
|
|
|
59
65
|
this.ws.onerror = (error) => {
|
package/dist/index.common.js
CHANGED
|
@@ -3746,7 +3746,7 @@ if (typeof window !== 'undefined') {
|
|
|
3746
3746
|
var es_iterator_constructor = __webpack_require__(8111);
|
|
3747
3747
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
|
|
3748
3748
|
var es_iterator_for_each = __webpack_require__(7588);
|
|
3749
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindow.vue?vue&type=template&id=
|
|
3749
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindow.vue?vue&type=template&id=5792943c&scoped=true
|
|
3750
3750
|
var render = function render() {
|
|
3751
3751
|
var _vm = this,
|
|
3752
3752
|
_c = _vm._self._c;
|
|
@@ -4088,8 +4088,8 @@ var ChatWindowDialogvue_type_template_id_5eca994a_scoped_true_render = function
|
|
|
4088
4088
|
};
|
|
4089
4089
|
var ChatWindowDialogvue_type_template_id_5eca994a_scoped_true_staticRenderFns = [];
|
|
4090
4090
|
|
|
4091
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindowHeader.vue?vue&type=template&id=
|
|
4092
|
-
var
|
|
4091
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindowHeader.vue?vue&type=template&id=1cff0e3b&scoped=true
|
|
4092
|
+
var ChatWindowHeadervue_type_template_id_1cff0e3b_scoped_true_render = function render() {
|
|
4093
4093
|
var _vm = this,
|
|
4094
4094
|
_c = _vm._self._c;
|
|
4095
4095
|
return _c('div', {
|
|
@@ -4174,26 +4174,23 @@ var ChatWindowHeadervue_type_template_id_6518e4ca_scoped_true_render = function
|
|
|
4174
4174
|
}
|
|
4175
4175
|
})])])]);
|
|
4176
4176
|
};
|
|
4177
|
-
var
|
|
4177
|
+
var ChatWindowHeadervue_type_template_id_1cff0e3b_scoped_true_staticRenderFns = [];
|
|
4178
4178
|
|
|
4179
4179
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindowHeader.vue?vue&type=script&lang=js
|
|
4180
4180
|
/* harmony default export */ var ChatWindowHeadervue_type_script_lang_js = ({
|
|
4181
4181
|
name: 'ChatWindowHeader',
|
|
4182
4182
|
methods: {
|
|
4183
4183
|
handleOpen() {
|
|
4184
|
-
|
|
4185
|
-
name: '/chat'
|
|
4186
|
-
});
|
|
4187
|
-
window.open(path.href, '_blank');
|
|
4184
|
+
window.open('http://192.168.8.87:8090/', '_blank');
|
|
4188
4185
|
}
|
|
4189
4186
|
}
|
|
4190
4187
|
});
|
|
4191
4188
|
;// ./components/ChatWindowHeader.vue?vue&type=script&lang=js
|
|
4192
4189
|
/* harmony default export */ var components_ChatWindowHeadervue_type_script_lang_js = (ChatWindowHeadervue_type_script_lang_js);
|
|
4193
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindowHeader.vue?vue&type=style&index=0&id=
|
|
4190
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindowHeader.vue?vue&type=style&index=0&id=1cff0e3b&prod&scoped=true&lang=css
|
|
4194
4191
|
// extracted by mini-css-extract-plugin
|
|
4195
4192
|
|
|
4196
|
-
;// ./components/ChatWindowHeader.vue?vue&type=style&index=0&id=
|
|
4193
|
+
;// ./components/ChatWindowHeader.vue?vue&type=style&index=0&id=1cff0e3b&prod&scoped=true&lang=css
|
|
4197
4194
|
|
|
4198
4195
|
;// ./components/ChatWindowHeader.vue
|
|
4199
4196
|
|
|
@@ -4206,11 +4203,11 @@ var ChatWindowHeadervue_type_template_id_6518e4ca_scoped_true_staticRenderFns =
|
|
|
4206
4203
|
|
|
4207
4204
|
var ChatWindowHeader_component = normalizeComponent(
|
|
4208
4205
|
components_ChatWindowHeadervue_type_script_lang_js,
|
|
4209
|
-
|
|
4210
|
-
|
|
4206
|
+
ChatWindowHeadervue_type_template_id_1cff0e3b_scoped_true_render,
|
|
4207
|
+
ChatWindowHeadervue_type_template_id_1cff0e3b_scoped_true_staticRenderFns,
|
|
4211
4208
|
false,
|
|
4212
4209
|
null,
|
|
4213
|
-
"
|
|
4210
|
+
"1cff0e3b",
|
|
4214
4211
|
null
|
|
4215
4212
|
|
|
4216
4213
|
)
|
|
@@ -4743,7 +4740,10 @@ var es_typed_array_with = __webpack_require__(9577);
|
|
|
4743
4740
|
return {
|
|
4744
4741
|
ws: null,
|
|
4745
4742
|
wsUrl: 'ws://192.168.8.9:9999/ai_model/ws/voice-stream',
|
|
4746
|
-
isConnected: false
|
|
4743
|
+
isConnected: false,
|
|
4744
|
+
reconnectCount: 0,
|
|
4745
|
+
// 重连尝试次数
|
|
4746
|
+
maxReconnectAttempts: 3 // 最大重连尝试次数
|
|
4747
4747
|
};
|
|
4748
4748
|
},
|
|
4749
4749
|
methods: {
|
|
@@ -4782,12 +4782,16 @@ var es_typed_array_with = __webpack_require__(9577);
|
|
|
4782
4782
|
if (this.isRecording) {
|
|
4783
4783
|
this.stopRecording();
|
|
4784
4784
|
}
|
|
4785
|
-
|
|
4786
|
-
|
|
4787
|
-
|
|
4788
|
-
|
|
4789
|
-
|
|
4790
|
-
|
|
4785
|
+
this.reconnectCount++;
|
|
4786
|
+
console.log(`已尝试重连 ${this.reconnectCount} 次`);
|
|
4787
|
+
if (this.reconnectCount <= this.maxReconnectAttempts) {
|
|
4788
|
+
setTimeout(() => {
|
|
4789
|
+
console.log('尝试重新建立连接');
|
|
4790
|
+
if (!this.isConnected) {
|
|
4791
|
+
this.initWebSocket();
|
|
4792
|
+
}
|
|
4793
|
+
}, 3000);
|
|
4794
|
+
}
|
|
4791
4795
|
};
|
|
4792
4796
|
this.ws.onerror = error => {
|
|
4793
4797
|
console.error('WebSocket 错误:', error);
|
|
@@ -5252,6 +5256,8 @@ class StreamParser {
|
|
|
5252
5256
|
|
|
5253
5257
|
|
|
5254
5258
|
|
|
5259
|
+
|
|
5260
|
+
|
|
5255
5261
|
const SAMPLE_RATE = 16000;
|
|
5256
5262
|
const FRAME_SIZE = 512;
|
|
5257
5263
|
/* harmony default export */ var ChatWindowvue_type_script_lang_js = ({
|
|
@@ -5273,24 +5279,7 @@ const FRAME_SIZE = 512;
|
|
|
5273
5279
|
audioSrc: '/minio/lingxiaoai/byt.mp3',
|
|
5274
5280
|
inputMessage: '',
|
|
5275
5281
|
visible: false,
|
|
5276
|
-
messages: [
|
|
5277
|
-
id: 1,
|
|
5278
|
-
type: 'user',
|
|
5279
|
-
sender: '',
|
|
5280
|
-
time: '',
|
|
5281
|
-
content: '你好,欢迎来到凌霄大模型AI对话。'
|
|
5282
|
-
}, {
|
|
5283
|
-
id: 2,
|
|
5284
|
-
type: 'ai',
|
|
5285
|
-
sender: 'AI',
|
|
5286
|
-
time: '',
|
|
5287
|
-
thinking: '嗯,用户问的是回转窑的工业应用。首先,我需要回忆一下之前对话的内容。用户之前让我解释了水泥的制作流程,特别是提到了回转窑在高温煅烧熟料中的作用。',
|
|
5288
|
-
charts: [{
|
|
5289
|
-
title: '',
|
|
5290
|
-
options: {}
|
|
5291
|
-
}],
|
|
5292
|
-
content: '回转窑(Rotary Kiln)是一种长筒形旋转煅烧设备(类似倾斜安装的大管子),因其独特的旋转运动和高温耐火衬里设计,在多个工业领域都有广泛应用'
|
|
5293
|
-
}],
|
|
5282
|
+
messages: [],
|
|
5294
5283
|
robotStatus: 'leaving',
|
|
5295
5284
|
avaterStatus: 'normal',
|
|
5296
5285
|
currentMessage: null,
|
|
@@ -5337,41 +5326,28 @@ const FRAME_SIZE = 512;
|
|
|
5337
5326
|
if (!this.jumpedTimePoints) {
|
|
5338
5327
|
this.jumpedTimePoints = new Set();
|
|
5339
5328
|
}
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5351
|
-
|
|
5352
|
-
|
|
5353
|
-
|
|
5354
|
-
|
|
5355
|
-
|
|
5356
|
-
|
|
5357
|
-
|
|
5358
|
-
|
|
5359
|
-
|
|
5360
|
-
|
|
5361
|
-
|
|
5362
|
-
label: point.title,
|
|
5363
|
-
name: point.title,
|
|
5364
|
-
meta: {
|
|
5365
|
-
title: point.title
|
|
5366
|
-
},
|
|
5367
|
-
query: {},
|
|
5368
|
-
params: {}
|
|
5369
|
-
});
|
|
5370
|
-
this.$appOptions.router.push({
|
|
5371
|
-
path: point.url
|
|
5372
|
-
});
|
|
5373
|
-
}
|
|
5374
|
-
});
|
|
5329
|
+
fetch('/minio/lingxiaoai/timeJumpPoints.json').then(response => response.json()).then(data => {
|
|
5330
|
+
console.log('时间跳转点:', data);
|
|
5331
|
+
data.forEach(point => {
|
|
5332
|
+
if (currentTime >= point.time && currentTime < point.time + 0.5 && !this.jumpedTimePoints.has(point.time)) {
|
|
5333
|
+
this.jumpedTimePoints.add(point.time);
|
|
5334
|
+
this.$appOptions.store.dispatch('tags/addTagview', {
|
|
5335
|
+
path: point.url,
|
|
5336
|
+
fullPath: point.url,
|
|
5337
|
+
label: point.title,
|
|
5338
|
+
name: point.title,
|
|
5339
|
+
meta: {
|
|
5340
|
+
title: point.title
|
|
5341
|
+
},
|
|
5342
|
+
query: {},
|
|
5343
|
+
params: {}
|
|
5344
|
+
});
|
|
5345
|
+
this.$appOptions.router.push({
|
|
5346
|
+
path: point.url
|
|
5347
|
+
});
|
|
5348
|
+
}
|
|
5349
|
+
});
|
|
5350
|
+
}).catch(error => console.error('获取时间跳转点失败:', error));
|
|
5375
5351
|
},
|
|
5376
5352
|
onAudioEnded() {
|
|
5377
5353
|
this.robotStatus = 'leaving';
|
|
@@ -5381,10 +5357,10 @@ const FRAME_SIZE = 512;
|
|
|
5381
5357
|
});
|
|
5382
5358
|
;// ./components/ChatWindow.vue?vue&type=script&lang=js
|
|
5383
5359
|
/* harmony default export */ var components_ChatWindowvue_type_script_lang_js = (ChatWindowvue_type_script_lang_js);
|
|
5384
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindow.vue?vue&type=style&index=0&id=
|
|
5360
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindow.vue?vue&type=style&index=0&id=5792943c&prod&scoped=true&lang=css
|
|
5385
5361
|
// extracted by mini-css-extract-plugin
|
|
5386
5362
|
|
|
5387
|
-
;// ./components/ChatWindow.vue?vue&type=style&index=0&id=
|
|
5363
|
+
;// ./components/ChatWindow.vue?vue&type=style&index=0&id=5792943c&prod&scoped=true&lang=css
|
|
5388
5364
|
|
|
5389
5365
|
;// ./components/ChatWindow.vue
|
|
5390
5366
|
|
|
@@ -5401,7 +5377,7 @@ var ChatWindow_component = normalizeComponent(
|
|
|
5401
5377
|
staticRenderFns,
|
|
5402
5378
|
false,
|
|
5403
5379
|
null,
|
|
5404
|
-
"
|
|
5380
|
+
"5792943c",
|
|
5405
5381
|
null
|
|
5406
5382
|
|
|
5407
5383
|
)
|