Skip to content

XHIM 与 OpenIM、野火IM能力对标及超越门禁

对标日期:2026-07-28

结论口径:只比较公开可验证能力和 XHIM 当前仓库证据,不用规划代替实现。

本次对标把上游默认分支 HEAD 固定为可复查输入(解析时间 2026-07-26,Asia/Shanghai):

公开产品文档没有仓库 Commit 语义,以下功能清单按同日抓取口径记录。以后更新 对标报告必须重新固定 Commit/Tag、抓取日期和原始测试证据,不能让浮动链接静默 改变旧结论。

1. 结论

当前 XHIM 不能宣称“完美超越 OpenIM 或野火IM”

OpenIM 和野火IM都已经具备成熟的多端产品、部署经验和社区积累。XHIM 当前 较强的是 C++17 单一内核、稳定 C ABI、账号 Epoch/连接 Generation fence、本地 SQLite 权威读模型、Outbox/Sync 原子归并、可替换后端和签名 Endpoint;XHIM 现已补齐 五个原生 OS 的 Wrapper/UI 源码、Flutter/Electron/Web 首批适配、社交治理、Push 和预研 Call Actor/信令/RTC Token, 但正式签名包、大规模生产报告、法务审核和生态仍未完成。实时音视频已从纯 IM 首发范围移出,后续通过独立厂商 Provider 交付。

“完美超越”不是可验证的工程目标。XHIM 的正确目标是:

  1. 先达到 OpenIM 的可售功能基线;
  2. 再在指定指标上用同环境、同业务模型的测试胜出;
  3. 对仍不占优的生态、历史和部署经验保持明确说明。

2. 当前公开基线

维度OpenIM 当前公开能力XHIM 当前状态判断
客户端内核Go 跨平台 Core;公开列出 Windows、macOS、Linux、iOS、Android、Web/WASMC++17 Core + 稳定 C ABI;当前证据为 macOS 本机 Release/静态/动态/消毒器测试和 Harmony native 语法门禁XHIM 架构有差异化,但交付覆盖落后
基础 IM用户、好友、群、会话、消息、本地存储、同步登录、可靠发送、会话/消息本地读、服务端权威跨设备已读和置顶/免打扰、本地草稿与检索、好友/群治理、编辑与撤回的服务端 CAS 闭环XHIM 核心闭环已接近,OpenIM 的应用能力与生产积累仍领先
消息类型文本、图片、视频、表情、文件、语音、名片、位置、自定义、群公告通用版本化消息信封;iOS、macOS、Android、Windows、HarmonyOS 提供图片/视频/语音/文件及常用固定协议工厂;已实现编辑、撤回和未知类型安全回退常用合同与消息治理已补齐;跨端框架完整映射、完整表情/频道/机器人生态仍落后
群能力入群申请/邀请、验证、转让、管理员、禁言、公告等完整公开清单建群、审批、成员增删、管理员、禁言、转让、群名/头像/公告/简介、revision CAS、本地投影核心治理接近;成熟应用层和组织能力仍落后
音视频开源版公开为基础一对一通话;多人通话/会议不在开源范围纯 IM 首发不承诺;保留 Call Actor、持久信令、RTC Token 和 Provider SPI 供后续厂商适配不纳入本版胜负结论
服务端Go 微服务、集群、Docker/Kubernetes、REST、Webhook;公开宣称大群和海量消息支持Go 模块化服务端、PostgreSQL、JWT、WSS、媒体、Push、审计、通话信令XHIM 结构清晰,但缺多区域和规模报告
UI/示例生态iOS、Android、Flutter、Electron 等 SDK/示例仓库iOS、macOS、Android、Windows、HarmonyOS 已有独立接入入口;Flutter/Electron/Web 有首批适配;其余平台见支持矩阵OpenIM 生态与平台广度仍领先
许可证Server 为 Apache-2.0;SDK Core 为 AGPL-3.0 或商业许可双授权已有专有商业源代码许可基线,正式合同/第三方清单待律师和发布审核商业边界更直接,但尚未法务封板
生产成熟度长期公开版本、仓库活动和社区反馈0.1 Commercial Beta,证据限于自动化、本机构建、隔离 PostgreSQL 集成测试和平台源码检查OpenIM 明显领先

OpenIM 官方资料:

2.1 XHIM 当前验证边界

下表记录的是 2026-07-26 当前 checkout 的本机或源码证据,不等于签名制品、 真机兼容性、生产部署或销售承诺:

范围已有证据尚不能据此宣称
C++ CoremacOS 本机 shared Release 26/26、static Release 25/25;ASan+UBSan 和 TSan 各 24/24。macOS 不支持 LeakSanitizer,因此没有把泄漏检测记为通过Windows/Android/HarmonyOS 目标二进制、各原生 OS 的 ABI 消费、长期压力和生产硬件结果
XHIM Servergo mod verifygo vet、普通与 race 测试通过;隔离 PostgreSQL 18 执行消息、管理、错误 Push Token fencing、事务容量和社交五组集成测试当前源码已部署到生产、多区域容灾、真实对象存储/Push 厂商和 24h/72h 容量指标;本机常驻 Docker 还是较早构建
iOS共享 Swift Facade 当前源码 63/63 测试;签名的 0.1.0-dev.2 Development XCFramework、SwiftPM 与 CocoaPods iOS 隔离消费者完成编译和链接CocoaPods Stable 包、iPhone 真机生命周期与升级矩阵;Development 快照仍需上传并登记私有 Specs
macOS共享 Swift Facade 当前源码 63/63 测试;macOS SwiftPM/CocoaPods 隔离消费者完成编译和链接独立签名/公证、Apple Silicon/Intel、多窗口、睡眠唤醒与升级矩阵
Android跳过 native build 的 Kotlin/Compose 测试与编译通过,JNI 通过 -Wall -Wextra -Werror -fsyntax-only完整 native AAR、Maven clean consumer、目标 ABI 和真机;本机 NDK 缺少 source.properties
Windows.NET SDK、Sample 和合同测试在本机构建/执行通过,构建为 0 warning / 0 errorWindows x64/arm64 原生 DLL、WPF 真机、Authenticode、NuGet 仓库签名和 clean consumer
HarmonyOSArkTS/HAR 本机 assemble/type-check 以及 arm64-OHOS Native Bridge -Werror -fsyntax-only 通过已签名 HAR/OHPM、DevEco clean consumer、完整 arm64 二进制链接和 HarmonyOS 物理设备
FlutterDart Platform Interface 及 iOS、macOS、Android 原生桥源码;Darwin 桥通过 Swift parse,两个 podspec 可解析Flutter 工具链分析/测试、三端 clean consumer、附件/社交/群组/离线完整 API
ElectronElectron 43.2.0 的 macOS arm64 N-API 编译、prebuild 加载、TypeScript/IPC 测试及 npm dry-run 通过macOS x64、Windows、Linux prebuild,签名/公证与四系统 clean consumer

正式发布状态以 商业证据状态发布清单为准;缺少的工具、证书、账号、正式包或 物理设备证据必须保持失败,不能用上述本机结果替代。

2.2 从野火IM吸收的产品原则

野火IM公开说明了几个对商业交付很有价值的边界:客户端按功能库、UI 库和应用 分层;支持私有化部署;业务扩展优先使用 Server API 与自定义消息,而不是修改 协议栈;附件/对象存储和音视频可以独立部署。XHIM 对应实现为:

野火IM值得借鉴的原则XHIM 落地
SDK、UI、App 三层分离Headless Facade 与可选 SwiftUI/Compose/WPF/ArkUI 包分离
核心协议栈不由客户直接修改Runtime component 只交付稳定 C ABI 和静态/动态库
自定义消息承载客户业务content_type + version + payload + fallback,插件和 Renderer 分开注册
私有部署少配置同一二进制只填 Bootstrap URL、Key ID、公钥,Endpoint 签名发现
常用功能开箱即用类型化文字/图片/视频/语音/文件 API 与系统附件 Picker
运维入口可视化XHIM Server 内嵌 /admin/ 自托管后台

野火IM仍在完整应用、组织通讯录、机器人、频道、超大群、成熟音视频和生产历史 方面领先。XHIM 不复制其 MQTT 协议、源码或商业模块,只参考产品分层和接入体验。

野火IM官方资料:

2.3 SDK 文档结构补充(2026-07-28)

OpenIM 的开发者体验优势还包括把 SDK APICallbackClassListenerEnumError Code拆成稳定入口;单个方法页继续 列出各平台 prototype、参数、返回和示例。

XHIM 已按自身真实 Facade 补充 SDK API Reference,覆盖 生命周期、消息、会话、关系链、群组、媒体、离线读取、事件、模型、错误、自定义 消息和 C ABI,并为 iOS、macOS、Android、Windows、HarmonyOS 分列方法名。 xhim_public_api_docs 会同时检查 100 个 Facade/扩展操作在五个原生 OS 的源码和 Reference 中存在,并检查 C ABI 导出基线全部进入 文档。

这关闭的是“可发现性和文档覆盖”差距,不代表 XHIM 已取得 OpenIM 的社区教程、 搜索流量、版本历史或第三方内容生态。

3. XHIM 可以形成优势的方向

3.1 单一 C++ 内核和长期稳定 C ABI

XHIM 不要求平台业务层直接依赖 C++ ABI 或 Go Mobile 生成物。Core 只向平台 Facade 暴露版本化 C ABI,iOS、macOS、Android、Windows 和 HarmonyOS 可采用各自原生 语言包装。这个设计有利于:

  • 五个原生 OS 共用同一套同步、Outbox、账号切换和兼容语义;
  • 商业客户锁定 ABI generation,减少平台 Wrapper 与内核编译器耦合;
  • 同时交付 shared/static、私有定制 Adapter 和 Headless SDK。

这只是结构优势;必须在各平台最终制品消费测试全部通过后才可以对外宣传。

3.2 离线一致性和竞态防护

XHIM 已把本地数据库定义为 UI 权威读源,并用 Client Actor、Account Epoch、 Connection Generation、ACK/Sync 归并和 Cursor 原子提交处理竞态。对标测试 应重点覆盖:

  • 登录 A 后快速切换 B,A 的网络回调不得污染 B;
  • ACK 先于 Sync、Sync 先于 ACK、重复 ACK/事件都得到同一最终状态;
  • 同账号多设备的 read sequence 单调收敛,非法超前已读不能跳过未同步消息;
  • 断网、杀进程、租约恢复后不丢消息、不重复展示;
  • 旧 WebSocket、旧 Token、旧媒体任务不能复活已退出账号。

如果 XHIM 在同一故障注入矩阵下得到更低的数据不一致率和崩溃率,这才是可成立 的“内核可靠性超越”。

3.3 可替换后端与商用定制

Product Adapter、对象存储和未来 RTC Provider 都采用 Port/SPI 边界。商业客户 可以使用 XHIM 参考服务端,也可以替换认证、HTTP/WSS、S3-compatible 存储或 RTC 厂商,而不在四套平台 Wrapper、五个客户端端点中复制状态机。

这一优势必须用至少两个独立 Adapter 的契约测试证明,不能只凭接口存在。

3.4 从一开始建立兼容和发布门禁

XHIM 已为 C ABI、Protobuf 字段、SQLite 迁移、CMake 包消费和品牌建立门禁。 后续还要加入:

  • N-2 客户端与新服务端、N-2 服务端与新客户端兼容矩阵;
  • 升级/回滚、坏库恢复、最低客户端版本和能力协商;
  • 各平台符号、包签名、SBOM、NOTICE 和可重复构建;
  • 生产 SLO、容量基准、灾备演练和公开限制。

4. 不允许使用的宣传语

在 Stable 门禁关闭前,不允许使用:

  • “完美超越 OpenIM”;
  • “所有平台全部可用”;
  • “支持亿级用户/十万群”;
  • “端到端加密”;
  • “音视频已完成”;
  • “开箱即用的完整 UI Kit”;
  • “生产可用”或“银行级安全”。

可以准确使用的阶段性表述是:

XHIM 正在建设以 C++17 单一内核、稳定 C ABI、离线一致性和可替换服务端为 核心的商用 IM SDK;当前为 Commercial Beta,消息、社交治理、Push、附件媒体和 自定义消息扩展已形成,但平台签名包、完整 UI Kit 和生产规模验证仍在推进。 实时音视频不属于纯 IM 首发承诺。

5. 对标验收矩阵

每次准备声称“在某维度超过 OpenIM”时,必须保存相同环境下的原始报告:

指标族必测内容胜出条件
正确性换号、乱序、重复、进程重启、断线恢复、迁移XHIM 无 P0 数据错误,且失败数低于对标版本
性能首次登录、增量同步、发送 ACK、重连、冷启动、本地分页同设备、同数据集下给出 p50/p95/p99 和资源占用
容量单会话吞吐、账号事件流、大群 fan-out、长连接、PostgreSQL/S3达到公开售卖规格并完成 24h/72h 稳态压测
平台iOS、macOS、Android、Windows、HarmonyOS、Flutter、Electron 及 Web/RN/Unity/uni-app/小程序最终包和示例 App每端空白工程消费、目标设备生命周期和升级矩阵全绿
交付文档、示例、诊断、版本兼容、安全、法务、SLA第三方团队不访问源码即可完成接入和故障定位
可选音视频呼叫竞态、后台/锁屏、弱网、TURN、跨端、多人会议独立商品接入生产 Provider 后再单独比较,不影响纯 IM 验收

6. 实施顺序

  1. 已完成消息、好友、群、Push、媒体的 Headless 源码主闭环;
  2. 已完成 iOS、macOS、Android、Windows、HarmonyOS 的独立 QuickStart 和 原生 Facade/UI 源码,并开始交付 Flutter/Electron/Web 适配层;
  3. 继续完成 React Native、Unity、uni-app 和小程序 Adapter,再把 各平台源码打成正式签名包,由空白工程、目标设备、升级与弱网矩阵消费;
  4. 完成跨平台数据库密钥/安全缓存端口、生产 Push/对象存储/审核 Adapter;
  5. 完成安全、法务、运维、容量和灾备证据门禁;
  6. 在固定 OpenIM 版本和固定测试环境下发布逐项对标报告;
  7. 若市场需要,再以独立版本接入一个生产 RTC Provider 并单独验收。

只有第 1 至第 5 步达到 Stable,且第 6 步有可复现证据后,才能说 XHIM 在某些 明确维度超过 OpenIM;生态和生产历史不能通过一次压测“完美超越”。

XHIM 客户端 SDK 与服务端文档