Open Source · E2EE · P2P · Agent · 存证链

50 亿人 + 机器人
用的 IM 实验

一个把 E2EE、P2P、区块链存证、AI Agent 塞进同一张架构图的即时通讯开源实验。从第一性原理出发,研究下一代通信基础设施的架构。

unichat — 语言边界 = 服务边界
$ git clone https://github.com/yuezu1026/uni-chat
$ cargo check --workspace        # Rust: 网关/存证链/推送/E2EE/P2P
$ go build ./services/kernel/    # Go: 消息内核(OpenIM 二次开发)
$ uvicorn main:app               # Python: Agent 运行时(LangGraph+MCP)
$ npm run dev                    # TS: Tauri / RN / Web 客户端
✓ 8+1 协议冻结 · P0→P3+ 进行中
01 · Architecture Research

语言边界 = 服务边界

每个微服务选最擅长它的语言写到底,跨服务只走协议(protobuf / gRPC / NATS),同一个进程里绝不混编。这不是风格偏好,而是把"正确的人做正确的事"固化进架构。

Rust 高并发 I/O · 安全敏感 WebSocket 网关(单机 50w+ 连接)、哈希存证链、离线推送网关、客户端内嵌的 E2EE / P2P 加密内核。
Go 业务状态密集 · 生态成熟 消息内核(OpenIM 二次开发:消息/群组/已读/多端同步)+ 业务服务(用户/组织/权限/多租户)。
Python AI/ML 生态 智能体运行时(LangGraph 编排 + MCP 工具服务器 + LLM 网关),Agent 是会话的一等公民。
TypeScript 界面交互 客户端 UI:Tauri 桌面(Rust 核心 + React)、React Native 移动、Web;共享 Rust 核心库内嵌复用。

▸ 一条消息的一生

  1. 客户端 → WSS + protobuf → Rust 网关
  2. → NATS JetStream 消息总线 → Go 内核
  3. → gRPC → Go 业务服务
  4. 存证为异步旁路:审计事件哈希指纹批量上链
02 · Core Features

四个关键词,撑起一张架构图

差异化不是堆功能,而是把四件事做深:加密、直连、存证、智能。每一件都有明确的诚实边界——不承诺做不到的事。

E2EE

端到端加密 E2EE

基于 vodozemac(libsignal 生态),人↔人消息服务端无明文。分域加密矩阵:人类域 E2EE,Agent 域半 E2EE——因为 AI 要读懂消息才能响应。

P2P

P2P 直连

客户端内嵌 Rust P2P 内核(libp2p),支持点对点直连传输,服务端只做信令与兜底转发,把网络主权还给用户。

存证链

区块链存证

哈希链 + 审计事件异步旁路上链:消息内容永不明文上链,只存不可篡改的指纹,兼顾司法取证与隐私承诺。

Agent

AI Agent 一等公民

智能体可以被 @、被拉群、主动发言。LangGraph 编排 + MCP 接入内部系统,未来人形机器人(硅基智人)也是会话实体。

03 · Forward Looking

架构不留死角:给未来留的接口

架构文档的第一性原理假设 A1-A7 推导出全部技术取舍。下面四条,是多数 IM 项目连提都不提、但终将到来的问题。

PQ

后量子安全

量子计算机威胁是"现在收割,未来解密"(harvest-now-decrypt-later)——今天抓走的密文,明天量子算力就能解开。所以混合 KEM 现在就落地,签名链整体迁移 ML-DSA(NIST FIPS 203/204),套件版本化可协商。

A6

星际通信预留

月球往返延迟 1.3s,火星 4-24 分钟——实时是不可能的。为此预留 DTN 存储转发层、传输状态机、逻辑时钟,承诺可靠异步、不承诺实时。架构不留死角。

A2

硅基智人入群

假设人形机器人作为一等公民参与沟通:被 @、被拉群、主动发消息。形态 = 服务端虚拟 Agent 或机器人本体,实时语音走双通道。

A1

全球规模

假设全球所有人类在线使用:十亿级账号分片、可用性分级(免费 99.5% / 专业 99.95% / 关键 99.99%)、弱网低端适配、区域化部署。

04 · Honest Engineering

最难的不是写代码,是这些"房间里的大象"

做加密 IM 意味着同时面对监管、量子威胁、规模与工程复杂度。这里没有滤镜,只有我们在架构文档里认真回答过的问题。

E2EE 与合规的钢丝

Telegram 的教训:强加密平台同时是黑产天堂。我们的解法是"行为可检、内容不可见"——只做元数据级行为检测,不读内容;举报驱动处置;透明报告与执法边界写进架构,不承诺做不到的事。

后量子迁移工程

密码套件要版本化、可协商,新旧算法并存期要处理 rekey 与历史密文。最诚实的边界:只能保护"未来会话",不能对"过去已泄露的密文"撒谎。

50 亿人的分片难题

单库单链撑不起十亿级账号:region 化、分片、去 SPOF、异地容灾、弱网低端适配。规模不是加机器,而是架构上每个环节都要可水平扩展。

四种语言的运维

语言边界 = 服务边界,很美,但代价是四套工具链、四套监控、跨语言协议一致性。protobuf 8+1 协议冻结是地基,改字段编号都算破坏性变更。

05 · Roadmap

从协议冻结到星际预留

协议是地基,迁移不违约既有承诺。P0 已冻结,P3+ 是 10 年后的自己留给今天的作业。

P0

协议冻结

  • protobuf 8+1 协议落盘
  • 跨语言地基,改字段编号 = 破坏性变更
P1

基线闭环

  • 注册/登录/1:1 E2EE 消息闭环
  • Web / 移动端可用
  • WebSocket 网关 50w+ 连接
P2

差异化规模化

  • AI Agent 入群 + 存证链上线
  • P2P 直连、群组、富媒体
  • 高可用 + 分片
P3

完整产品

  • 多租户 SaaS / 私有化
  • 合规认证(SOC2/等保)
  • 开放底座 + Matrix 联邦
P3+

全球与星际

  • 10 亿级在线
  • DTN 存储转发
  • 后量子全面落地