@siact/sime-x-vue 0.0.6 → 0.0.8
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/dist/sime-x-vue.mjs +1264 -54
- package/dist/sime-x-vue.mjs.map +1 -1
- package/dist/sime-x-vue.umd.js +1263 -52
- package/dist/sime-x-vue.umd.js.map +1 -1
- package/dist/style.css +412 -83
- package/package.json +1 -1
- package/types/components/sime-provider.vue.d.ts +4 -4
- package/types/components/tool-card.vue.d.ts +28 -0
- package/types/components/voice-assistant.vue.d.ts +44 -0
- package/types/composables/index.d.ts +6 -0
- package/types/composables/use-agent-invoke.d.ts +79 -0
- package/types/composables/use-bubble.d.ts +39 -0
- package/types/composables/use-tts.d.ts +17 -0
- package/types/composables/use-voice-recognition.d.ts +28 -0
- package/types/index.d.ts +1 -0
- package/types/lib/data-stream-parser.d.ts +84 -0
- package/types/types.d.ts +11 -1
package/dist/style.css
CHANGED
|
@@ -345,7 +345,7 @@
|
|
|
345
345
|
opacity: 0;
|
|
346
346
|
transform: scale(0.8);
|
|
347
347
|
}
|
|
348
|
-
.sime-x[data-v-
|
|
348
|
+
.sime-x[data-v-91f104d1] {
|
|
349
349
|
--bg-primary: #ffffff;
|
|
350
350
|
--bg-secondary: #f8fafc;
|
|
351
351
|
--bg-header: #0f172a;
|
|
@@ -359,7 +359,7 @@
|
|
|
359
359
|
--accent-color: #3b82f6;
|
|
360
360
|
--hover-bg: rgba(0, 0, 0, 0.05);
|
|
361
361
|
}
|
|
362
|
-
.sime-x[data-theme=dark][data-v-
|
|
362
|
+
.sime-x[data-theme=dark][data-v-91f104d1] {
|
|
363
363
|
--bg-primary: #1e293b;
|
|
364
364
|
--bg-secondary: #0f172a;
|
|
365
365
|
--bg-header: #0f172a;
|
|
@@ -373,13 +373,13 @@
|
|
|
373
373
|
--accent-color: #60a5fa;
|
|
374
374
|
--hover-bg: rgba(255, 255, 255, 0.1);
|
|
375
375
|
}
|
|
376
|
-
.is-hidden[data-v-
|
|
376
|
+
.is-hidden[data-v-91f104d1] {
|
|
377
377
|
height: 0;
|
|
378
378
|
opacity: 0 !important;
|
|
379
379
|
pointer-events: none !important;
|
|
380
380
|
visibility: hidden !important;
|
|
381
381
|
}
|
|
382
|
-
.assistant-fab[data-v-
|
|
382
|
+
.assistant-fab[data-v-91f104d1] {
|
|
383
383
|
position: relative;
|
|
384
384
|
cursor: pointer;
|
|
385
385
|
overflow: visible;
|
|
@@ -388,30 +388,30 @@
|
|
|
388
388
|
pointer-events: auto;
|
|
389
389
|
transition: all 0.3s ease;
|
|
390
390
|
}
|
|
391
|
-
.assistant-fab[data-v-
|
|
391
|
+
.assistant-fab[data-v-91f104d1]:hover {
|
|
392
392
|
transform: scale(1.05);
|
|
393
393
|
}
|
|
394
|
-
.assistant-fab[data-v-
|
|
394
|
+
.assistant-fab[data-v-91f104d1]:active {
|
|
395
395
|
transform: scale(0.95);
|
|
396
396
|
}
|
|
397
|
-
.assistant-fab .voice-status[data-v-
|
|
397
|
+
.assistant-fab .voice-status[data-v-91f104d1] {
|
|
398
398
|
position: absolute;
|
|
399
399
|
right: 100%;
|
|
400
400
|
margin-right: 20px;
|
|
401
401
|
}
|
|
402
|
-
.assistant-fab img[data-v-
|
|
402
|
+
.assistant-fab img[data-v-91f104d1] {
|
|
403
403
|
display: block;
|
|
404
404
|
position: relative;
|
|
405
405
|
object-fit: contain;
|
|
406
406
|
}
|
|
407
|
-
.assistant-fab .fab-pulse[data-v-
|
|
407
|
+
.assistant-fab .fab-pulse[data-v-91f104d1] {
|
|
408
408
|
position: absolute;
|
|
409
409
|
inset: -4px;
|
|
410
410
|
border-radius: 50%;
|
|
411
411
|
border: 2px solid var(--accent-color);
|
|
412
412
|
opacity: 0;
|
|
413
413
|
}
|
|
414
|
-
@keyframes pulse-
|
|
414
|
+
@keyframes pulse-91f104d1 {
|
|
415
415
|
0%, 100% {
|
|
416
416
|
opacity: 0;
|
|
417
417
|
transform: scale(1);
|
|
@@ -421,7 +421,7 @@
|
|
|
421
421
|
transform: scale(1.1);
|
|
422
422
|
}
|
|
423
423
|
}
|
|
424
|
-
.x-dialog-container[data-v-
|
|
424
|
+
.x-dialog-container[data-v-91f104d1] {
|
|
425
425
|
position: fixed;
|
|
426
426
|
top: 0;
|
|
427
427
|
left: 0;
|
|
@@ -435,17 +435,17 @@
|
|
|
435
435
|
opacity: 0;
|
|
436
436
|
pointer-events: none;
|
|
437
437
|
}
|
|
438
|
-
.x-dialog-container.position-ready[data-v-
|
|
438
|
+
.x-dialog-container.position-ready[data-v-91f104d1] {
|
|
439
439
|
opacity: 1;
|
|
440
440
|
pointer-events: auto;
|
|
441
441
|
}
|
|
442
|
-
.x-dialog-container[data-v-
|
|
442
|
+
.x-dialog-container[data-v-91f104d1]:active {
|
|
443
443
|
cursor: grabbing;
|
|
444
444
|
}
|
|
445
|
-
.x-dialog-container.collapsed .x-dialog-header[data-v-
|
|
445
|
+
.x-dialog-container.collapsed .x-dialog-header[data-v-91f104d1] {
|
|
446
446
|
border-radius: 16px;
|
|
447
447
|
}
|
|
448
|
-
.x-dialog-container .x-dialog-header[data-v-
|
|
448
|
+
.x-dialog-container .x-dialog-header[data-v-91f104d1] {
|
|
449
449
|
position: relative;
|
|
450
450
|
display: flex;
|
|
451
451
|
justify-content: space-between;
|
|
@@ -456,12 +456,12 @@
|
|
|
456
456
|
user-select: none;
|
|
457
457
|
border-bottom: 1px solid var(--border-color);
|
|
458
458
|
}
|
|
459
|
-
.x-dialog-container .x-dialog-header .header-left[data-v-
|
|
459
|
+
.x-dialog-container .x-dialog-header .header-left[data-v-91f104d1] {
|
|
460
460
|
display: flex;
|
|
461
461
|
align-items: center;
|
|
462
462
|
gap: 10px;
|
|
463
463
|
}
|
|
464
|
-
.x-dialog-container .x-dialog-header .header-left .logo-icon[data-v-
|
|
464
|
+
.x-dialog-container .x-dialog-header .header-left .logo-icon[data-v-91f104d1] {
|
|
465
465
|
display: flex;
|
|
466
466
|
align-items: center;
|
|
467
467
|
justify-content: center;
|
|
@@ -469,23 +469,23 @@
|
|
|
469
469
|
height: 36px;
|
|
470
470
|
transition: transform 0.2s ease;
|
|
471
471
|
}
|
|
472
|
-
.x-dialog-container .x-dialog-header .header-left .logo-icon .logo[data-v-
|
|
472
|
+
.x-dialog-container .x-dialog-header .header-left .logo-icon .logo[data-v-91f104d1] {
|
|
473
473
|
width: 100%;
|
|
474
474
|
height: 100%;
|
|
475
475
|
object-fit: contain;
|
|
476
476
|
}
|
|
477
|
-
.x-dialog-container .x-dialog-header .header-left .title[data-v-
|
|
477
|
+
.x-dialog-container .x-dialog-header .header-left .title[data-v-91f104d1] {
|
|
478
478
|
font-weight: 600;
|
|
479
479
|
font-size: 15px;
|
|
480
480
|
color: var(--text-header);
|
|
481
481
|
letter-spacing: -0.01em;
|
|
482
482
|
}
|
|
483
|
-
.x-dialog-container .x-dialog-header .actions[data-v-
|
|
483
|
+
.x-dialog-container .x-dialog-header .actions[data-v-91f104d1] {
|
|
484
484
|
display: flex;
|
|
485
485
|
align-items: center;
|
|
486
486
|
gap: 4px;
|
|
487
487
|
}
|
|
488
|
-
.x-dialog-container .x-dialog-header .actions .action-btn[data-v-
|
|
488
|
+
.x-dialog-container .x-dialog-header .actions .action-btn[data-v-91f104d1] {
|
|
489
489
|
display: flex;
|
|
490
490
|
align-items: center;
|
|
491
491
|
justify-content: center;
|
|
@@ -498,26 +498,26 @@
|
|
|
498
498
|
transition: all 0.2s ease;
|
|
499
499
|
border-radius: 8px;
|
|
500
500
|
}
|
|
501
|
-
.x-dialog-container .x-dialog-header .actions .action-btn[data-v-
|
|
501
|
+
.x-dialog-container .x-dialog-header .actions .action-btn[data-v-91f104d1]:hover {
|
|
502
502
|
color: var(--text-header);
|
|
503
503
|
background: var(--hover-bg);
|
|
504
504
|
transform: translateY(-1px);
|
|
505
505
|
}
|
|
506
|
-
.x-dialog-container .x-dialog-header .actions .action-btn[data-v-
|
|
506
|
+
.x-dialog-container .x-dialog-header .actions .action-btn[data-v-91f104d1]:active {
|
|
507
507
|
transform: translateY(0);
|
|
508
508
|
}
|
|
509
|
-
.x-dialog-container .x-dialog-header .actions .action-btn svg[data-v-
|
|
509
|
+
.x-dialog-container .x-dialog-header .actions .action-btn svg[data-v-91f104d1] {
|
|
510
510
|
transition: transform 0.2s ease;
|
|
511
511
|
}
|
|
512
|
-
.x-dialog-container .x-dialog-header .actions .action-btn.collapse-btn:hover svg[data-v-
|
|
512
|
+
.x-dialog-container .x-dialog-header .actions .action-btn.collapse-btn:hover svg[data-v-91f104d1] {
|
|
513
513
|
transform: scale(1.1);
|
|
514
514
|
}
|
|
515
|
-
.x-dialog-container .voice-container[data-v-
|
|
515
|
+
.x-dialog-container .voice-container[data-v-91f104d1] {
|
|
516
516
|
width: 100%;
|
|
517
517
|
opacity: 1;
|
|
518
518
|
pointer-events: auto;
|
|
519
519
|
}
|
|
520
|
-
.x-dialog-container .x-dialog-content[data-v-
|
|
520
|
+
.x-dialog-container .x-dialog-content[data-v-91f104d1] {
|
|
521
521
|
flex: 1;
|
|
522
522
|
display: flex;
|
|
523
523
|
overflow: hidden;
|
|
@@ -525,13 +525,13 @@
|
|
|
525
525
|
opacity: 1;
|
|
526
526
|
pointer-events: auto;
|
|
527
527
|
}
|
|
528
|
-
.x-dialog-container .x-iframe[data-v-
|
|
528
|
+
.x-dialog-container .x-iframe[data-v-91f104d1] {
|
|
529
529
|
flex: 1;
|
|
530
530
|
width: 100%;
|
|
531
531
|
height: 100%;
|
|
532
532
|
border: none;
|
|
533
533
|
}
|
|
534
|
-
.x-dialog-container .resize-handle[data-v-
|
|
534
|
+
.x-dialog-container .resize-handle[data-v-91f104d1] {
|
|
535
535
|
position: absolute;
|
|
536
536
|
bottom: 0;
|
|
537
537
|
right: 0;
|
|
@@ -547,38 +547,38 @@
|
|
|
547
547
|
border-bottom-right-radius: 16px;
|
|
548
548
|
z-index: 10;
|
|
549
549
|
}
|
|
550
|
-
.x-dialog-container .resize-handle[data-v-
|
|
550
|
+
.x-dialog-container .resize-handle[data-v-91f104d1]:hover {
|
|
551
551
|
color: var(--accent-color);
|
|
552
552
|
background: linear-gradient(135deg, transparent 50%, var(--hover-bg) 50%);
|
|
553
553
|
}
|
|
554
|
-
.x-dialog-container .resize-handle svg[data-v-
|
|
554
|
+
.x-dialog-container .resize-handle svg[data-v-91f104d1] {
|
|
555
555
|
width: 16px;
|
|
556
556
|
height: 16px;
|
|
557
557
|
transform: rotate(0deg);
|
|
558
558
|
transition: transform 0.2s ease;
|
|
559
559
|
}
|
|
560
|
-
.x-dialog-container .resize-handle:hover svg[data-v-
|
|
560
|
+
.x-dialog-container .resize-handle:hover svg[data-v-91f104d1] {
|
|
561
561
|
transform: scale(1.2);
|
|
562
562
|
}
|
|
563
563
|
|
|
564
564
|
/* 语音按钮状态样式 */
|
|
565
|
-
.action-btn.theme-btn[data-v-
|
|
565
|
+
.action-btn.theme-btn[data-v-91f104d1] {
|
|
566
566
|
position: relative;
|
|
567
567
|
transition: all 0.3s ease;
|
|
568
568
|
}
|
|
569
|
-
.action-btn.theme-btn.active[data-v-
|
|
569
|
+
.action-btn.theme-btn.active[data-v-91f104d1] {
|
|
570
570
|
background: rgba(59, 130, 246, 0.1);
|
|
571
571
|
color: #3b82f6;
|
|
572
572
|
}
|
|
573
|
-
.action-btn.theme-btn.listening[data-v-
|
|
574
|
-
animation: pulse-listening-
|
|
573
|
+
.action-btn.theme-btn.listening[data-v-91f104d1] {
|
|
574
|
+
animation: pulse-listening-91f104d1 2s ease-in-out infinite;
|
|
575
575
|
}
|
|
576
|
-
.action-btn.theme-btn.woke[data-v-
|
|
576
|
+
.action-btn.theme-btn.woke[data-v-91f104d1] {
|
|
577
577
|
background: rgba(34, 197, 94, 0.2);
|
|
578
578
|
color: #22c55e;
|
|
579
|
-
animation: pulse-wake-
|
|
579
|
+
animation: pulse-wake-91f104d1 0.6s ease-in-out;
|
|
580
580
|
}
|
|
581
|
-
@keyframes pulse-listening-
|
|
581
|
+
@keyframes pulse-listening-91f104d1 {
|
|
582
582
|
0%, 100% {
|
|
583
583
|
box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4);
|
|
584
584
|
}
|
|
@@ -586,7 +586,7 @@
|
|
|
586
586
|
box-shadow: 0 0 0 8px rgba(59, 130, 246, 0);
|
|
587
587
|
}
|
|
588
588
|
}
|
|
589
|
-
@keyframes pulse-wake-
|
|
589
|
+
@keyframes pulse-wake-91f104d1 {
|
|
590
590
|
0%, 100% {
|
|
591
591
|
transform: scale(1);
|
|
592
592
|
}
|
|
@@ -595,7 +595,7 @@
|
|
|
595
595
|
}
|
|
596
596
|
}
|
|
597
597
|
/* 语音指示器 */
|
|
598
|
-
.voice-indicator[data-v-
|
|
598
|
+
.voice-indicator[data-v-91f104d1] {
|
|
599
599
|
position: absolute;
|
|
600
600
|
top: 4px;
|
|
601
601
|
right: 4px;
|
|
@@ -604,14 +604,14 @@
|
|
|
604
604
|
border-radius: 50%;
|
|
605
605
|
background: #3b82f6;
|
|
606
606
|
}
|
|
607
|
-
.action-btn.theme-btn.listening .voice-indicator[data-v-
|
|
608
|
-
animation: blink-
|
|
607
|
+
.action-btn.theme-btn.listening .voice-indicator[data-v-91f104d1] {
|
|
608
|
+
animation: blink-91f104d1 1.5s ease-in-out infinite;
|
|
609
609
|
}
|
|
610
|
-
.action-btn.theme-btn.woke .voice-indicator[data-v-
|
|
610
|
+
.action-btn.theme-btn.woke .voice-indicator[data-v-91f104d1] {
|
|
611
611
|
background: #22c55e;
|
|
612
612
|
animation: none;
|
|
613
613
|
}
|
|
614
|
-
@keyframes blink-
|
|
614
|
+
@keyframes blink-91f104d1 {
|
|
615
615
|
0%, 100% {
|
|
616
616
|
opacity: 1;
|
|
617
617
|
}
|
|
@@ -620,23 +620,23 @@
|
|
|
620
620
|
}
|
|
621
621
|
}
|
|
622
622
|
/* 麦克风唤醒动画 */
|
|
623
|
-
.listening-badge.wake-active[data-v-
|
|
623
|
+
.listening-badge.wake-active[data-v-91f104d1] {
|
|
624
624
|
background-color: rgba(34, 197, 94, 0.85);
|
|
625
|
-
animation: wake-badge-pop-
|
|
625
|
+
animation: wake-badge-pop-91f104d1 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
|
|
626
626
|
}
|
|
627
|
-
.listening-badge.wake-active .listening-icon[data-v-
|
|
628
|
-
animation: wake-icon-flash-
|
|
627
|
+
.listening-badge.wake-active .listening-icon[data-v-91f104d1] {
|
|
628
|
+
animation: wake-icon-flash-91f104d1 1.5s ease-in-out;
|
|
629
629
|
}
|
|
630
|
-
.listening-badge.wake-active[data-v-
|
|
630
|
+
.listening-badge.wake-active[data-v-91f104d1]::after {
|
|
631
631
|
content: "";
|
|
632
632
|
position: absolute;
|
|
633
633
|
inset: -3px;
|
|
634
634
|
border-radius: 50%;
|
|
635
635
|
border: 2px solid #22c55e;
|
|
636
|
-
animation: wake-mic-ring-
|
|
636
|
+
animation: wake-mic-ring-91f104d1 1.2s ease-out forwards;
|
|
637
637
|
pointer-events: none;
|
|
638
638
|
}
|
|
639
|
-
@keyframes wake-badge-pop-
|
|
639
|
+
@keyframes wake-badge-pop-91f104d1 {
|
|
640
640
|
0% {
|
|
641
641
|
transform: scale(1);
|
|
642
642
|
}
|
|
@@ -647,7 +647,7 @@
|
|
|
647
647
|
transform: scale(1);
|
|
648
648
|
}
|
|
649
649
|
}
|
|
650
|
-
@keyframes wake-icon-flash-
|
|
650
|
+
@keyframes wake-icon-flash-91f104d1 {
|
|
651
651
|
0%, 100% {
|
|
652
652
|
color: #ffffff;
|
|
653
653
|
}
|
|
@@ -661,7 +661,7 @@
|
|
|
661
661
|
color: #bbf7d0;
|
|
662
662
|
}
|
|
663
663
|
}
|
|
664
|
-
@keyframes wake-mic-ring-
|
|
664
|
+
@keyframes wake-mic-ring-91f104d1 {
|
|
665
665
|
0% {
|
|
666
666
|
transform: scale(1);
|
|
667
667
|
opacity: 0.8;
|
|
@@ -672,7 +672,7 @@
|
|
|
672
672
|
}
|
|
673
673
|
}
|
|
674
674
|
/* FAB 头像容器 */
|
|
675
|
-
.fab-avatar-wrapper[data-v-
|
|
675
|
+
.fab-avatar-wrapper[data-v-91f104d1] {
|
|
676
676
|
position: relative;
|
|
677
677
|
display: flex; /* 改用 flex 可以消除图片底部的行高间隙 */
|
|
678
678
|
align-items: center;
|
|
@@ -682,7 +682,7 @@
|
|
|
682
682
|
}
|
|
683
683
|
|
|
684
684
|
/* 2. 修正图片样式 */
|
|
685
|
-
.fab-avatar-wrapper img[data-v-
|
|
685
|
+
.fab-avatar-wrapper img[data-v-91f104d1] {
|
|
686
686
|
display: block;
|
|
687
687
|
max-width: 100%;
|
|
688
688
|
height: auto;
|
|
@@ -690,7 +690,7 @@
|
|
|
690
690
|
}
|
|
691
691
|
|
|
692
692
|
/* 3. 优化徽章定位 */
|
|
693
|
-
.listening-badge[data-v-
|
|
693
|
+
.listening-badge[data-v-91f104d1] {
|
|
694
694
|
position: absolute;
|
|
695
695
|
/* 强制定位到容器边缘 */
|
|
696
696
|
top: 0;
|
|
@@ -707,22 +707,22 @@
|
|
|
707
707
|
z-index: 10;
|
|
708
708
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
709
709
|
/* 继承你原有的动画 */
|
|
710
|
-
animation: badge-float-
|
|
710
|
+
animation: badge-float-91f104d1 5s ease-in-out infinite;
|
|
711
711
|
pointer-events: none; /* 防止遮挡头像点击 */
|
|
712
712
|
}
|
|
713
713
|
|
|
714
714
|
/* 4. 调整声波扩散的基准 */
|
|
715
|
-
.wave[data-v-
|
|
715
|
+
.wave[data-v-91f104d1] {
|
|
716
716
|
position: absolute;
|
|
717
717
|
/* 确保声波从徽章中心扩散,而不是从容器左上角 */
|
|
718
718
|
inset: -2px;
|
|
719
719
|
border-radius: 50%;
|
|
720
720
|
border: 2px solid rgba(59, 130, 246, 0.6); /* 声波颜色建议跟主题色一致 */
|
|
721
|
-
animation: wave-expand-
|
|
721
|
+
animation: wave-expand-91f104d1 3s ease-out infinite;
|
|
722
722
|
}
|
|
723
723
|
|
|
724
724
|
/* 优化后的监听状态徽章 */
|
|
725
|
-
.listening-badge[data-v-
|
|
725
|
+
.listening-badge[data-v-91f104d1] {
|
|
726
726
|
position: absolute;
|
|
727
727
|
top: -8px;
|
|
728
728
|
right: -8px;
|
|
@@ -734,11 +734,11 @@
|
|
|
734
734
|
align-items: center;
|
|
735
735
|
justify-content: center;
|
|
736
736
|
z-index: 10;
|
|
737
|
-
animation: badge-float-
|
|
737
|
+
animation: badge-float-91f104d1 5s ease-in-out infinite;
|
|
738
738
|
}
|
|
739
739
|
|
|
740
740
|
/* 徽章浮动动画 */
|
|
741
|
-
@keyframes badge-float-
|
|
741
|
+
@keyframes badge-float-91f104d1 {
|
|
742
742
|
0%, 100% {
|
|
743
743
|
transform: translateY(0) scale(1);
|
|
744
744
|
}
|
|
@@ -747,7 +747,7 @@
|
|
|
747
747
|
}
|
|
748
748
|
}
|
|
749
749
|
/* 声波容器 */
|
|
750
|
-
.listening-waves[data-v-
|
|
750
|
+
.listening-waves[data-v-91f104d1] {
|
|
751
751
|
position: absolute;
|
|
752
752
|
inset: 0;
|
|
753
753
|
display: flex;
|
|
@@ -756,24 +756,24 @@
|
|
|
756
756
|
}
|
|
757
757
|
|
|
758
758
|
/* 声波动画 */
|
|
759
|
-
.wave[data-v-
|
|
759
|
+
.wave[data-v-91f104d1] {
|
|
760
760
|
position: absolute;
|
|
761
761
|
width: 100%;
|
|
762
762
|
height: 100%;
|
|
763
763
|
border-radius: 50%;
|
|
764
764
|
border: 2px solid rgba(255, 255, 255, 0.6);
|
|
765
|
-
animation: wave-expand-
|
|
765
|
+
animation: wave-expand-91f104d1 3s ease-out infinite;
|
|
766
766
|
}
|
|
767
|
-
.wave-1[data-v-
|
|
767
|
+
.wave-1[data-v-91f104d1] {
|
|
768
768
|
animation-delay: 0s;
|
|
769
769
|
}
|
|
770
|
-
.wave-2[data-v-
|
|
770
|
+
.wave-2[data-v-91f104d1] {
|
|
771
771
|
animation-delay: 0.6s;
|
|
772
772
|
}
|
|
773
|
-
.wave-3[data-v-
|
|
773
|
+
.wave-3[data-v-91f104d1] {
|
|
774
774
|
animation-delay: 1.2s;
|
|
775
775
|
}
|
|
776
|
-
@keyframes wave-expand-
|
|
776
|
+
@keyframes wave-expand-91f104d1 {
|
|
777
777
|
0% {
|
|
778
778
|
transform: scale(0.8);
|
|
779
779
|
opacity: 0.8;
|
|
@@ -784,7 +784,7 @@
|
|
|
784
784
|
}
|
|
785
785
|
}
|
|
786
786
|
/* 麦克风图标 */
|
|
787
|
-
.listening-icon[data-v-
|
|
787
|
+
.listening-icon[data-v-91f104d1] {
|
|
788
788
|
position: relative;
|
|
789
789
|
width: 24px;
|
|
790
790
|
height: 24px;
|
|
@@ -793,9 +793,9 @@
|
|
|
793
793
|
justify-content: center;
|
|
794
794
|
color: #ffffff;
|
|
795
795
|
z-index: 1;
|
|
796
|
-
animation: icon-pulse-
|
|
796
|
+
animation: icon-pulse-91f104d1 2.5s ease-in-out infinite;
|
|
797
797
|
}
|
|
798
|
-
@keyframes icon-pulse-
|
|
798
|
+
@keyframes icon-pulse-91f104d1 {
|
|
799
799
|
0%, 100% {
|
|
800
800
|
transform: scale(1);
|
|
801
801
|
}
|
|
@@ -804,23 +804,23 @@
|
|
|
804
804
|
}
|
|
805
805
|
}
|
|
806
806
|
/* 徽章淡入淡出动画 */
|
|
807
|
-
.indicator-fade-enter-active[data-v-
|
|
807
|
+
.indicator-fade-enter-active[data-v-91f104d1] {
|
|
808
808
|
transition: all 1s cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
809
809
|
}
|
|
810
|
-
.indicator-fade-leave-active[data-v-
|
|
810
|
+
.indicator-fade-leave-active[data-v-91f104d1] {
|
|
811
811
|
transition: all 1s ease;
|
|
812
812
|
}
|
|
813
|
-
.indicator-fade-enter-from[data-v-
|
|
813
|
+
.indicator-fade-enter-from[data-v-91f104d1] {
|
|
814
814
|
opacity: 0;
|
|
815
815
|
transform: scale(0.3) rotate(-180deg);
|
|
816
816
|
}
|
|
817
|
-
.indicator-fade-leave-to[data-v-
|
|
817
|
+
.indicator-fade-leave-to[data-v-91f104d1] {
|
|
818
818
|
opacity: 0;
|
|
819
819
|
transform: scale(0.5) rotate(180deg);
|
|
820
820
|
}
|
|
821
821
|
|
|
822
822
|
/* FAB 脉冲效果 */
|
|
823
|
-
.fab-pulse[data-v-
|
|
823
|
+
.fab-pulse[data-v-91f104d1] {
|
|
824
824
|
position: absolute;
|
|
825
825
|
top: 0;
|
|
826
826
|
left: 0;
|
|
@@ -829,10 +829,10 @@
|
|
|
829
829
|
border-radius: 50%;
|
|
830
830
|
pointer-events: none;
|
|
831
831
|
}
|
|
832
|
-
.fab-pulse.active[data-v-
|
|
833
|
-
animation: fab-pulse-
|
|
832
|
+
.fab-pulse.active[data-v-91f104d1] {
|
|
833
|
+
animation: fab-pulse-91f104d1 2s ease-in-out infinite;
|
|
834
834
|
}
|
|
835
|
-
@keyframes fab-pulse-
|
|
835
|
+
@keyframes fab-pulse-91f104d1 {
|
|
836
836
|
0%, 100% {
|
|
837
837
|
box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4);
|
|
838
838
|
}
|
|
@@ -841,9 +841,338 @@
|
|
|
841
841
|
}
|
|
842
842
|
}
|
|
843
843
|
/* 深色模式适配 */
|
|
844
|
-
[data-theme=dark] .action-btn.theme-btn.active[data-v-
|
|
844
|
+
[data-theme=dark] .action-btn.theme-btn.active[data-v-91f104d1] {
|
|
845
845
|
background: rgba(59, 130, 246, 0.2);
|
|
846
846
|
}
|
|
847
|
-
[data-theme=dark] .action-btn.theme-btn.woke[data-v-
|
|
847
|
+
[data-theme=dark] .action-btn.theme-btn.woke[data-v-91f104d1] {
|
|
848
848
|
background: rgba(34, 197, 94, 0.3);
|
|
849
|
+
}
|
|
850
|
+
.voice-assistant[data-v-9e420a26] {
|
|
851
|
+
--text-primary: #e6edf7;
|
|
852
|
+
--text-secondary: #95a8c8;
|
|
853
|
+
--glass-bg: rgba(8, 16, 32, 0.72);
|
|
854
|
+
--glass-border: rgba(125, 160, 220, 0.28);
|
|
855
|
+
--shadow-md: 0 18px 36px rgba(1, 6, 20, 0.56);
|
|
856
|
+
--color-success: #4ade80;
|
|
857
|
+
--color-error: #f87171;
|
|
858
|
+
--color-accent: #818cf8;
|
|
859
|
+
position: relative;
|
|
860
|
+
display: inline-flex;
|
|
861
|
+
flex-direction: column;
|
|
862
|
+
align-items: flex-end;
|
|
863
|
+
gap: 12px;
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
/* ── FAB 按钮 ── */
|
|
867
|
+
.assistant-fab[data-v-9e420a26] {
|
|
868
|
+
position: relative;
|
|
869
|
+
cursor: pointer;
|
|
870
|
+
transition: transform 0.2s ease, filter 0.2s ease;
|
|
871
|
+
}
|
|
872
|
+
.assistant-fab[data-v-9e420a26]:hover {
|
|
873
|
+
transform: translateY(-1px) scale(1.03);
|
|
874
|
+
filter: brightness(1.06);
|
|
875
|
+
}
|
|
876
|
+
.status-pill[data-v-9e420a26] {
|
|
877
|
+
position: absolute;
|
|
878
|
+
right: calc(100% + 12px);
|
|
879
|
+
top: 50%;
|
|
880
|
+
transform: translateY(-50%);
|
|
881
|
+
max-width: 280px;
|
|
882
|
+
background: var(--glass-bg);
|
|
883
|
+
color: var(--text-primary);
|
|
884
|
+
font-size: 12px;
|
|
885
|
+
line-height: 1.45;
|
|
886
|
+
padding: 8px 13px;
|
|
887
|
+
border-radius: 999px;
|
|
888
|
+
border: 1px solid var(--glass-border);
|
|
889
|
+
backdrop-filter: blur(10px);
|
|
890
|
+
white-space: nowrap;
|
|
891
|
+
overflow: hidden;
|
|
892
|
+
text-overflow: ellipsis;
|
|
893
|
+
box-shadow: 0 10px 20px rgba(2, 8, 24, 0.38);
|
|
894
|
+
}
|
|
895
|
+
.fab-avatar-wrapper[data-v-9e420a26] {
|
|
896
|
+
position: relative;
|
|
897
|
+
display: flex;
|
|
898
|
+
align-items: center;
|
|
899
|
+
justify-content: center;
|
|
900
|
+
}
|
|
901
|
+
.fab-avatar-wrapper img[data-v-9e420a26] {
|
|
902
|
+
display: block;
|
|
903
|
+
height: auto;
|
|
904
|
+
object-fit: contain;
|
|
905
|
+
filter: drop-shadow(var(--shadow-md)) saturate(1.05);
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
/* ── 气泡容器 ── */
|
|
909
|
+
.bubble-stack[data-v-9e420a26] {
|
|
910
|
+
position: absolute;
|
|
911
|
+
right: 0;
|
|
912
|
+
bottom: calc(100% + 16px);
|
|
913
|
+
width: min(380px, 86vw);
|
|
914
|
+
max-height: min(58vh, 520px);
|
|
915
|
+
overflow: auto;
|
|
916
|
+
}
|
|
917
|
+
.bubble-stack[data-v-9e420a26]::-webkit-scrollbar {
|
|
918
|
+
width: 4px;
|
|
919
|
+
}
|
|
920
|
+
.bubble-stack[data-v-9e420a26]::-webkit-scrollbar-thumb {
|
|
921
|
+
background: rgba(126, 155, 204, 0.3);
|
|
922
|
+
border-radius: 999px;
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
/* ── 统一 agent 气泡 ── */
|
|
926
|
+
.agent-bubble[data-v-9e420a26] {
|
|
927
|
+
border-radius: 16px;
|
|
928
|
+
padding: 12px 14px;
|
|
929
|
+
background: radial-gradient(circle at 12% 10%, rgba(80, 122, 255, 0.14), transparent 50%), linear-gradient(155deg, rgba(24, 42, 72, 0.96), rgba(14, 24, 46, 0.97));
|
|
930
|
+
border: 1px solid rgba(108, 141, 204, 0.2);
|
|
931
|
+
box-shadow: 0 12px 32px rgba(1, 6, 20, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.04);
|
|
932
|
+
backdrop-filter: blur(16px);
|
|
933
|
+
display: flex;
|
|
934
|
+
flex-direction: column;
|
|
935
|
+
gap: 0;
|
|
936
|
+
animation: bubble-appear-9e420a26 0.3s cubic-bezier(0.16, 1, 0.3, 1);
|
|
937
|
+
}
|
|
938
|
+
@keyframes bubble-appear-9e420a26 {
|
|
939
|
+
from {
|
|
940
|
+
opacity: 0;
|
|
941
|
+
transform: translateY(8px) scale(0.97);
|
|
942
|
+
}
|
|
943
|
+
to {
|
|
944
|
+
opacity: 1;
|
|
945
|
+
transform: translateY(0) scale(1);
|
|
946
|
+
}
|
|
947
|
+
}
|
|
948
|
+
/* ── 工具执行步骤(内联紧凑) ── */
|
|
949
|
+
.tool-steps[data-v-9e420a26] {
|
|
950
|
+
display: flex;
|
|
951
|
+
flex-direction: column;
|
|
952
|
+
gap: 2px;
|
|
953
|
+
margin-bottom: 6px;
|
|
954
|
+
padding-bottom: 8px;
|
|
955
|
+
border-bottom: 1px solid rgba(125, 160, 220, 0.1);
|
|
956
|
+
}
|
|
957
|
+
.tool-step[data-v-9e420a26] {
|
|
958
|
+
display: flex;
|
|
959
|
+
align-items: center;
|
|
960
|
+
gap: 7px;
|
|
961
|
+
padding: 4px 6px;
|
|
962
|
+
border-radius: 8px;
|
|
963
|
+
transition: background 0.2s ease;
|
|
964
|
+
animation: step-in-9e420a26 0.25s cubic-bezier(0.16, 1, 0.3, 1);
|
|
965
|
+
}
|
|
966
|
+
.tool-step--loading .tool-step__icon[data-v-9e420a26] {
|
|
967
|
+
color: var(--color-accent);
|
|
968
|
+
}
|
|
969
|
+
.tool-step--loading .tool-step__name[data-v-9e420a26] {
|
|
970
|
+
color: rgba(200, 215, 240, 0.85);
|
|
971
|
+
}
|
|
972
|
+
.tool-step--done .tool-step__icon[data-v-9e420a26] {
|
|
973
|
+
color: var(--color-success);
|
|
974
|
+
}
|
|
975
|
+
.tool-step--done .tool-step__name[data-v-9e420a26] {
|
|
976
|
+
color: rgba(200, 215, 240, 0.55);
|
|
977
|
+
}
|
|
978
|
+
.tool-step--error .tool-step__icon[data-v-9e420a26] {
|
|
979
|
+
color: var(--color-error);
|
|
980
|
+
}
|
|
981
|
+
.tool-step--error .tool-step__name[data-v-9e420a26] {
|
|
982
|
+
color: rgba(248, 113, 113, 0.8);
|
|
983
|
+
}
|
|
984
|
+
.tool-step--executing[data-v-9e420a26] {
|
|
985
|
+
background: rgba(129, 140, 248, 0.06);
|
|
986
|
+
}
|
|
987
|
+
.tool-step--executing .tool-step__icon[data-v-9e420a26] {
|
|
988
|
+
color: var(--color-accent);
|
|
989
|
+
}
|
|
990
|
+
@keyframes step-in-9e420a26 {
|
|
991
|
+
from {
|
|
992
|
+
opacity: 0;
|
|
993
|
+
transform: translateX(-6px);
|
|
994
|
+
}
|
|
995
|
+
to {
|
|
996
|
+
opacity: 1;
|
|
997
|
+
transform: translateX(0);
|
|
998
|
+
}
|
|
999
|
+
}
|
|
1000
|
+
.tool-step__icon[data-v-9e420a26] {
|
|
1001
|
+
display: flex;
|
|
1002
|
+
align-items: center;
|
|
1003
|
+
justify-content: center;
|
|
1004
|
+
width: 18px;
|
|
1005
|
+
height: 18px;
|
|
1006
|
+
flex-shrink: 0;
|
|
1007
|
+
}
|
|
1008
|
+
.tool-step__spinner[data-v-9e420a26] {
|
|
1009
|
+
animation: tool-spin-9e420a26 0.8s linear infinite;
|
|
1010
|
+
}
|
|
1011
|
+
@keyframes tool-spin-9e420a26 {
|
|
1012
|
+
from {
|
|
1013
|
+
transform: rotate(0deg);
|
|
1014
|
+
}
|
|
1015
|
+
to {
|
|
1016
|
+
transform: rotate(360deg);
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
.tool-step__name[data-v-9e420a26] {
|
|
1020
|
+
font-size: 12px;
|
|
1021
|
+
font-weight: 500;
|
|
1022
|
+
white-space: nowrap;
|
|
1023
|
+
overflow: hidden;
|
|
1024
|
+
text-overflow: ellipsis;
|
|
1025
|
+
transition: color 0.2s ease;
|
|
1026
|
+
}
|
|
1027
|
+
.tool-step__tag[data-v-9e420a26] {
|
|
1028
|
+
font-size: 10px;
|
|
1029
|
+
font-weight: 500;
|
|
1030
|
+
padding: 1px 6px;
|
|
1031
|
+
border-radius: 4px;
|
|
1032
|
+
white-space: nowrap;
|
|
1033
|
+
flex-shrink: 0;
|
|
1034
|
+
}
|
|
1035
|
+
.tool-step__tag--exec[data-v-9e420a26] {
|
|
1036
|
+
background: rgba(129, 140, 248, 0.12);
|
|
1037
|
+
color: var(--color-accent);
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
/* ── 思考中动画 ── */
|
|
1041
|
+
.thinking-dots[data-v-9e420a26] {
|
|
1042
|
+
display: inline-flex;
|
|
1043
|
+
align-items: center;
|
|
1044
|
+
gap: 5px;
|
|
1045
|
+
padding: 2px 0;
|
|
1046
|
+
}
|
|
1047
|
+
.thinking-dots span[data-v-9e420a26] {
|
|
1048
|
+
width: 5px;
|
|
1049
|
+
height: 5px;
|
|
1050
|
+
border-radius: 50%;
|
|
1051
|
+
background: var(--text-secondary);
|
|
1052
|
+
animation: thinking-bounce-9e420a26 1s infinite ease-in-out;
|
|
1053
|
+
}
|
|
1054
|
+
.thinking-dots span[data-v-9e420a26]:nth-child(2) {
|
|
1055
|
+
animation-delay: 0.15s;
|
|
1056
|
+
}
|
|
1057
|
+
.thinking-dots span[data-v-9e420a26]:nth-child(3) {
|
|
1058
|
+
animation-delay: 0.3s;
|
|
1059
|
+
}
|
|
1060
|
+
@keyframes thinking-bounce-9e420a26 {
|
|
1061
|
+
0%, 100% {
|
|
1062
|
+
transform: translateY(0);
|
|
1063
|
+
opacity: 0.3;
|
|
1064
|
+
}
|
|
1065
|
+
50% {
|
|
1066
|
+
transform: translateY(-3px);
|
|
1067
|
+
opacity: 1;
|
|
1068
|
+
}
|
|
1069
|
+
}
|
|
1070
|
+
/* ── 文本内容 ── */
|
|
1071
|
+
.agent-text[data-v-9e420a26] {
|
|
1072
|
+
font-size: 14px;
|
|
1073
|
+
line-height: 1.55;
|
|
1074
|
+
color: var(--text-primary);
|
|
1075
|
+
white-space: pre-wrap;
|
|
1076
|
+
word-break: break-word;
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
/* ── 气泡淡入淡出过渡 ── */
|
|
1080
|
+
.bubble-fade-enter-active[data-v-9e420a26] {
|
|
1081
|
+
transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
|
|
1082
|
+
}
|
|
1083
|
+
.bubble-fade-leave-active[data-v-9e420a26] {
|
|
1084
|
+
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1085
|
+
}
|
|
1086
|
+
.bubble-fade-enter-from[data-v-9e420a26] {
|
|
1087
|
+
opacity: 0;
|
|
1088
|
+
transform: translateY(12px) scale(0.95);
|
|
1089
|
+
}
|
|
1090
|
+
.bubble-fade-leave-to[data-v-9e420a26] {
|
|
1091
|
+
opacity: 0;
|
|
1092
|
+
transform: translateY(8px) scale(0.97);
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
/* ── 监听状态指示器 ── */
|
|
1096
|
+
.listening-badge[data-v-9e420a26] {
|
|
1097
|
+
position: absolute;
|
|
1098
|
+
top: -8px;
|
|
1099
|
+
right: -8px;
|
|
1100
|
+
width: 32px;
|
|
1101
|
+
height: 32px;
|
|
1102
|
+
border-radius: 50%;
|
|
1103
|
+
background-color: rgba(0, 0, 0, 0.72);
|
|
1104
|
+
display: flex;
|
|
1105
|
+
align-items: center;
|
|
1106
|
+
justify-content: center;
|
|
1107
|
+
}
|
|
1108
|
+
.listening-waves[data-v-9e420a26] {
|
|
1109
|
+
position: absolute;
|
|
1110
|
+
inset: 0;
|
|
1111
|
+
display: flex;
|
|
1112
|
+
align-items: center;
|
|
1113
|
+
justify-content: center;
|
|
1114
|
+
}
|
|
1115
|
+
.wave[data-v-9e420a26] {
|
|
1116
|
+
position: absolute;
|
|
1117
|
+
width: 100%;
|
|
1118
|
+
height: 100%;
|
|
1119
|
+
border-radius: 50%;
|
|
1120
|
+
border: 2px solid rgba(255, 255, 255, 0.65);
|
|
1121
|
+
animation: wave-expand-9e420a26 3s ease-out infinite;
|
|
1122
|
+
}
|
|
1123
|
+
.wave-1[data-v-9e420a26] {
|
|
1124
|
+
animation-delay: 0s;
|
|
1125
|
+
}
|
|
1126
|
+
.wave-2[data-v-9e420a26] {
|
|
1127
|
+
animation-delay: 0.6s;
|
|
1128
|
+
}
|
|
1129
|
+
.wave-3[data-v-9e420a26] {
|
|
1130
|
+
animation-delay: 1.2s;
|
|
1131
|
+
}
|
|
1132
|
+
.listening-icon[data-v-9e420a26] {
|
|
1133
|
+
position: relative;
|
|
1134
|
+
color: #fff;
|
|
1135
|
+
}
|
|
1136
|
+
.listening-badge.wake-active[data-v-9e420a26] {
|
|
1137
|
+
background-color: rgba(34, 197, 94, 0.9);
|
|
1138
|
+
animation: wake-badge-pop-9e420a26 0.35s ease;
|
|
1139
|
+
}
|
|
1140
|
+
.indicator-fade-enter-active[data-v-9e420a26],
|
|
1141
|
+
.indicator-fade-leave-active[data-v-9e420a26] {
|
|
1142
|
+
transition: all 0.2s ease;
|
|
1143
|
+
}
|
|
1144
|
+
.indicator-fade-enter-from[data-v-9e420a26],
|
|
1145
|
+
.indicator-fade-leave-to[data-v-9e420a26] {
|
|
1146
|
+
opacity: 0;
|
|
1147
|
+
transform: translateY(6px);
|
|
1148
|
+
}
|
|
1149
|
+
@media (max-width: 768px) {
|
|
1150
|
+
.bubble-stack[data-v-9e420a26] {
|
|
1151
|
+
width: min(320px, 88vw);
|
|
1152
|
+
max-height: min(54vh, 420px);
|
|
1153
|
+
}
|
|
1154
|
+
.status-pill[data-v-9e420a26] {
|
|
1155
|
+
max-width: 220px;
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
@keyframes wave-expand-9e420a26 {
|
|
1159
|
+
0% {
|
|
1160
|
+
transform: scale(0.8);
|
|
1161
|
+
opacity: 0.8;
|
|
1162
|
+
}
|
|
1163
|
+
100% {
|
|
1164
|
+
transform: scale(1.2);
|
|
1165
|
+
opacity: 0;
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
@keyframes wake-badge-pop-9e420a26 {
|
|
1169
|
+
0% {
|
|
1170
|
+
transform: scale(1);
|
|
1171
|
+
}
|
|
1172
|
+
50% {
|
|
1173
|
+
transform: scale(1.35);
|
|
1174
|
+
}
|
|
1175
|
+
100% {
|
|
1176
|
+
transform: scale(1);
|
|
1177
|
+
}
|
|
849
1178
|
}
|