面向加密通讯的核心能力概览。
以下技术示例展示消息、文件、RTC 加密、多端同步和安全边界如何协同工作。
加密消息发送
客户端在统一协议下发送文本、图片、语音和文件消息,并通过 ACK、重试和历史同步保持多端一致。
{
"message_type": "single_text",
"conversation_id": "u_1001:u_1002",
"body": "The deployment key rotated successfully.",
"crypto": {
"encrypted": true
},
"sync": {
"ack_required": true,
"target_devices": ["web", "flutter"]
}
}安全文件传输
文件和媒体通过受控上传、provider-aware locator、沙箱下载和生命周期策略进入会话。
{
"message_type": "single_file",
"conversation_id": "u_1001:u_1002",
"file": {
"assetId": "mf_8K2mVp9",
"provider": "s3",
"url": "secure/2026/06/design-brief.pdf",
"name": "design-brief.pdf",
"size_bytes": 2482194
},
"retention": {
"expires_in_days": 7,
"download_disposition": "attachment"
}
}群组音视频(LiveKit SFU)
群组音视频采用 LiveKit SFU 架构而非 P2P Mesh,BFF 签发 room token,Nginx 代理媒体平面;1v1 通话保留 P2P WebRTC + TURN relay,统一信令入口承接两种通话拓扑。
{
"event": "session.invite",
"session_id": "group-42-20260622",
"conversation_type": "group",
"conversation_id": 42,
"from_user_id": 1001,
"payload": {
"kind": "group-video",
"title": "产品演示群"
}
}通讯安全集成点
平台架构并非拼凑的独立模块,而是消息网络、身份边界、文件传输与安全治理的深度协同。
统一消息协议
私聊、群聊、文本、图片、语音和文件沿用统一消息生命周期,便于多端同步、ACK、重试和本地持久化。
加密与身份边界
HTTP payload encryption、IM ticket、登录态与消息加密共同组成跨端安全边界,降低凭证和内容暴露风险。
群组与安全治理
群组、联系人、举报、拉黑、限流和内容审核以通讯安全为中心协作,保护预上线产品的可信使用环境。
跨端客户端覆盖
Web、Flutter(iOS · Android · macOS · Linux)、Android native、iOS native 共用消息协议与 locs-im-v1 加密边界,跨端行为由统一协议治理文档约束。
15 个独立服务组件,覆盖 IM、文件、RTC 和网关全链路。
自研 C++ IM 核心与 Go / Node.js / NestJS 服务层分离部署,各组件职责单一、可独立扩展。
IM 消息层
native socket + WebSocket 双网关并行;独立路由层负责跨服务器消息转发;负载均衡按连接数动态调度;持久化代理层隔离 IM 核心与底层存储实现。
文件传输层
控制面与数据面分离;S3 presigned URL 直传;离线传输带每日字节配额、并发任务上限、磁盘水位熳断和 7 天自动清理;JPEG/PNG/WebP 文件头校验防恶意 MIME 伪装;沙箱子域名隔离防 XSS。
RTC 与实时协作层
统一信令入口承接 1v1 通话和实时协作事件;1v1 P2P WebRTC + TURN relay;群组音视频 LiveKit SFU,避免 Mesh 复杂度和跨端 codec 漂移;共享画板采用操作 patch 协议独立于媒体传输。
网关、认证与业务层
Nginx 统一公网 HTTP/WebSocket/TCP 入口;Auth 处理登录、OAuth 快捷登录和 IM ticket 签发;BFF 负责 HTTP Payload 加解密和 LiveKit token;Business 处理资料、关系和媒体数据;Go Push 负责推送投递。
账号开通、注册策略与内容处置,全面可控。
管理员通过 Admin Dashboard 执行账号生命周期管理、动态切换注册策略(无需重启),并完整处置内容举报与用户违规。
账号生命周期管理
账号开通与角色分配(standard / admin)
用户警告 / 临时封禁 / 永久封禁 / 恢复
邀请码创建、批量列表与随时吊销
新账号 24 h 冷却期(Journey 创建和好友申请)
注册策略动态控制
invite-only:仅邀请码注册
open:公开注册
closed:关闭所有注册入口
OAuth 快捷登录与首次注册可独立开关
策略变更实时生效,无需重启服务
内容与举报处置
Journey 四状态流转:published / pending / hidden / rejected
举报证据快照不可变存储,支持回溯核查
管理员可对 Journey 执行 hide / restore
管理员可对用户执行 warn / suspend / ban / restore
所有操作写入 UTC 审计记录
本地规则引擎、风险评分与不可变证据留存。
平台在内容发布、好友申请和举报处置三个维度内置安全闭环——低成本本地规则预过滤与人工审核互补,不替代。
文本规则引擎
Unicode 归一化、大小写折叠、连续空白压缩、重复字符变体检测;自动提取 URL、电话号码和站外账号。Journey 和好友申请文本分类为 allow / review / block:review 自动挂起不公开显示,block 直接拒绝发布。规则匹配记录最小化元数据,不存储原始全文。
好友申请风险评分
申请附言经本地规则实时评分:明显违规直接拒绝;疑似风险透传但累积风险记录;24 小时内重复文本或链接追加额外风险信号。当前仅用于审计告警,不触发自动封禁,保持低误判率。
举报与证据留存
用户举报、内容举报和消息举报均保存不可变证据快照(含时间戳、账号、消息内容)。管理员查看快照后可对 Journey 执行 hide / restore,对用户执行 warn / suspend / ban / restore。所有 admin 操作写入 UTC 时间戳审计记录,支持回溯核查。