架构

进阶用户指南

Sibrel 架构:主机、联邦、Tauri、PostgreSQL、S3、LiveKit、自动化以及实际限制。

与项目核对时间: 2026-10-15 · 支持: support@sibrel.net

客户端、主机与社区

客户端在浏览器中运行,桌面外壳使用 Tauri。API 基于 Node.js/TypeScript,主机数据存储在 PostgreSQL 中。文件使用兼容 S3 的存储;配置后媒体使用 LiveKit。

主机管理账户和自身基础设施。公会(guild)是主机内的一个带有角色和频道的社区,一个主机可以服务多个社区。

联邦

相互独立的主机交换经过签名的请求。地址使用 @username#hostname;联邦使用 Ed25519 密钥和重放保护。Sibrel 使用自己的协议,与 Matrix 并不直接兼容。

  • 跨主机的群组有一个归属主机;成员变更和同步取决于该主机是否在线。
  • 备用中继在直接投递失败后生效。它不中继音频和视频,也不保证把消息送达完全离线的主机。
  • 中继只使用运营者配置的带宽比例,而不是自动测量的空闲带宽。
  • 签名用于验证请求来源,并不加密消息。

拆分基础设施

文件可以使用本地 MinIO 或外部 S3 存储;媒体可以使用本地或独立的 LiveKit。项目支持额外的存储节点和媒体节点。每个房间会分配到一个媒体节点。

自动化

机器人是一个单独账户,其权限按社区单独限制。可以使用 REST API、WebSocket 网关、斜杠命令、按钮、嵌入内容(embed)和语音。Webhook 用于简单的入站通知。

机器人 API 文档 · Webhook 与嵌入内容

安全边界

来自主输入框的新附件由客户端使用 AES-256-GCM 加密,文件密钥会为接收方的密钥进行封装。旧附件、头像、公开帖子、表情和贴图使用不同的访问模式。

不要把文字消息视为端到端加密。文件加密无法防范恶意客户端、被入侵的设备或保存文件的接收方。参见安全指南。

优点与运营者责任

优点成本与限制
掌控自己的主机并拆分服务。运维、更新、备份和监控由你负责。
在相互独立的节点之间进行联邦。需要信任运营者、版本兼容以及可用的网络路由。
使用 Tauri 客户端,无需额外的 Electron 引擎。没有适用于所有设备的通用内存占用或速度指标。
专用的机器人 API 与集成能力。机器人必须处理错误、令牌被撤销、断线和 API 变更。
权限和规则可配置。自托管并不能免除法律或个人数据方面的义务。