Skip to main content

Vue 3 Widget Component Library

Ready-to-use digital employee UI components, build a complete interactive interface in 5 minutes.

Why Choose Widget?

Ready to Use

No need to design UI from scratch, combine components like building blocks:

<script setup lang="ts">
import {PilotKit, ConversationList, Subtitle, ControlPanel} from '@bdky/aaas-pilot-kit-vue3-widget';
import '@bdky/aaas-pilot-kit-vue3-widget/styles.css';
</script>

<template>
<PilotKit token="xxx" figureId="xxx" ttsPer="xxx">
<ConversationList />
<Subtitle />
<ControlPanel />
</PilotKit>
</template>

Automatic Adaptation

PC and mobile automatically switch layouts, no extra code needed. All components support variant property:

  • auto: Automatically detect device type (default)
  • mobile: Force mobile style
  • desktop: Force desktop style

Customizable (When Needed)

Each component supports style overriding and custom rendering, won't be limited by "encapsulation":

<template>
<!-- Custom render -->
<Subtitle v-slot="{speakerName, fullText}">
<div class="my-subtitle">
<span>{{ speakerName }}</span>
<p>{{ fullText }}</p>
</div>
</Subtitle>
</template>

Widget vs SDK

SDK refers to @bdky/aaas-pilot-kit-vue3, which provides underlying composables and event capabilities, requiring you to implement UI yourself.

ScenarioRecommended Approach
Quick launch, low UI requirementsWidget
Need fully customized UI designVue 3 SDK
80% default + 20% tweaksWidget + Style customization
Deep integration into existing design systemVue 3 SDK
Not sure? Try Widget first

If you encounter limitations, switching to SDK is also very easy—they share the same underlying APIs. Widget's internal composables and events come from @bdky/aaas-pilot-kit-vue3.

Component Overview

Core Container

ComponentPurpose
PilotKitCore container, integrates Provider + digital human rendering

Message Display

ComponentPurpose
ConversationListMessage history list
ConversationSingle message
SubtitleReal-time subtitle

Interactive Control

ComponentPurpose
ControlPanelVoice/text input control panel
InputIndependent text input
RecommendedQuestionsRecommended questions list

Overlay

ComponentPurpose
StartupScreenStartup guide page (iOS manual activation)
LoadingOverlayLoading state
StatusOverlayGeneric status prompts (busy, timeout, etc.)

Layout Helper

ComponentPurpose
LayoutFlex layout container
FillAdapterAdaptive fill space

Development Tools

ComponentPurpose
DebugPanelDebug panel, displays events and status

Next Steps

Technical Support