指南
SDK
一個已發布的 Flutter 挂件 SDK,外加可用任意語言呼叫的 REST API 與 OpenAPI 規範。
AskAIs 採用協定優先的方式:一份 OpenAPI 3.1 規範、一套 WebSocket 協定,以及經 HMAC 簽章的 webhook。你可以用任意語言呼叫 API 並渲染自己的 UI。目前我們只發布一個打包好的 UI SDK,即原生 Flutter 挂件。
已發布的 SDK:Flutter 挂件
我們目前唯一發布的 SDK 位於 sdks/flutter-widget/。它是一套完整、可換主題的聊天 UI,會替你與 REST API 和 WebSocket 通訊。將它作為本機套件加入你的 pubspec.yaml:
# pubspec.yaml
dependencies:
singchat_widget:
path: ../sdks/flutter-widgetiOS 與 Android
iOS 和 Android 沒有單獨的原生 SDK。有兩條受支援的路徑:
- WebView(建議),從
/api/widget-embed載入網頁挂件。它是全功能挂件並會自動更新,因此你無需為取得新的聊天功能而發布新的 App 版本。 - REST API,直接呼叫 API 並渲染你自己的原生 UI。
沒有現成的 SwiftUI 或 Jetpack Compose 聊天檢視。你要麼嵌入 WebView,要麼在 API 之上自行建構 UI。
其他任意語言:呼叫 REST API
我們不提供 Python、Go、Rust、C#、Java、PHP、Ruby 等預先建置的客戶端,也沒有官方的 React Native、Unity 或 Unreal SDK。取而代之的是一個帶 OpenAPI 3.1 規範的公開 REST API,你可以直接透過 HTTP 呼叫,或產生自己的客戶端:
- OpenAPI:
GET /api/v1/openapi.json - WebSocket:事件 JSON 請見 Web 挂件文件
用 openapi-generator 為你想要的語言產生客戶端:
# generate a client from the public spec
npx @openapitools/openapi-generator-cli generate \
-i https://singchat.org/api/v1/openapi.json \
-g python \
-o ./singchat-clientAskAIs 已經提供的能力
除挂件之外,以下產品能力現已上線:
- 統一收件匣,涵蓋網頁挂件、Telegram 和 WhatsApp,並預留了 X(Twitter)接入位。
- 平台託管 AI:無需 API key,按 token 計費,支援自動儲值與人工兜底,也可自帶金鑰。
- AI 訓練中心:爬取你的網站,上傳 PDF、Word 或 DOCX 檔案,透過 CSV 新增問答配對,並在上線前的 Playground 中演練。
- 50 種語言的說明中心,提供自助文章與 FAQ。
- 全面白標,涵蓋每一個面向客戶的介面。
- 防封鎖的多網域下發,用於挂件。
快速範例
Flutter widget
import 'package:singchat_widget/singchat_widget.dart';
// mount the themeable chat UI
SingChatWidget(
appId: 'ws_abc123',
user: SingChatUser(
externalId: 'user_42',
email: 'ada@example.com',
),
)iOS WebView
import WebKit
let webView = WKWebView(frame: view.bounds)
let url = URL(string: "https://singchat.org/api/widget-embed?appId=ws_abc123")!
webView.load(URLRequest(url: url))
view.addSubview(webView)Android WebView
val webView = WebView(this)
webView.settings.javaScriptEnabled = true
webView.loadUrl("https://singchat.org/api/widget-embed?appId=ws_abc123")
setContentView(webView)原始 curl
# identify against the REST API (any language, no library)
curl https://singchat.org/api/v1/auth/identify \
-H "Content-Type: application/json" \
-d '{ "appId": "ws_abc123", "email": "ada@example.com" }'