服务介绍

欢迎使用 NI PaaS 即时通讯。本页面介绍 IM PaaS 的整体架构、四种会话形态与关键能力,帮助你在 10 分钟内判断接入方式。

架构设计特点​

IM PaaS 的架构设计围绕“可私有化、可嵌入、可观测”三个目标:

  • 无需改变现有 App 架构:IMLib 以 SDK 形式嵌入,业务数据仍由你的系统维护;
  • 无需改变现有 App Server:服务端提供标准 REST Open API,独立部署一套 IM 服务即可;
  • 私有二进制/JSON 长连接:消息轻量、有序、可补发,单帧上限 65,536 字节;
  • 签名鉴权:App-Key + Nonce + Timestamp + Signature,防止能力滥用与重放;
  • 全链路可观测:连接、消息、回调投递均有请求 ID 与投递日志。

IM 服务不要求你把用户体系迁移过来:用户资料由你的应用维护,IM 侧以 userId 作为稳定标识,可按需同步昵称/头像。

客户端 AIMLib IM ServerWS + REST 客户端 B在线 / 离线 App Server业务服务 / 回调 send / ack message message.routed

功能特性​

IM PaaS 提供单聊、群组、超级群与聊天室四种会话形态,分别对应不同的业务场景。它们的差异如下:

功能单聊(Private)群组(Group)超级群(SuperGroup)聊天室(Chatroom)
场景类比类似微信私聊类似工作群 / 兴趣群类似 Discord 社区直播互动 / 广场
特性 / 优势支持离线消息与历史漫游支持离线消息与历史漫游;可管理成员与权限不限成员数量;支持频道与用户组语义;rev22 起会话类型为 SUPER_GROUP(10)只有在线用户接收消息,退出即清理
计费套餐自托管,无套餐限制自托管,无套餐限制自托管,无套餐限制自托管,无套餐限制
开通服务不需要不需要不需要(自托管默认开启)不需要
UI 组件提供 IMKit(Android / Web / Electron / Flutter / Native)提供 IMKit暂不提供 IMKit 组件暂不提供 IMKit 组件
创建方式无需创建服务端 API服务端 API服务端 API
销毁 / 解散方式不适用服务端 API服务端 API服务端 API 或自动销毁
成员数量限制不适用群成员上限 3,000成员上限 100,000在线人数上限 5,000
用户加入限制不适用不限按频道组织成员;每群 100 个频道、100 个用户组(服务端校验,超限 1015)默认仅可加入 1 个聊天室(可配置)
获取加入前的消息不适用按权限配置拉取历史未加入可按配置拉取历史加入后获取最近 50 条
客户端发送频率每客户端 120 条/分钟每客户端 120 条/分钟每客户端 120 条/分钟每客户端 120 条/分钟
服务端发送频率按 API 限频,见「限频与限制」同上同上同上
扩展消息支持支持支持不支持
修改消息不支持不支持支持不支持
消息可靠度100% 可靠(至少一次 + 去重)100% 可靠100% 可靠超出消费上限的消息会被主动丢弃
消息本地存储移动端 / PC 端支持移动端 / PC 端支持移动端 / PC 端支持不支持
消息云端存储可配置保留周期可配置保留周期默认 7 天,可配置可配置
离线缓存消息默认 500 条/会话默认 500 条/会话不支持不支持
消息本地搜索支持支持支持不支持
离线消息推送支持(可选推送通道)支持支持不支持

* 离线消息推送需要接入厂商推送通道;IM PaaS 提供服务端推送接口与投递日志,不绑定具体厂商。

高级与扩展功能​

IM 服务支持的高级与扩展功能包括但不限于:

  • 用户管理:用户封禁、黑名单、白名单、群组/聊天室禁言、聊天室成员封禁;
  • 在线状态订阅:查询用户在线/离线/登出状态,支持批量查询;
  • 多设备在线消息同步:桌面端、移动端与多个 Web 端同时在线,消息多端同步;
  • 全量消息路由:将消息实时回调到你的业务服务器,用于归档、审核与业务路由;
  • 内容审核:敏感词列表、过滤/替换策略;结合消息回调实现先审后发;
  • 服务端推送通知:按用户、标签或全量用户推送通知;
  • 消息扩展能力:撤回、已读回执、输入状态、消息扩展字段、会话标签、置顶、免打扰、草稿。
提示

部分高级能力依赖控制台配置或服务端回调;生产环境接入前请阅读「安全与隐私」与「限频与限制」。

服务端​

你的后端可以通过 Server API 完成用户、群组、消息、聊天室等管理动作,例如:

完整接口见 API 接口列表;每个接口都提供参数、返回示例与错误码。

客户端​

客户端按平台提供 IMLib(核心能力)与 IMKit(开箱即用的 UI 组件):

平台语言 / 运行时IMLibIMKit文档
AndroidKotlin(JVM / Android)✅ 已交付✅ 已交付IMLib / IMKit
WebJavaScript(ESM)+ TypeScript✅ 已交付✅ 已交付IMLib / IMKit
ElectronElectron 主进程 + preload 桥✅ 已交付✅ 已交付IMLib / IMKit
macOSArkTS(契约预留)✅ 已交付✅ 已交付IMLib / IMKit
FlutterDart(Flutter)✅ 已交付✅ 已交付IMLib / IMKit
Native (C ABI)C ABI(Rust core)✅ 已交付✅ 已交付IMLib / IMKit
iOSSwift(契约预留)✅ 已交付✅ 已交付IMLib / IMKit
HarmonyOSArkTS(契约预留)⏳ 契约预留⏳ 契约预留IMLib / IMKit

控制台​

控制台提供应用与 AppKey 管理、用户/群组/聊天室运营、消息查询、回调配置、敏感词、统计分析等能力;运营后台面向平台运营角色。详见 控制台指南。

数据与隐私​

  • 消息内容由你完全掌控:可配置保留周期,支持全量导出与删除;
  • IM 服务不采集通讯录、位置等敏感信息,除非你的业务显式调用相关接口;
  • 客户端 SDK 仅在本地存储会话、消息与草稿,可通过 API 清理;
  • 私有化部署模式下,数据不离开你的基础设施。详见 数据与隐私。

相关文档​