@wallavi /部件
聊天副驾驶 Wallavi 代理。用一个 组件或脚本;你的应用程序只传递会话和用户是什么 查看。
pnpm add @wallavi/widget
"use client";
import { WallaviCopilot } from "@wallavi/widget";
import "@wallavi/widget/styles.css";
<WallaviCopilot
agentId="your-agent-id"
session={{
userId: currentUser.id,
userName: currentUser.name,
userEmail: currentUser.email,
headers: async () => ({ Authorization: `Bearer ${await getToken()}` }),
identityToken: currentUser.identityToken,
}}
viewing="Purchase order PO-2026-0142"
/>;
如果没有React,请先粘贴这个 </body>:
<script>
window.wallavi =
window.wallavi ||
function () {
(window.wallavi.q = window.wallavi.q || []).push(arguments);
};
wallavi("identify", {
userId: currentUser.id,
userName: currentUser.name,
userEmail: currentUser.email,
identityToken: currentUser.identityToken,
});
wallavi("viewing", "Purchase order PO-2026-0142");
</script>
<script
src="https://app.wallavi.com/embed.min.js"
data-agent-id="your-agent-id"
async
></script>
显示(布局、颜色、文本、快捷方式)在Wallavi面板中改变; 你不需要重新部署你的应用。
迁移到2.0.0
私有模式不再读取 window.Clerk. 在2.0.0之前,一个小部件带有
workspaceId 在页面上查找一个Clerk会话并发送它的令牌。这个
小部件现在不知道验证提供者:它只发送主机返回的报头
从 userContext.headers.
如果您使用私有模式,请自己传递令牌。函数在之前被调用 每条消息,所以短暂的令牌永远不会发送过时的:
<WallaviWidget
agentId="..."
workspaceId="..."
userContext={{
headers: async () => {
const token = await getToken(); // your auth provider
return token ? { Authorization: `Bearer ${token}` } : {};
},
}}
/>
没有 headers,私人请求发出不 Authorization 头。