本文介绍如何安装并使用扣子编程低代码 Web SDK,开发者可以参考本文档在自己开发的网站中快速集成一个扣子低代码 AI 应用,为网站集成智能服务。
说明
扣子编程提供两种不同的 Web SDK,分别适用于 AI 编程项目和低代码应用。本文档适用于低代码项目,如需在网站中嵌入 AI 编程搭建的智能体或工作流,请参见Web SDK(AI 编程)。
核心优势:
场景示例:
Web SDK 适用于需要在各类网站或 Web 页面中快速集成完整 AI 应用的场景,例如:
你可以在扣子 Playground 的 Web SDK 页面体验 Web SDK 的使用效果。
Web SDK 的浏览器兼容性及运行环境要求如下表所示。
|
浏览器 |
版本限制 |
|---|---|
|
Chrome |
87.0 及以上 |
|
Edge |
88.0 及以上 |
|
Safari |
14.0 及以上 |
|
Firefox |
78.0 及以上 |
访问密钥用于 Web SDK 的身份认证与鉴权。扣子编程提供多种类型的鉴权方式,你可以根据使用场景选择对应的鉴权方式:
访问密钥必须被授予指定的权限,才能使用 Web SDK 的各项能力。Web SDK 所需的权限列表如下:
|
密钥类型 |
PAT / SAT /普通 OAuth |
渠道 OAuth 访问密钥 |
|---|---|---|
|
权限点 |
|
|
将步骤一中复制好的安装代码粘贴到网页的
标签内,当页面加载时,Web SDK 的 JavaScript 代码会被自动加载并初始化。<body>
<!-- 页面内容 -->
<!-- 粘贴安装代码 -->
<div id="app"></div>
<script type="text/javascript">
var webSdkScript = document.createElement('script');
webSdkScript.src = 'https://lf-cdn.coze.cn/obj/unpkg/flow-platform/builder-web-sdk/0.1.0/dist/umd/index.js';
document.head.appendChild(webSdkScript);
webSdkScript.onload = function () {
new CozeWebSDK.AppWebSDK({
"token": "pat_********",
"appId": "753014795353776***",
"container": "#app",
"userInfo": {
"id": "",
"url": "",
"nickname": "User"
}
});
}
</script>
</body>
你需要配置 Web SDK 的初始化参数、用户信息和 UI 效果。
配置 Web SDK 客户端属性的示例代码如下:
const cozeWebSDK = new CozeWebSDK.AppWebSDK({
token: 'pat_zxzSAzxawer234zASNElEglZxcmWJ5ouCcq12gsAAsqJGALlq7hcOqMcPFV3wEVDiqjrg****',
appId: '740849137970326****',
container: '#app',
// 用户信息
userInfo: {
id: '12345',
url: 'https://lf-coze-web-cdn.coze.cn/obj/coze-web-cn/obric/coze/favicon.***.png',
nickname: '小明',
},
ui: {
className: 'my-client'
}
})
配置 Web SDK 的初始化参数,包括访问密钥、低代码应用 ID 和渲染的容器。
|
参数 |
类型 |
是否必选 |
示例 |
说明 |
|---|---|---|---|---|
|
token |
String |
必选 |
pat_zxzSAzxawer234zASNElEglZxcm*** |
指定使用的访问密钥。 |
|
appId |
String |
必选 |
740849137970326**** |
低代码应用的 ID。在低代码应用编排页面的 URL 中,project-ide 参数之后的字符串就是 appId。 |
|
container |
String |
必选 |
#app |
网页中承载 Web SDK 所有交互内容的元素的 CSS 选择器,Web SDK 会将其所有交互内容渲染至该元素内部。 |
userInfo 参数用于配置和低代码应用对话的用户的信息,包含用户头像、昵称和用户 ID,用于在应用交互中标识用户。
你可以通过引用变量的方式在应用中动态获取用户的头像和昵称,具体请参见引用变量。
|
参数 |
类型 |
是否必选 |
示例 |
说明 |
|---|---|---|---|---|
|
url |
String |
必选 |
用户头像的 URL 地址,必须是一个可公开访问的地址。SDK 会通过该地址加载并显示用户头像。 |
|
|
nickname |
String |
必选 |
小明 |
用户的昵称,将在应用界面中显示,用于区分不同的对话用户。 |
|
id |
String |
可选 |
user_123456 |
用户的 ID,即用户在你的网站或应用中的账号 ID。未指定时,Web SDK 会自动为用户分配一个用户 ID。 |
Web SDK 初始化后,会在页面中生成一个用于承载应用内容的 iframe 元素,ui.className 的值会被添加到该 iframe 的 class 属性中。开发者可通过这个类名,自定义该 iframe 的显示样式,实现与页面整体风格的适配。
|
参数 |
类型 |
是否必选 |
示例 |
说明 |
|---|---|---|---|---|
|
className |
String |
可选 |
coze-app-sdk |
为 Web SDK 渲染到页面中的 iframe 元素指定 CSS 类名,开发者可以通过这个类名,自定义样式。 |
当用户关闭或退出应用时,调用 destroy 方法销毁客户端以释放资源、清理界面。
<script>
const client = new CozeWebSDK.AppWebSDK(options);
client.destroy();
</script>
以下是一段完整的 Web SDK 的代码示例。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<!-- 引入自定义样式文件,用于设置页面基础样式及Web SDK iframe的自定义样式 -->
<link rel="stylesheet" href="./main.css" />
</head>
<body>
<!-- 引入扣子编程低代码Web SDK的核心JS库 -->
<div id='app'></div>
<script src="https://lf-cdn.coze.cn/obj/unpkg/flow-platform/builder-web-sdk/0.1.0/dist/umd/index.js"></script>
<!-- 引入自定义JS文件,用于配置 Web SDK属性-->
<script src="./index.js"></script>
</body>
</html>
const cozeWebSDK = new CozeWebSDK.AppWebSDK({
token: 'pat_zxzSAzxawer234zASNElEglZxcmWJ5ouCcq12gsAAsqJGALlq7hcOqMcPFV3wEVDiqjrg****',
appId: '740849137970326****',
container: '#app',
// 用户信息,用于在对话中标识用户身份
userInfo: {
id: '12345',
url: 'https://lf-coze-web-cdn.coze.cn/obj/coze-web-cn/obric/coze/favicon.***.png',
nickname: '小明',
},
// UI配置:用于自定义应用界面的样式
ui: {
className: 'coze-app-sdk'
}
})
/* 基础样式:设置页面整体布局 */
html, body {
height: 100%; /* 让页面高度占满整个浏览器窗口,避免出现垂直滚动空白 */
margin: 0; /* 清除浏览器默认的外边距,消除页面边缘的空白间隙 */
}
/* 自定义Web SDK iframe的样式(类名与JS中ui.className保持一致) */
.coze-app-sdk {
box-sizing: border-box; /* 盒模型规则:iframe的宽高会包含内容、内边距和边框,避免添加样式后整体尺寸变大 */
padding: 4px; /* 为iframe内部内容添加4px内边距,避免内容紧贴边缘 */
}
Chat SDK 和 Web SDK(低代码) 均为扣子编程提供的 SDK,区别如下: