Embed

#嵌入


你可以轻松地将聊天小部件添加到你的网站中。只需复制提供的部件脚本,并将其粘贴到HTML文件中<body></body>标签之间的任意位置即可。

组件设置

以下视频展示了如何将小部件脚本注入到任何网页中。

{% embed url="https://github.com/FlowiseAI/Flowise/assets/26460777/c128829a-2d08-4d60-b821-1e41a9e677d0" %}

使用特定版本

你可以指定要使用的flowise-embed的web.js版本。如需查看完整版本列表,请访问:https://www.npmjs.com/package/flowise-embed

<script type="module">
  从以下链接导入Chatbot:https://cdn.jsdelivr.net/npm/flowise-embed@<some-version>/dist/web.js;
  Chatbot.init({
    chatflowid: '在此处输入您的聊天流程ID',,
    apiHost: '在此处输入您的API主机',,
  })
</script>

{% 提示 样式="警告" %}

在Flowise v2.1.0版本中,我们修改了流式处理的工作方式。如果您的Flowise版本低于此版本,您可能会发现您的嵌入式聊天机器人无法接收消息。

你可以将Flowise更新到v2.1.0或以上版本

或者,如果出于某种原因您不想更新Flowise,您可以指定Flowise-Embed的最新v1.x.x版本。最后维护的web.js版本是v1.3.14

例如:

https://cdn.jsdelivr.net/npm/[email protected]/dist/web.js

聊天流程配置

你可以传递chatflowConfig JSON对象来覆盖现有配置。这与API中的https://github.com/zzzz1997/nvmmeai-doc/blob/master/using-flowise/broken-reference/README.md相同。


/// 译文内容:
---
根据上面的信息,执行如下指令:
缺失译文,请检查输入
<script type="module">
  从以下链接导入Chatbot:https://cdn.jsdelivr.net/npm/flowise-embed/dist/web.js;
  Chatbot.init({
    chatflowid: '在此处输入您的聊天流程ID',,
    apiHost: '在此处输入您的API主机',,
    chatflowConfig: {
      "sessionId": "123",,
      "returnSourceDocuments": true
    }
  })
</script>

观察者配置

这允许您根据聊天机器人中的信号观测结果,在父进程中执行代码。

<script type="module">
  从'https://cdn.jsdelivr.net/npm/flowise-embed/dist/web.js'导入Chatbot;
  Chatbot.init({
    chatflowid: '在此处输入您的聊天流程ID',,
    apiHost: '请在此处输入您的API主机',,
    观察者配置:{
      // 用户输入已更改
      observeUserInput: (userInput) => {
        console.log({ userInput });;
      },
      // 机器人消息堆栈已更改
      observeMessages: (messages) => {
        console.log({ messages });;
      },
      // 机器人加载信号已改变
      observeLoading: (loading) => {
        console.log({ loading });;
      },
    },
  })
</script>

主题

你可以通过主题属性来更改嵌入式聊天机器人的整体外观,并启用如工具提示、免责声明、自定义欢迎消息等功能。这使你能够深度定制小部件的外观和感觉,包括:

  • 按钮:位置、大小、颜色、图标、拖放行为和自动打开。

  • **提示框:**可见性、消息文本、背景颜色、文本颜色和字体大小。

  • 免责声明:标题、消息、文本颜色、按钮颜色和背景颜色,包括一个模糊覆盖选项。

  • 聊天窗口:标题、客服/用户消息显示、欢迎/错误消息、背景颜色/图片、尺寸、字体大小、启动提示、HTML渲染、消息样式(颜色、头像)、文本输入行为(占位符、颜色、字符限制、音效)、反馈选项、日期/时间显示以及底部自定义。

  • 自定义CSS:直接注入CSS代码,以便更精细地控制外观,并根据需要覆盖默认样式(请参阅下面的说明指南

<script type="module">
  从以下链接导入Chatbot:https://cdn.jsdelivr.net/npm/flowise-embed/dist/web.js;
  Chatbot.init({
    chatflowid: '在此处输入您的聊天流程ID',,
    apiHost: '请在此处输入您的API主机',,
    主题:{
      按钮:{
        背景颜色:'#3B81F6',
        右:20,
        底部:20,
        size: 48, // 小 | 中 | 大 | 数字
        dragAndDrop: true,,
        图标颜色:'白色',
        customIconSrc: 'https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/svg/google-messages.svg',,
        autoWindowOpen: {
          autoOpen: true, //控制窗口自动打开的参数
          openDelay: 2, // 可选参数,延迟时间(秒)
          autoOpenOnMobile: false, // 控制移动设备上自动打开窗口的参数
        },
      },
      工具提示:{
        显示提示:true,
        提示信息:嗨,你好👋!',
        工具提示背景颜色:'黑色',
        工具提示文本颜色:'白色',
        提示字体大小:16,
      },
      免责声明:{
        标题:免责声明,
        消息:使用此聊天机器人,即表示您同意<a target="_blank" href="https://flowiseai.com/terms">条款与条件</a>,
        文本颜色:'黑色',
        按钮颜色:'#3b82f6',
        buttonText: '开始聊天',,
        按钮文本颜色:'白色',
        blurredBackgroundColor: 'rgba(0, 0, 0, 0.4)', //覆盖在聊天界面上的模糊背景的颜色
        背景颜色:'白色',
      },
      customCSS: '', // 添加自定义CSS样式。使用!important来覆盖默认样式
      聊天窗口:{
        显示标题:是,
        显示智能体消息:是,
        标题:'Flowise Bot',
        titleAvatarSrc: 'https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/svg/google-messages.svg',,
        标题文本颜色:'#ffffff',
        标题背景颜色:'#3B81F6',
        欢迎信息:'您好!这是自定义的欢迎信息',,
        错误信息:'这是一个自定义错误信息',
        背景颜色:'#ffffff',
        backgroundImage: '输入图片路径或链接', // 如果设置,这将覆盖聊天窗口的背景颜色。
        高度:700,
        宽度:400,
        字体大小:16,
        启动提示:['什么是机器人?', '你是谁?'],// 它覆盖了通过聊天流程设置的启动提示
        启动提示字体大小:15,
        clearChatOnReload: false, // 如果设置为 true,则页面重新加载时聊天内容将被清除
        sourceDocsTitle: '来源:',
        renderHTML: true,,
        机器人消息:{
          背景颜色:'#f7f8ff',
          文本颜色:'#303235',
          showAvatar: true,,
          头像源:'https://raw.githubusercontent.com/zahidkhawaja/langchain-chat-nextjs/main/public/parroticon.png',
        },
        userMessage: {
          背景颜色:'#3B81F6',
          文本颜色:'#ffffff',
          `showAvatar`设置为`true`,
          头像源:'https://raw.githubusercontent.com/zahidkhawaja/langchain-chat-nextjs/main/public/usericon.png',
        },
        文本输入:{
          占位符:'请输入您的问题',
          背景颜色:'#ffffff',
          文本颜色:'#303235',
          发送按钮颜色:'#3B81F6',
          最大字符数:50,
          maxCharsWarningMessage: '您已超过字符限制。请输入少于50个字符。'。',
          autoFocus: true, // 如果未使用,则移动设备上禁用自动对焦,桌面设备上启用。true 表示两者都启用,false 表示两者都禁用。
          sendMessageSound: true,,
          // sendSoundLocation: "send_message.mp3", // 如果未使用此项,则当sendSoundMessage为true时,将播放默认音效。
          receiveMessageSound: true,,
          // receiveSoundLocation: "receive_message.mp3", // 如果未使用此项,则当receiveSoundMessage为true时,将播放默认音效。
        },
        反馈:{
          颜色:'#303235',
        },
        dateTimeToggle: {
          日期:是,
          时间:true,
        },
        页脚:{
          文本颜色:'#303235',
          文本:“由...提供技术支持”,
          公司:'Flowise',
          companyLink: 'https://flowiseai.com',,
        },
      },
    },
  });
</script>

**注意:**请参阅完整的配置列表

自定义代码修改

要修改嵌入式聊天小部件的完整源代码,请按照以下步骤操作:

  1. 分支Flowise ChatEmbed仓库

  2. 运行yarn install以安装必要的依赖项

  3. 然后你可以进行任何代码修改

  4. 运行yarn build以获取更改

  5. 将更改推送到已分叉的仓库

  6. 然后,你可以像这样使用自定义的web.js作为嵌入式聊天:

username替换为您的Github用户名,将forked-repo替换为您的forked repo。


</strong>      从“https://cdn.jsdelivr.net/gh/username/forked-repo/dist/web.js”导入Chatbot
      Chatbot.init({
          chatflowid: "你的聊天流程ID在这里",,
          apiHost: "请在此处输入您的API主机",,
      })

<script type="module"> 从“https://cdn.jsdelivr.net/gh/HenryHengZJ/FlowiseChatEmbed-Test/dist/web.js”导入Chatbot Chatbot.init({ chatflowid: "你的聊天流程ID在这里",, apiHost: "请在此处填写您的API主机地址",, })</script>{% 提示 样式="信息" %} unpkg是jsdelivr的一个替代选项。以下是一个示例:

https://unpkg.com/flowise-embed/dist/web.js

{% 结束提示 %}

自定义CSS修改

现在,您可以直接添加自定义CSS来设计嵌入式聊天小部件的样式,无需自定义web.js文件(需使用v2.0.8或更高版本)。这使您能够:

  • 为每个嵌入式聊天机器人赋予独特的外观和感觉

  • 使用官方的web.js——无需再进行自定义构建或托管以进行样式设置

  • 立即更新样式

使用方法如下:

<script src="https://cdn.jsdelivr.net/gh/FlowiseAI/FlowiseChatEmbed@main/dist/web.js"></script>
<script>
  Chatbot.init({
    chatflowid: "你的聊天流程ID在这里",,
    apiHost: "请在此处填写您的API主机地址",,
    主题:{
      // ... 其他主题设置
      自定义CSS:`
        /* 您的自定义CSS代码在此 */
        /* 使用 !important 来覆盖默认样式 */
      `,
    }
  });
</script>

CORS

在使用嵌入式聊天小部件时,您可能会遇到CORS问题,例如:

{% 提示 style="danger" %}

从源站“https://<your-flowise.com>”访问“https://<your-flowise.com>/api/v1/prediction/”以获取数据的行为已被CORS策略阻止:请求的资源上未出现“Access-Control-Allow-Origin”标头。

要修复此问题,请指定以下环境变量:

CORS_ORIGINS=*
IFRAME_ORIGINS=*

例如,如果你正在使用npx flowise start

npx flowise start --CORS_ORIGINS=* --IFRAME_ORIGINS=*

如果使用Docker,请将环境变量置于Flowise/docker/.env文件中

如果使用本地Git克隆,请将环境变量放置在Flowise/packages/server/.env文件中

视频教程

这两个视频将教你如何将Flowise小部件嵌入到网站中。

Last updated