import{_ as s,o as i,c as a,a4 as e}from"./chunks/framework.Cre9sSJa.js";const d="/__DOCS_BASE__/images/guide/aiblueking-structure.png",g=JSON.parse('{"title":"AIBlueking 浮窗模式","description":"","frontmatter":{},"headers":[],"relativePath":"guide/integration-modes/aiblueking-floating.md","filePath":"guide/integration-modes/aiblueking-floating.md"}'),n={name:"guide/integration-modes/aiblueking-floating.md"};function l(h,t,o,r,k,p){return i(),a("div",null,[...t[0]||(t[0]=[e(`<h1 id="aiblueking-浮窗模式" tabindex="-1">AIBlueking 浮窗模式 <a class="header-anchor" href="#aiblueking-浮窗模式" aria-label="Permalink to &quot;AIBlueking 浮窗模式&quot;">​</a></h1><p><code>AIBlueking</code> 是 AI 小鲸的顶层组件，提供开箱即用的全局 AI 助手体验。它在 <code>ChatBot</code> 的基础上集成了浮球入口、可拖拽容器、会话管理侧栏、文本选中弹窗等完整功能。</p><div class="tip custom-block"><p class="custom-block-title">AIDev 自动加载</p><p>组件初始化时会自动通过 <code>agent/info</code> 接口加载 Agent 配置（快捷指令、提示词、欢迎语等），<strong>无需手动传入</strong>。你只需要提供 AIDev 平台发布后的 URL。</p></div><h2 id="适用场景" tabindex="-1">适用场景 <a class="header-anchor" href="#适用场景" aria-label="Permalink to &quot;适用场景&quot;">​</a></h2><ul><li><strong>SaaS 全局 AI 助手</strong>：页面右下角展示 Nimbus 浮球，点击即可展开 AI 对话面板。</li><li><strong>拖拽面板</strong>：对话面板可自由拖拽、调整大小，不影响宿主页面布局。</li><li><strong>划词弹窗</strong>：用户在页面中选中文本后，弹出快捷操作菜单（如&quot;解释&quot;、&quot;翻译&quot;等）。</li><li><strong>辅助工具</strong>：嵌入各类 SaaS 产品作为辅助工具，提供 AI 对话能力。</li></ul><h2 id="快速开始" tabindex="-1">快速开始 <a class="header-anchor" href="#快速开始" aria-label="Permalink to &quot;快速开始&quot;">​</a></h2><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">AIBlueking</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">    ref</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;aiBluekingRef&quot;</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">    url</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;https://your-aidev-url.com/api/&quot;</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">    :enable-popup</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;true&quot;</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">    :draggable</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;true&quot;</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">    @send-message</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;handleSendMessage&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  /&gt;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { AIBlueking } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;@blueking/ai-blueking&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;@blueking/ai-blueking/dist/vue3/style.css&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Vue 2 项目使用：import &#39;@blueking/ai-blueking/dist/vue2/style.css&#39;;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { AIBluekingExpose } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;@blueking/ai-blueking&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> aiBluekingRef</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ref</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">AIBluekingExpose</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;();</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> handleSendMessage</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">message</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> string</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;发送:&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, message);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">};</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 面板控制（show 返回 Promise，建议 await 后再读 session）</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> showPanel</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> async</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> () </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">  await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> aiBluekingRef.value?.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">show</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">};</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> hidePanel</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> () </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> aiBluekingRef.value?.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">hide</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> showWithSession</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> async</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">code</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> string</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">  await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> aiBluekingRef.value?.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">show</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(code);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">};</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div><h2 id="核心功能" tabindex="-1">核心功能 <a class="header-anchor" href="#核心功能" aria-label="Permalink to &quot;核心功能&quot;">​</a></h2><h3 id="nimbus-浮球" tabindex="-1">Nimbus 浮球 <a class="header-anchor" href="#nimbus-浮球" aria-label="Permalink to &quot;Nimbus 浮球&quot;">​</a></h3><p>Nimbus 是页面右下角的浮球入口，点击后展开对话面板。可通过 <code>hideNimbus</code> 属性隐藏浮球，改为自行控制面板的显示/隐藏。</p><h3 id="draggablecontainer-可拖拽容器" tabindex="-1">DraggableContainer 可拖拽容器 <a class="header-anchor" href="#draggablecontainer-可拖拽容器" aria-label="Permalink to &quot;DraggableContainer 可拖拽容器&quot;">​</a></h3><p>对话面板支持自由拖拽和调整大小，通过 <code>draggable</code> 属性启用。可通过 <code>defaultHeight</code>、<code>defaultWidth</code>、<code>defaultLeft</code>、<code>defaultTop</code> 设置初始位置和尺寸。</p><h3 id="aiheader-会话管理头部" tabindex="-1">AIHeader 会话管理头部 <a class="header-anchor" href="#aiheader-会话管理头部" aria-label="Permalink to &quot;AIHeader 会话管理头部&quot;">​</a></h3><p>面板顶部的 Header 区域包含：</p><ul><li>会话下拉列表：快速切换历史会话</li><li>新建会话按钮：创建新的对话</li><li>会话重命名、删除等管理操作</li></ul><p>可通过 <code>hideHeader</code> 属性隐藏 Header。</p><h3 id="aiselection-文本选中弹窗" tabindex="-1">AiSelection 文本选中弹窗 <a class="header-anchor" href="#aiselection-文本选中弹窗" aria-label="Permalink to &quot;AiSelection 文本选中弹窗&quot;">​</a></h3><p>当用户在页面中选中文本时，自动弹出快捷操作菜单，支持将选中文本作为上下文发送给 AI。通过 <code>enablePopup</code> 属性启用。</p><h2 id="aiblueking-独有-props" tabindex="-1">AIBlueking 独有 Props <a class="header-anchor" href="#aiblueking-独有-props" aria-label="Permalink to &quot;AIBlueking 独有 Props&quot;">​</a></h2><p>除了继承 <code>ChatBot</code> 的所有 Props 外，<code>AIBlueking</code> 还提供以下额外属性：</p><table tabindex="0"><thead><tr><th>属性</th><th>类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code>enablePopup</code></td><td><code>boolean</code></td><td><code>false</code></td><td>是否启用文本选中弹窗（AiSelection）</td></tr><tr><td><code>draggable</code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否启用面板拖拽</td></tr><tr><td><code>hideHeader</code></td><td><code>boolean</code></td><td><code>false</code></td><td>是否隐藏顶部 Header 区域</td></tr><tr><td><code>hideNimbus</code></td><td><code>boolean</code></td><td><code>false</code></td><td>是否隐藏 Nimbus 浮球入口</td></tr><tr><td><code>teleportTo</code></td><td><code>string</code></td><td><code>&#39;body&#39;</code></td><td>面板挂载的目标 DOM 节点选择器</td></tr><tr><td><code>defaultHeight</code></td><td><code>number</code></td><td><code>600</code></td><td>面板默认高度（px）</td></tr><tr><td><code>defaultWidth</code></td><td><code>number</code></td><td><code>400</code></td><td>面板默认宽度（px）</td></tr><tr><td><code>defaultLeft</code></td><td><code>number</code></td><td>—</td><td>面板默认左偏移（px），不传则自动计算</td></tr><tr><td><code>defaultTop</code></td><td><code>number</code></td><td>—</td><td>面板默认上偏移（px），不传则自动计算</td></tr><tr><td><code>miniPadding</code></td><td><code>number</code></td><td><code>10</code></td><td>面板最小化时距离屏幕边缘的间距（px）</td></tr><tr><td><code>enableChatSession</code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否启用会话管理功能（Header 中的会话下拉列表）</td></tr></tbody></table><blockquote><p><strong>提示</strong>：<code>AIBlueking</code> 同样支持 <code>ChatBot</code> 的所有 Props（如 <code>url</code>、<code>requestOptions</code> 等），具体请参考 <a href="./chatbot-embedded.html">ChatBot 页面嵌入模式</a>。</p></blockquote><h2 id="expose-方法" tabindex="-1">Expose 方法 <a class="header-anchor" href="#expose-方法" aria-label="Permalink to &quot;Expose 方法&quot;">​</a></h2><p>通过 <code>ref</code> 获取 <code>AIBlueking</code> 实例后，可调用以下方法：</p><h3 id="面板控制" tabindex="-1">面板控制 <a class="header-anchor" href="#面板控制" aria-label="Permalink to &quot;面板控制&quot;">​</a></h3><table tabindex="0"><thead><tr><th>方法</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code>show(sessionCode?, options?)</code></td><td><code>(sessionCode?: string, options?: { isTemporary?: boolean }) =&gt; Promise&lt;void&gt;</code></td><td>展开面板；<code>await</code> 后在 <code>sessionList</code> 就绪（且默认会完成最近会话初始化）后再 resolve。详见 <a href="__DOCS_BASE__/guide/advanced-usage/programmatic-control.html#show-显示窗口">编程式控制</a></td></tr><tr><td><code>hide()</code></td><td><code>() =&gt; void</code></td><td>收起面板</td></tr><tr><td><code>handleShow(sessionCode?)</code></td><td><code>(sessionCode?: string) =&gt; Promise&lt;void&gt;</code></td><td>展开面板（内部方法）</td></tr><tr><td><code>handleClose()</code></td><td><code>() =&gt; void</code></td><td>收起面板（内部方法）</td></tr></tbody></table><h3 id="消息操作" tabindex="-1">消息操作 <a class="header-anchor" href="#消息操作" aria-label="Permalink to &quot;消息操作&quot;">​</a></h3><table tabindex="0"><thead><tr><th>方法</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code>sendMessage(text)</code></td><td><code>(text: string) =&gt; Promise&lt;void&gt;</code></td><td>以编程方式发送消息</td></tr><tr><td><code>stopGeneration()</code></td><td><code>() =&gt; void</code></td><td>停止当前正在生成的响应</td></tr><tr><td><code>setCiteText(text)</code></td><td><code>(text: string) =&gt; void</code></td><td>设置引用文本到输入框</td></tr><tr><td><code>focusInput()</code></td><td><code>() =&gt; void</code></td><td>聚焦输入框</td></tr></tbody></table><h3 id="快捷方式操作" tabindex="-1">快捷方式操作 <a class="header-anchor" href="#快捷方式操作" aria-label="Permalink to &quot;快捷方式操作&quot;">​</a></h3><table tabindex="0"><thead><tr><th>方法</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code>selectShortcut(shortcut, selectedText?)</code></td><td><code>(shortcut: IShortcut, selectedText?: string) =&gt; void</code></td><td>选择快捷指令并显示表单，不会自动提交</td></tr><tr><td><code>sendShortcut(shortcut, selectedText?)</code></td><td><code>(shortcut: IShortcut, selectedText?: string) =&gt; Promise&lt;void&gt;</code></td><td>直接发送快捷指令（跳过表单）</td></tr></tbody></table><h3 id="会话管理" tabindex="-1">会话管理 <a class="header-anchor" href="#会话管理" aria-label="Permalink to &quot;会话管理&quot;">​</a></h3><table tabindex="0"><thead><tr><th>方法</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code>addNewSession(options?)</code></td><td><code>(options?: CreateSessionOptions) =&gt; Promise&lt;void&gt;</code></td><td>创建新会话并自动切换</td></tr><tr><td><code>switchToSession(code)</code></td><td><code>(code: string) =&gt; Promise&lt;void&gt;</code></td><td>切换到指定会话</td></tr><tr><td><code>updateSessionName(code, name)</code></td><td><code>(sessionCode: string, newName: string) =&gt; Promise&lt;void&gt;</code></td><td>更新指定会话的名称</td></tr></tbody></table><h3 id="容器控制" tabindex="-1">容器控制 <a class="header-anchor" href="#容器控制" aria-label="Permalink to &quot;容器控制&quot;">​</a></h3><table tabindex="0"><thead><tr><th>方法</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code>updatePosition(x, y)</code></td><td><code>(x: number, y: number) =&gt; void</code></td><td>更新面板位置</td></tr><tr><td><code>updateSize(w, h)</code></td><td><code>(w: number, h: number) =&gt; void</code></td><td>更新面板尺寸</td></tr><tr><td><code>updatePositionAndSize(x, y, w, h)</code></td><td><code>(x: number, y: number, w: number, h: number) =&gt; void</code></td><td>同时更新位置和尺寸</td></tr></tbody></table><h3 id="其他" tabindex="-1">其他 <a class="header-anchor" href="#其他" aria-label="Permalink to &quot;其他&quot;">​</a></h3><table tabindex="0"><thead><tr><th>方法</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code>getChatHelper()</code></td><td><code>() =&gt; IChatHelper | null</code></td><td>获取内部 chatHelper 实例</td></tr></tbody></table><h2 id="内部结构" tabindex="-1">内部结构 <a class="header-anchor" href="#内部结构" aria-label="Permalink to &quot;内部结构&quot;">​</a></h2><p><code>AIBlueking</code> 本质上是一个组装层，内部由以下子组件构成：</p><p><img src="`+d+'" alt="AIBlueking 内部结构"></p><p><code>AIBlueking</code> 内部创建并持有 <code>chatHelper</code> 实例，以集成模式将其传递给 <code>ChatBot</code>，确保所有子组件共享同一对话状态。各子组件通过 Manager 模式协调工作：</p><ul><li><strong>Nimbus</strong> 点击 → 调用 <code>show()</code> → <code>DraggableContainer</code> 展开</li><li><strong>AIHeader</strong> 操作 → 通过 <code>SessionBusinessManager</code> 管理会话</li><li><strong>AiSelection</strong> 选中文本 → 调用 <code>setCiteText()</code> → <code>ChatBot</code> 输入框填充引用</li><li><strong>ChatBot</strong> 承担所有核心聊天逻辑</li></ul>',41)])])}const E=s(n,[["render",l]]);export{g as __pageData,E as default};
