Libervia 0.9.0 介绍与选型指南
目标:面向评估自托管即时通信与协作平台的读者,介绍 Libervia(前身为 Salut à Toi)的定位、架构、功能与同类选型对比。本文所有版本、功能与生态信息均溯源自官方站点 libervia.org、官方新闻页、PyPI、Debian Package Tracker 与官方源码仓库(查询日期:2026-10-26),不含本地实测结论;安装、配置与命令实测见本专栏后续篇章
Libervia 0.9.0 介绍与选型指南
目标:面向评估自托管即时通信与协作平台的读者,介绍 Libervia(前身为 Salut à Toi)的定位、架构、功能与同类选型对比。本文所有版本、功能与生态信息均溯源自官方站点 libervia.org、官方新闻页、PyPI、Debian Package Tracker 与官方源码仓库(查询日期:2026-10-26),不含本地实测结论;安装、配置与命令实测见本专栏后续篇章。
一、环境信息
本文为 A1 认知篇,内容来源与取证方式如下:
- 官方主站:libervia.org(首页、/news、/social_contract),查询日期 2026-10-26;
- 官方文档站:libervia.org/documentation(backend / desktop-mobile / pubsub / web 四个子站;该站由前端脚本渲染),查询日期 2026-10-26;
- PyPI:pypi.org/project/libervia-backend,查询日期 2026-10-26;
- Debian Package Tracker:tracker.debian.org/pkg/libervia-backend(版本矩阵与二进制包清单),查询日期 2026-10-26;
- 官方源码仓库:repos.goffi.org/libervia(Mercurial 版本库,含 COPYING 许可证文件与 CHANGELOG),查询日期 2026-10-26;
- 当前版本线:0.9.0(Debian 12/13 均已打包 0.9.0 线,详见第五节版本矩阵);
- 对比对象:Prosody IM 13.0.7、ejabberd 26.09、Synapse/Element v1.163.0、Chitchatter(main@b0114d5)、Jami 20260403.0(均为本站已有专栏,取证方式见对应篇目)。
💡 说明:Libervia 的版本号在发行包中以
0.9.0~hg3993这类形式出现,其中hg<数字>是 Mercurial 版本库的变更集序号——即该包由版本库快照构建。选型时认准 0.9.0 版本线即可,具体包名以发行版仓库为准。
二、软件概述
Libervia(前身为 Salut à Toi,缩写 SàT)是一个以 Python 编写、基于 XMPP 协议的开源通用通信平台,采用 AGPL-3.0+ 许可证。官方主站对其的定位描述为「The Universal Communication Ecosystem」(通用通信生态),首页原文(查询日期 2026-10-26):
"Libervia is a all-in-one tool to manage all your communications needs: instant messaging, (micro)blogging, file sharing, photo albums, events, forums, tasks, etc."
即一个覆盖即时消息、(微型)博客、文件共享、相册、活动、论坛、任务等场景的一体化通信工具。它不是一个单纯的聊天客户端,也不是一个 XMPP 服务器,而是「后端 + 多前端」的全栈平台:后端常驻运行并承载全部业务逻辑,CLI、TUI、Web、桌面等多种前端连接同一后端共享状态。
改名史:v0.8.0 «La Cecília»(2021-11-30 发布)完成了项目改名,官方 CHANGELOG 原文(查询日期 2026-10-26):
- "renamed the project from "Salut à Toi" to "Libervia""(项目由 Salut à Toi 更名为 Libervia);
- "frontends are renamed "Libervia XXX" (where XXX is Desktop, Web, etc.), former names are kept as aliases"(各前端统一更名为 "Libervia XXX",旧名保留为别名);
- 同版将配置文件从
sat.conf更替为libervia.conf(旧名仍兼容)、D-Bus 桥接命名空间从org.salutatoi.SAT变更为org.libervia.Libervia,并完成了 Python 3 移植。
官方新闻页 /news 2026-W16 进度记(goffi,2026-04-23 发布)亦以 "Libervia, formerly 'Salut à Toi'" 自述沿革(查询日期 2026-10-26)。
核心身份信息汇总:
| 项目 | 内容 | 来源 |
|---|---|---|
| 软件名称 | Libervia(2021-11-30 前名为 Salut à Toi) | libervia.org /news |
| 定位 | 通用通信生态(XMPP 后端 + 多前端) | libervia.org 首页 |
| 开发语言 | Python(异步网络框架 Twisted) | PyPI 包元数据 |
| 许可证 | AGPL-3.0 or later | 源码仓库 COPYING 文件;PyPI 分类符 "GNU Affero General Public License v3 or later (AGPLv3+)";CHANGELOG "full project moved to AGPL v3+" |
| 当前版本线 | 0.9.0(Debian 12:0.9.0 | Debian Package Tracker |
| 协议 | XMPP(XEP 扩展体系,含 OMEMO 加密、PubSub、Jingle 音视频等) | CHANGELOG 与官方文档站 |
| 源码托管 | repos.goffi.org(Mercurial) | 官方文档站与源码仓库 |
| 核心维护者 | Jérôme Poisson(Goffi)及社区 | /news 进度记署名 |
💡 技术拓展:在自托管即时通信领域,Libervia 所处的 XMPP 联邦路线与 Matrix 联邦、纯 P2P 路线的分工大致如下:
路线 代表产品 特点 适用场景 XMPP 联邦 服务端:Prosody、ejabberd;全栈平台:Libervia IETF 开放协议、跨服务器联邦、客户端生态广 组织内外开放互通、多端接入 Matrix 联邦 Synapse + Element 房间态复制联邦、内置端到端加密 强联邦 + E2EE 诉求 纯 P2P Jami、Chitchatter 无中心服务器、会话直连 隐私极致、临时性会话 XMPP 生态里多数项目只做「服务器」(Prosody、ejabberd)或只做「客户端」(Converse.js 等网页客户端),Libervia 的独特之处在于把后端守护进程与一整套官方前端打包成同一平台——这是它与同赛道产品最大的形态差异。XMPP 服务器侧的选型对比见 《Prosody IM 13.0.7 介绍与选型指南》 与 《ejabberd 26.09 介绍与选型指南》,Matrix 路线见 《Synapse/Element v1.163.0 介绍与选型指南》,纯浏览器 P2P 路线见 《Chitchatter 介绍与选型指南》。
三、核心架构
以下架构信息溯源自官方文档站 libervia.org/documentation 的子站划分、官方 CHANGELOG 与 Debian 发行包清单(查询日期 2026-10-26)。
3.1 总体模型:后端守护进程 + 多前端
Libervia 采用「后端(backend)+ 前端(frontend)」的分层模型:
- libervia-backend:常驻守护进程,承载全部业务逻辑——XMPP 连接管理、OMEMO 加密、PubSub、博客、文件传输、身份(头像/昵称)管理等。所有协议交互都发生在后端,前端不直接与 XMPP 网络对话;
- 前端:通过**桥接层(bridge)**调用后端能力,多个前端可同时连接同一后端并共享状态。官方文档站即按此划分四个子站:backend(后端)、desktop-mobile(桌面/移动前端)、pubsub(PubSub 服务与数据模型)、web(Web 前端)。
这一模型意味着:在任何一台机器上运行后端后,用户可以在同一台或另一台机器上用 CLI、终端界面、浏览器或桌面程序访问同一套账户与数据。
3.2 桥接层与运行时
- bridge:前后端通信的接口层。v0.8.0 起 D-Bus 桥接命名空间为
org.libervia.Libervia(原org.salutatoi.SAT,CHANGELOG 原文:"D-Bus bridge: renamed namespace from org.salutatoi.SAT to org.libervia.Libervia")。后端注册为 D-Bus 会话总线上的服务,前端经由会话总线发现并调用; - 运行时:后端基于 Python 的 Twisted 异步网络框架构建(PyPI 包元数据,查询日期 2026-10-26),以事件驱动方式处理 XMPP 长连接与并发会话;
- 存储:后端使用 SQLite 数据库存放本地数据(配置、缓存、未同步状态等),XMPP 侧的历史归档依赖服务端 MAM(XEP-0313 消息归档管理)。
3.3 多前端体系
官方前端矩阵(来源:libervia.org 首页与 /documentation 子站划分,查询日期 2026-10-26):
| 前端 | 形态 | 说明 |
|---|---|---|
| Libervia CLI | 命令行 | 面向脚本化与终端操作,即早期名称 "jp"(核发于 Debian 包 libervia-cli) |
| Libervia TUI | 终端界面 | 全屏终端聊天界面(原 Primitivus,Debian 包 libervia-tui) |
| Libervia Web | Web | 浏览器访问的官方 Web 前端,基于模板引擎(Debian 包 libervia-web) |
| Libervia Desktop | 桌面/移动 | 桌面原生界面(原 Cagou),Android 移动端处于开发中(WIP) |
v0.8.0 起前端统一采用 "Libervia XXX" 命名,旧名称(jp、Primitivus、Cagou 等)保留为别名(CHANGELOG,查询日期 2026-10-26)。
3.4 协议扩展(XEP)与功能构建块
Libervia 的博客、论坛、列表、活动等高级功能并非私有协议,而是构建在 XMPP 标准扩展(XEP)之上——尤其是 XEP-0060(Publish-Subscribe,发布/订阅)。官方 CHANGELOG 与文档站可确认的关键 XEP(查询日期 2026-10-26):
- XEP-0060:PubSub 发布/订阅,是博客、列表、论坛、活动等功能的公共数据层(含 publish-options 支持);
- XEP-0277:基于 PubSub 的微型博客(microblogging),博客功能的数据格式;
- XEP-0077:带内注册(支持账户创建与删除);
- XEP-0346:表单发现与发布(Form Discovery and Publishing),节点 schema 的基础;
- XEP-0353:Jingle 消息发起(音视频通话的呼叫协商);
- XEP-0431:MAM 全文搜索;
- OMEMO(XEP-0384 系):端到端加密,v0.8.0 起覆盖单聊与群聊(MUC)。
这一设计带来的直接收益是可编程性:任何支持 PubSub 的 XMPP 客户端都可以读写 Libervia 发布的数据,Libervia 自身的前端只是这套数据体系的一种呈现方式。
四、功能特性
按官方主站首页与 /news 进度记归纳(查询日期 2026-10-26):
- 即时消息:单聊与群聊(MUC),支持 OMEMO 端到端加密("Encrypt conversations to protect your privacy");
- (微型)博客:公开博客或仅对指定联系人分组可见("Blog publicly or only with a group of contacts"),基于 XEP-0277;
- 文件共享:点对点直传(Jingle)或存至服务器随处访问("Share files directly (peer to peer) or store them on your server and access them from anywhere"),支持附件与缩放;
- 相册:私密照片分享("Share private photo albums");
- 活动、论坛、任务/列表:均构建于 PubSub 体系(v0.8.0 中 "tickets" 功能更名为 "lists",并提供购物清单、TODO 等模板);
- 音视频通话(/news 2026-W16):一对一呼叫、基于 MUJI 的 mesh 网状群呼、基于 Galène SFU 的大群呼;
- 邮件网关(/news 2026-W16):Email Gateway,打通邮件与 XMPP 消息体系;
- 身份管理:头像、昵称等身份元数据统一管理(含 MUC 头像、SVG 头像支持);
- 多前端同源:CLI/TUI/Web/桌面共享同一账户、同一份会话与社交数据。
正在进行的方向(/news 2026-W16,查询日期 2026-10-26):简化安装与设置流程、Web 前端可用性改进,以及 "Serverless & Metadata Reduction" XMPP 基金会资助项目(减少元数据暴露)。
五、快速开始(官方安装路径指引)
本节仅给出官方渠道的安装路径与版本对照,具体步骤与实测回显见本专栏后续篇章。
5.1 版本矩阵与获取渠道
Debian Package Tracker 实查(查询日期 2026-10-26):
| 发行版 | 版本 | 包版本号 |
|---|---|---|
| Debian 12 (bookworm/oldstable) | 0.9.0 线 | 0.9.0~hg3993-4+deb12u1 |
| Debian 13 (trixie/stable) | 0.9.0 线 | 0.9.0~hg4352-1 |
| testing/unstable | 0.9.0 开发快照 | 0.9.0~igit20260421.992d14cb-3 |
发行包按前端拆分为多个二进制包:libervia-backend(后端)、libervia-cli(命令行前端)、libervia-tui(终端前端)、libervia-doc(文档)。Debian 系安装即:
sudo apt install libervia-backend libervia-cli
⚠️ 选型关键提示:PyPI 上的 libervia-backend 停在 0.8.0(2021-11-30 上传后未再更新,查询日期 2026-10-26),且不存在独立的 "libervia-cli" PyPI 包。也就是说,
pip install libervia-backend拿不到 0.9.0——0.9.0 线目前的主要分发渠道是 Debian/发行版仓库,Python 生态用户需从源码仓库安装。
5.2 其他平台
- 源码安装:官方源码托管于 repos.goffi.org(Mercurial 版本库),
hg clone后按文档构建;上游正式 tag 目前最新为 v0.8.0,0.9.0 线由版本库主干构建(发行包名中的hg<序号>即快照来源); - 官方文档站:libervia.org/documentation 提供 backend、desktop-mobile、pubsub、web 四个子站的官方手册。
5.3 最小可用验证路径
Libervia 是 XMPP 客户端侧平台,运行前需要一个可用的 XMPP 账户(自建服务器或公共服务器均可,服务器侧可选 Prosody、ejabberd 等)。最小路径为:
- 安装 libervia-backend 与 libervia-cli;
- 启动后端(注册为 D-Bus 会话总线服务,首次运行会初始化本地数据目录);
- 用 CLI 创建 profile 并绑定 XMPP 账户(JID + 密码);
- 连接后即可收发消息、读写博客与 PubSub 数据。
完整的从零安装、服务器对接与首条消息实测,见本专栏《Debian 12 安装 Libervia 后端与 CLI 指南》。
六、适用场景与限制
6.1 适用场景
- 一站式自托管通信平台:希望在一个平台内覆盖即时消息、博客、文件、相册、活动、论坛等场景,而不是拼装多个独立系统;
- 已有/计划自建 XMPP 服务器:已有 Prosody/ejabberd 等服务器,需要一个功能远超普通聊天客户端的多端体系(Libervia 与服务器是互补而非替代关系);
- 命令行与自动化场景:CLI 是官方一等前端,适合终端重度用户与脚本化运维;
- 数据自主与开源合规:AGPL-3.0+ 许可证,数据存于自有服务器,PubSub 数据层对外开放、可被其他客户端消费;
- XMPP 应用开发与实验:博客/论坛/列表全部落在标准 XEP 之上,适合作为 XMPP 扩展生态的实践平台。
6.2 限制与注意
- 上游正式 tag 滞后于发行包:上游 Mercurial 仓库最新正式 tag 为 v0.8.0(2021-11-30),0.9.0 线目前主要经 Debian 打包(快照构建)分发,非 Debian 系用户需走源码路线(查询日期 2026-10-26);
- PyPI 路线停更:PyPI 包停留在 0.8.0,pip 安装不适用于 0.9.0(见 5.1 节);
- 依赖 D-Bus 会话总线:后端与前端经 D-Bus 通信,无桌面环境的服务器上需确保用户会话总线可用,对无头服务器与自动化环境是额外前置条件;
- Web 前端仍在改进中:官方 /news 2026-W16 明言 Web 前端可用性是当前工作项;
- 移动端开发中:Android 前端处于 WIP 状态,iOS 无官方前端;
- 架构复杂度高于单进程服务器:后端 + 前端 + D-Bus + SQLite 的分层带来更高的理解与排障成本,若只需要一台纯 XMPP 服务器,Prosody/ejabberd 更直接。
七、同类选型对比
7.1 量化对比表
对比对象取自本站已有专栏的取证结论(各篇标注查询日期):
| 维度 | Libervia 0.9.0 | Prosody IM 13.0.7 | ejabberd 26.09 | Synapse/Element v1.163.0 | Chitchatter |
|---|---|---|---|---|---|
| 产品形态 | XMPP 后端 + CLI/TUI/Web/桌面前端全栈平台 | 纯 XMPP 服务器 | 纯 XMPP 服务器(可扩 MQTT/SIP) | Matrix 服务器 + Element 客户端套件 | 纯浏览器 P2P WebRTC 聊天 |
| 协议 | XMPP(XEP 体系) | XMPP | XMPP(+MQTT/SIP 网关) | Matrix | WebRTC(P2P 直连) |
| 开发语言 | Python(Twisted) | Lua | Erlang/OTP | Python(Synapse 侧) | JavaScript/TypeScript |
| 许可证 | AGPL-3.0+ | MIT/X11 | GPL-2.0 | AGPL-3.0(Synapse,2023-11 起) | GPL-2.0-or-later |
| 自带客户端 | 全端官方前端 | 无(第三方客户端接入) | 无(第三方客户端接入) | Element 全端 | 网页即开即用 |
| 部署面 | 后端依赖 D-Bus 会话总线,需对接一台 XMPP 服务器 | 单进程,轻量 | 单节点亦可集群化 | 组件较多,资源占用偏高 | 零后端,静态页 + 信令 |
| 版本节奏 | 上游正式 tag 停在 0.8.0(2021-11),0.9.0 线经 Debian 打包分发,开发持续(/news 2026-W16) | 活跃(13.0.7,2026-09-24) | 活跃(26.09) | 活跃(v1.163.0) | 持续(main@b0114d5) |
7.2 定位对照与选型建议
- vs Prosody / ejabberd(XMPP 服务器):不是同一层的组件。服务器只管协议接入与消息路由,客户端生态需要另行选型;Libervia 恰好补上「客户端 + 应用层」这一段,并需要连接到某台 XMPP 服务器上运行。典型组合是 Prosody/ejabberd 做服务器、Libervia 做用户侧平台;
- vs Synapse/Element(Matrix 全栈):两者都是「服务器/后端 + 官方客户端」的整体路线。Matrix 路线胜在内置 E2EE 的成熟度与房间联邦模型;XMPP 路线(Libervia 侧)胜在协议轻量、PubSub 应用层开放可编程,以及 CLI/TUI 等非图形前端的完备性;
- vs Converse.js(网页 XMPP 客户端):Converse.js 是嵌入网页的单前端客户端,部署为静态资源即可;Libervia 是带常驻后端的平台,能力面更宽(博客/文件/活动/论坛),部署面也更重。轻量 Web 接入选 Converse.js,全栈体验选 Libervia;
- vs Chitchatter / Jami(P2P 路线):P2P 路线无中心账户与服务器,适合临时会话与隐私极致场景,但没有持久化的社交数据层;Libervia 基于账户与联邦,适合需要长期沉淀(博客、相册、文件库)的组织与个人;
- 综合建议:
- 需要纯轻量 XMPP 服务器 → Prosody 或 ejabberd;
- 需要「服务器 + 全功能客户端 + 非图形界面」的 XMPP 全栈 → Libervia + Prosody/ejabberd 组合;
- 需要 Matrix 生态与成熟 E2EE 联邦 → Synapse + Element;
- 只需临时加密会话、零部署 → Chitchatter;去中心化 P2P 通信 → Jami。
八、参考链接
官方渠道(查询日期 2026-10-26):
- 官方主站:https://libervia.org
- 官方新闻页(改名史与 2026-W16 进度记):https://libervia.org/news
- 官方文档站:https://libervia.org/documentation
- 官方源码仓库(Mercurial,含 COPYING 与 CHANGELOG):https://repos.goffi.org/libervia
- PyPI 包页:https://pypi.org/project/libervia-backend/
- Debian Package Tracker:https://tracker.debian.org/pkg/libervia-backend
本站相关篇目: