Skip to content

AIBlueking 浮窗模式

AIBlueking 是一个功能完整的 AI 聊天面板组件,内置悬浮球(Nimbus)、拖拽、划词选择等交互能力,适用于 SaaS 全局 AI 助手场景。

效果说明

AIBlueking 挂载后在页面右下角显示 Nimbus 浮球图标,点击展开对话面板。

核心功能

  • 浮球入口:页面右下角的 Nimbus 浮球,点击即可展开/收起 AI 对话面板。
  • 拖拽面板:对话面板支持自由拖拽和调整大小,不影响宿主页面布局。
  • 划词弹窗:用户在页面中选中文本后,自动弹出快捷操作菜单(如"解释"、"翻译"等),将选中内容作为上下文发送给 AI。
  • 内置会话管理:面板顶部 Header 提供会话下拉列表、新建会话、切换会话、重命名等完整会话管理功能。

TIP

AIBlueking 和 ChatBot 一样,都只需传入 url 即可开箱即用。快捷指令、提示词、欢迎语等均由 AIDev 后台配置,组件自动加载。

最小配置示例

vue
<template>
  <AIBlueking url="https://your-aidev-url.com/api/" />
</template>

<script setup lang="ts">
  import { AIBlueking } from "@blueking/ai-blueking"
  import "@blueking/ai-blueking/dist/vue3/style.css"
</script>

完整示例

vue
<template>
  <div>
    <button @click="showPanel">打开面板</button>
    <button @click="hidePanel">关闭面板</button>

    <AIBlueking
      ref="aiBluekingRef"
      url="https://your-aidev-url.com/api/"
      :request-options="requestOptions"
      :enable-popup="true"
      :draggable="true"
      :default-height="700"
      :default-width="500"
      @send-message="handleSendMessage"
      @receive-end="handleReceiveEnd"
    />
  </div>
</template>

<script setup lang="ts">
  import { ref } from "vue"
  import { AIBlueking } from "@blueking/ai-blueking"
  import type { AIBluekingExpose } from "@blueking/ai-blueking"

  const aiBluekingRef = ref<AIBluekingExpose>()

  const requestOptions = {
    headers: () => ({ Authorization: `Bearer ${getToken()}` }),
  }

  const showPanel = () => aiBluekingRef.value?.show()
  const hidePanel = () => aiBluekingRef.value?.hide()

  const handleSendMessage = (message: string) => {
    console.log("用户发送:", message)
  }

  const handleReceiveEnd = (response: any) => {
    console.log("AI 回复完成:", response)
  }
</script>

关键说明

悬浮球 (Nimbus)

AIBlueking 内置了悬浮球组件,用户点击悬浮球即可打开/关闭面板。

  • 设置 enable-popuptrue 启用弹出模式,面板会以浮动窗口的形式展示。
  • 悬浮球默认显示在页面右下角,可通过样式自定义位置。
vue
<AIBlueking :enable-popup="true" />

拖拽

通过 draggable 属性启用面板拖拽功能,用户可自由移动面板位置。

vue
<AIBlueking :draggable="true" :default-height="700" :default-width="500" />

尺寸与位置控制

属性类型默认值说明
default-heightnumber600面板默认高度(px)
default-widthnumber400面板默认宽度(px)
draggablebooleanfalse是否允许拖拽移动
enable-popupbooleanfalse是否启用弹出模式

Expose 方法

方法说明
show()打开面板
hide()关闭面板
toggle()切换面板显示/隐藏
sendMessage(text)以编程方式发送消息
getChatHelper()获取底层 chatHelper 实例

与 ChatBot 的区别

特性ChatBotAIBlueking
悬浮球
拖拽
划词选择
面板控制
独立嵌入
轻量级

详细的 Props 和 API 请参考 AIBlueking 浮窗模式 指南。

All Rights Reserved. 腾讯蓝鲸 版权所有