入门
Integration overview
一个后端,所有平台,接入一次,始终保持最新。
AskAIs 是「一个后端 + 多种接入方式」:你只需把工作区配置一次,就能把客服聊天嵌到任何地方,网站、移动 App、或任意后端服务。客户也能通过 Telegram、WhatsApp 等入站渠道找到你。所有端和渠道连的都是同一个收件箱、同一个 AI 助手、同一套知识库。
一个后端,所有平台
无论用哪个平台,接入都很短,而且对话、访客、AI 回复、各项配置全部共享。下面是每个平台怎么装,以及很关键的一点,它以后怎么拿到更新:
平台一览
| 平台 | 安装方式 | 如何更新 |
|---|---|---|
| 网站 | <script src="…/widget.js"> | 自动,每次页面加载都拉取最新版 |
| iOS(WebView) | WebView embed | 自动,WebView 会加载最新挂件 |
| Android(WebView) | WebView embed | 自动,WebView 会加载最新挂件 |
| Flutter(原生 SDK) | pub (local package) | 升级 SDK 版本号,重新打包发版 |
| React Native(WebView) | WebView / REST | 自动,WebView 会加载最新挂件 |
| 任意后端 | REST API / OpenAPI | 你自己的服务,随你部署 |
各端和渠道能互通吗?
能。它们只是同一个 AskAIs 工作区的不同入口,完全互通:
- 同后端、同 app-id:所有端都连到你工作区里的同一个收件箱。
- 同一访客跨端续聊:用同一个 externalId 识别,网页上开始的对话能在 App 里接着聊。
- 不止是嵌入,还有入站渠道:除了网页和 App 里的挂件,客户还能通过 Telegram、WhatsApp 找你(两者均已端到端上线),每条消息都汇聚到同一个收件箱,X 接入位也已就绪。
- 配置全端共享:AI 助手(平台托管或自带密钥)、知识库、营业时间、关键词回复、常见问题都只配一次,处处生效。
网页,官方嵌入(推荐)
在 </body> 前放这一行就装好了,就这么简单。app-id 是公开的、可以放心写进 HTML,在「设置 → 收件箱」里复制。
<script src="https://singchat.org/widget.js"
data-app-id="YOUR_APP_ID"
data-base-url="https://singchat.org"
async></script>⚠️ 不要下载或自托管 widget.js
网页挂件务必从 https://singchat.org/widget.js 加载。如果你把这个文件下载下来自己托管、或编译进自己的打包产物,就等于把它「冻」在某个旧版本,我们之后的样式更新、Bug 修复、新功能都到不了你这里。从 singchat.org 加载,挂件会自动保持最新,你什么都不用改。
在你的页面里控制它(可选)
脚本加载后,会有一个全局对象 window.SingChat:
// Open / close the widget
window.SingChat.open();
window.SingChat.close();
// Identify a logged-in user (so chats follow them across devices)
window.SingChat.identify({ externalId: "user_123", name: "Ada", email: "ada@acme.com" });移动 App:Flutter SDK 或 WebView 嵌入
移动端有三种真实接入方式。第一,原生 Flutter 挂件 SDK 提供一套完整、可主题化的聊天界面(悬浮气泡加原生聊天页,不是 WebView),加进 pubspec 即可发版。第二,iOS、Android(以及 React Native)可以用 WebView 全功能嵌入网页挂件,体验与网页一致,并且会自动保持最新。第三,直接对接 REST API 加签名 webhook,自行渲染界面。并没有单独的原生 iOS、Android 或 React Native 聊天 SDK 要装,这几条就是受支持的接入方式。
# Flutter, native chat widget (floating bubble + native chat UI, not a WebView).
# In your app's pubspec.yaml (download and unzip the SDK package first):
dependencies:
singchat_widget:
path: ../singchat_widget
# iOS / Android / React Native without Flutter: load the hosted web widget in a
# WKWebView / WebView (same experience as the website), or drive the REST API
# with signed webhooks and render your own chat UI.任意后端 / 任意语言
不用 SDK 也行,直接调 REST API 即可识别访客、收发消息,并用签名 webhook 校验入站事件。整套 API 遵循公开的 OpenAPI 规范,你可以据此为自己的语言生成客户端,或直接调用这些接口。
# Any backend / language, talk to the REST API directly
curl -X POST https://singchat.org/api/v1/auth/identify \
-H 'Content-Type: application/json' \
-d '{"appId":"YOUR_APP_ID","externalId":"user_123"}'