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​