Hello ADP Logo
Knowledge Base

把应用发布为网页

如何在 Vercel 部署腾讯云智能体 chatbot 前端

腾讯云智能体平台 ADP Chatbot 前端部署教程

本项目是腾讯云智能体开发平台(Tencent Cloud Agent Development Platform,Tencent Cloud ADP)的第三方 Chatbot 前端。

它基于 React 构建,提供与腾讯云智能体后端服务的实时聊天交互功能,支持 WebSocket 和 SSE 两种连接方式,具备 Token 管理和 AI 对话能力。

🚀 快速部署

Vercel 一键部署

点击下方按钮,即可一键部署到 Vercel:

Deploy with Vercel

配置环境变量(见下方)后,点击 Deploy 即可开始使用。

手动部署到 Vercel

  1. 将项目推送到你的 GitHub 仓库
  2. 登录 Vercel 并导入你的仓库
  3. 在项目设置中,配置环境变量(见下方)
  4. 点击 "Deploy" 开始部署

🔧 环境变量配置

部署时需要配置以下环境变量:

  • TENCENT_SECRET_ID: 你的腾讯云 API 密钥 ID
  • TENCENT_SECRET_KEY: 你的腾讯云 API 密钥 Key
  • TENCENT_APP_ID: 你的腾讯云应用 ID

如何获取环境变量

:::info[获取步骤]

  1. 进入 API 密钥管理
  2. 新建密钥
  3. 获取 API 密钥 ID 和 API 密钥 Key
  4. 应用管理 中创建应用
  5. 进入 腾讯云智能体平台 -> 应用 -> 应用发布 -> API 管理 -> 复制 AppKey 获取应用 ID :::

在 Vercel 项目设置中添加这些环境变量:

Vercel 环境变量配置

🌐 作为网页嵌入

方式一:作为 iframe 内嵌

将部署后的地址直接以 iframe 引入:

<iframe
  src="https://adp-chat-ui.vercel.app" //此处替换为你的部署地址
  style="width: 100%; height: 600px; border: 0;"
  allow="clipboard-write *; microphone; camera"
></iframe>

你可以根据页面需要调整宽高与样式。

方式二:用 script 动态注入悬浮窗(简易版)

在任意网页底部加入如下脚本,即可生成一个固定在右下角的聊天悬浮窗:

<script>
(function () {
  var url = 'https://adp-chat-ui.vercel.app'; // 你的部署地址
  var iframe = document.createElement('iframe');
  iframe.src = url;
  iframe.style.cssText = [
    'position:fixed',
    'right:24px',
    'bottom:24px',
    'width:380px',
    'height:600px',
    'border:1px solid #e5e7eb',
    'border-radius:12px',
    'box-shadow:0 10px 30px rgba(0,0,0,.15)',
    'z-index:2147483647',
    'background:#fff'
  ].join(';');
  iframe.setAttribute('allow', 'clipboard-write *; microphone; camera');
  document.body.appendChild(iframe);
})();
</script>

方式三:一行脚本(推荐)

本仓库已在 public/ 提供优化的 embed.min.js,部署后可通过一行脚本接入。特性包括:

  • 🎨 与主应用配色一致:使用 teal 色系 (#0d9488)
  • 流畅动画效果:展开/收起带 0.2s 缓动动画
  • 🎯 优化图标设计:28x28 像素清晰聊天图标
  • 🧹 简洁界面:无冗余标题,专注聊天体验
  • 💾 状态记忆:localStorage 保存展开/最小化状态

最简接入

<script>
  window.adpChatbotConfig = {
    baseUrl: 'https://adp-chat-ui.vercel.app' // 替换为你的部署域名
  };
</script>
<script src="https://adp-chat-ui.vercel.app/embed.min.js" defer></script>

完整配置示例

<script>
  window.adpChatbotConfig = {
    baseUrl: 'https://adp-chat-ui.vercel.app', // 你的部署域名
    width: 380,           // 聊天窗宽度
    height: 600,          // 聊天窗高度
    right: 24,            // 距离右边距离
    bottom: 24,           // 距离底部距离
    bubbleColor: '#0d9488', // 气泡按钮颜色(默认 teal 色)
    iframePath: '/',      // 聊天页面路径
    allow: 'clipboard-write *; microphone; camera' // iframe 权限
  };
</script>
<script src="https://adp-chat-ui.vercel.app/embed.min.js" defer></script>

调用控制

// 在外部页面中可随时控制:
window.ADPChatbot.open();   // 打开
window.ADPChatbot.close();  // 最小化
window.ADPChatbot.toggle(); // 切换

样式自定义

<style>
  /* 自定义气泡按钮颜色 */
  [data-adp-chatbot="bubble"] {
    background-color: #your-color !important;
  }
  
  /* 自定义聊天窗尺寸 */
  [data-adp-chatbot="wrap"] {
    width: 400px !important;
    height: 650px !important;
  }
</style>

:::warning[注意事项]

  • 该嵌入方式不会暴露 TENCENT_SECRET_ID/KEY 等敏感信息:iframe 内的应用会自行调用其同域的 /getDemoToken 接口完成鉴权
  • 确保部署域名允许被其它站点 iframe:不要设置 X-Frame-Options: DENY,若使用 CSP,请为 frame-ancestors 配置允许的上级域名
  • 若目标站点使用严格的 CSP,请为 script-src/frame-src 增加你的部署域名
  • 高级联动(如页面与聊天窗的双向通信)可通过 postMessage 实现 :::

🧪 本地开发与测试

环境准备

  1. 确保已安装 Node.js (推荐使用 LTS 版本)

  2. 克隆项目到本地:

    git clone https://github.com/stvlynn/ADP-Chat-UI.git
    cd ADP-Chat-UI
  3. 安装依赖:

    npm install

配置环境变量

  1. 在项目根目录下复制 .env.local.example 文件为 .env.local 文件
cp .env.local.example .env.local
  1. 添加以下环境变量:

    TENCENT_SECRET_ID=your_secret_id
    TENCENT_SECRET_KEY=your_secret_key
    TENCENT_APP_ID=your_app_id

启动开发服务器

npm run dev

开发服务器将在 http://localhost:9091 启动。

构建生产版本

npm run build

构建后的文件将位于 dist/ 目录。

🔍 故障排除

常见问题

  1. 部署失败

    • 检查环境变量是否正确配置
    • 确保腾讯云密钥有效且有权限访问 ADP 服务
  2. 聊天功能不工作

    • 验证 TENCENT_APP_ID 是否正确
    • 检查腾讯云智能体应用是否已发布
  3. 嵌入后样式问题

    • 确认目标站点没有阻止 iframe
    • 检查 CSP 策略是否允许加载外部资源

调试技巧

  • 在浏览器开发者工具中查看网络请求
  • 检查控制台是否有错误信息
  • 使用 Vercel 的部署日志排查问题