Libervia 0.9.0 介绍与选型指南

目标:面向评估自托管即时通信与协作平台的读者,介绍 Libervia(前身为 Salut à Toi)的定位、架构、功能与同类选型对比。本文所有版本、功能与生态信息均溯源自官方站点 libervia.org、官方新闻页、PyPI、Debian Package Tracker 与官方源码仓库(查询日期:2026-10-26),不含本地实测结论;安装、配置与命令实测见本专栏后续篇章

LiberviaLiberviaJabber/XMPP即时通讯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.0hg3993-4+deb12u1;Debian 13:0.9.0hg4352-1)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;全栈平台:LiberviaIETF 开放协议、跨服务器联邦、客户端生态广组织内外开放互通、多端接入
Matrix 联邦Synapse + Element房间态复制联邦、内置端到端加密强联邦 + E2EE 诉求
纯 P2PJami、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 WebWeb浏览器访问的官方 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/unstable0.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 等)。最小路径为:

  1. 安装 libervia-backend 与 libervia-cli;
  2. 启动后端(注册为 D-Bus 会话总线服务,首次运行会初始化本地数据目录);
  3. 用 CLI 创建 profile 并绑定 XMPP 账户(JID + 密码);
  4. 连接后即可收发消息、读写博客与 PubSub 数据。

完整的从零安装、服务器对接与首条消息实测,见本专栏《Debian 12 安装 Libervia 后端与 CLI 指南》。

六、适用场景与限制

6.1 适用场景

  1. 一站式自托管通信平台:希望在一个平台内覆盖即时消息、博客、文件、相册、活动、论坛等场景,而不是拼装多个独立系统;
  2. 已有/计划自建 XMPP 服务器:已有 Prosody/ejabberd 等服务器,需要一个功能远超普通聊天客户端的多端体系(Libervia 与服务器是互补而非替代关系);
  3. 命令行与自动化场景:CLI 是官方一等前端,适合终端重度用户与脚本化运维;
  4. 数据自主与开源合规:AGPL-3.0+ 许可证,数据存于自有服务器,PubSub 数据层对外开放、可被其他客户端消费;
  5. XMPP 应用开发与实验:博客/论坛/列表全部落在标准 XEP 之上,适合作为 XMPP 扩展生态的实践平台。

6.2 限制与注意

  1. 上游正式 tag 滞后于发行包:上游 Mercurial 仓库最新正式 tag 为 v0.8.0(2021-11-30),0.9.0 线目前主要经 Debian 打包(快照构建)分发,非 Debian 系用户需走源码路线(查询日期 2026-10-26);
  2. PyPI 路线停更:PyPI 包停留在 0.8.0,pip 安装不适用于 0.9.0(见 5.1 节);
  3. 依赖 D-Bus 会话总线:后端与前端经 D-Bus 通信,无桌面环境的服务器上需确保用户会话总线可用,对无头服务器与自动化环境是额外前置条件;
  4. Web 前端仍在改进中:官方 /news 2026-W16 明言 Web 前端可用性是当前工作项;
  5. 移动端开发中:Android 前端处于 WIP 状态,iOS 无官方前端;
  6. 架构复杂度高于单进程服务器:后端 + 前端 + D-Bus + SQLite 的分层带来更高的理解与排障成本,若只需要一台纯 XMPP 服务器,Prosody/ejabberd 更直接。

七、同类选型对比

7.1 量化对比表

对比对象取自本站已有专栏的取证结论(各篇标注查询日期):

维度Libervia 0.9.0Prosody IM 13.0.7ejabberd 26.09Synapse/Element v1.163.0Chitchatter
产品形态XMPP 后端 + CLI/TUI/Web/桌面前端全栈平台纯 XMPP 服务器纯 XMPP 服务器(可扩 MQTT/SIP)Matrix 服务器 + Element 客户端套件纯浏览器 P2P WebRTC 聊天
协议XMPP(XEP 体系)XMPPXMPP(+MQTT/SIP 网关)MatrixWebRTC(P2P 直连)
开发语言Python(Twisted)LuaErlang/OTPPython(Synapse 侧)JavaScript/TypeScript
许可证AGPL-3.0+MIT/X11GPL-2.0AGPL-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):

本站相关篇目: