kavilo
登录

指南

嵌入到你的站点

一个 script 标签,放在 HTML 的任何位置:

<script src="https://kavilo.cloud/widget.js" data-key="kw_pub_…"></script>

它在你页面之后加载,在角落画一个按钮,聊天在隔离的框架里打开——它碰不到你页面的样式、脚本或 cookie,你页面上的任何东西也读不到对话。

密钥是公开的,这没关系

它会出现在你的页面源码里,这是必然。保护你的是域名白名单,不是保密:从你未列出的域名带着你密钥来的请求会被拒绝。在正常的网站配置里,别人能看到你的密钥,但无法从别的站点使用它。

所以只列你的真实域名,别多列。有 www. 版本就加上,测试时把测试域名也加上。如果你特意为移动应用开启无 Origin 访问,用移动指南里描述的安装注册。

白名单是浏览器层面的控制。自定义 API 客户端可以伪造 Origin 头,所以别把公开密钥当 API 密钥用。

放在哪里

  • Webflow — Project settings → Custom code → Footer code.
  • Squarespace — Settings → Advanced → Code injection → Footer.
  • WordPress — 片段插件,或主题的页脚模板。别粘到单篇文章里:那样只会在那篇文章上加载。
  • Shopify — Online store → Themes → Edit code → theme.liquid</body> 前。
  • Framer、Wix、Carrd — 都有一个站点级的自定义代码或嵌入面板。用站点级的那个,不要用按页面的区块。
  • 手写的 HTML</body> 前。

对话会自动续上

组件把会话 id 存在浏览器本地存储里,所以访客去了别的页面或过一会儿回来,看到的是同一场对话。id 经过签名,访客无法把它改成别人的对话。

如果你的站点有后端,想自己控制会话身份——比如每个登录客户一条线程——这也支持:你的服务器签发一个短时效的签名 token,代替使用公开密钥。问我们,我们带你走一遍。

Content-Security-Policy

如果你的站点发送 CSP,把 https://kavilo.cloud 加到现有的 script、frame 和 connection 指令里:

script-src https://kavilo.cloud; frame-src https://kavilo.cloud; connect-src https://kavilo.cloud

被挡住的组件在页面里是安静的,在浏览器控制台里是响的——如果什么都没出现,先查那里。

移除

删掉 script 标签。你的站点上不会留下别的东西。在控制台里删除机器人,让其密钥失效,这样任何你漏掉的嵌入会立刻停止工作。删除机器人不会立即抹掉已存储的对话或采集的访客线索;它们会保留到定期清理。