SDK 与 API 概览

一套线上协议, 三个一等 SDK。

Rust 是参考引擎;Kotlin 通过 UniFFI 原生共享它,TypeScript 则是地道的 WebSocket 实现。三个 SDK 实现同一套线上协议,并共享跨语言编解码测试夹具。

开发者体验

连接、鉴权、订阅 — 核心流程就这三步。

下方代码展示真实的 API 形状:连接、鉴权、订阅。完整构建请从各仓库 README 开始。

TypeScript API 概览
$ # npm package coming soon — build from source: github.com/privchat/privchat-sdk-typescript

import { PrivchatClient } from "@privchat/sdk";

const client = new PrivchatClient({
  url: "wss://im.example.com:9080/",
});

await client.connect();
await client.authenticate(userId, accessToken, deviceId);

await client.subscribeChannel("900710001", 1);
client.onPushMessage((message) => {
  console.log("new message", message.server_message_id);
});

三条轨道

底层同一套协议,上层各自地道。

选择适合你产品面的语言 — 线上契约是共享的,每个 SDK 对同一个服务端说同一套协议。

Rust 内核

参考客户端引擎:actor 命令队列、SQLite 与 Sled 本地存储、同步、事件广播与 FFI 接口。

TypeScript

浏览器与桌面运行时:类型化编解码、RPC 语法糖、事件重放、自动重连与令牌刷新开箱即用。

Kotlin 多平台

Android 与原生目标由 Rust 引擎通过 UniFFI 驱动 — 每个移动应用底下是同一个引擎。

能力矩阵

当前 SDK 家族的能力全景。

这些是已交付的能力,不是愿望清单 — 未来的轨道在下方路线图条里,直到成真为止。

平台

  • Web(WebSocket)
  • Android(Kotlin)
  • iOS(Kotlin/Native FFI)
  • 桌面(TypeScript)
  • Cocos 与游戏引擎

连接

  • 自动重连
  • 令牌刷新流程
  • 多传输(Rust 内核;Web 端为 WS)
  • 连接状态机
  • 端到端心跳

数据

  • 本地优先存储
  • 消息同步与恢复
  • 服务端权威序列
  • 事件重放
  • 类型化编解码

扩展性

  • Transfer RPC 调用
  • Channel 订阅与发布
  • 推送消息钩子
  • 机器人与系统账号 API
  • 面向新宿主的 FFI 接口
路线图Swift SDKGo service SDKFlutter bindingsUnity adapterCloud offeringHosted console

下一步

从指南路径与仓库开始。

沿指南路径进入各个仓库 — 服务端、SDK 与协议 — 从 README 开始构建。

打开教程