Quassel IRC 0.14.0 介绍与选型指南

Quassel IRC 0.14.0 介绍与选型:客户端/核心分离架构、功能特性、快速上手与 WeeChat/The Lounge/ZNC 对比,基于官方渠道 2026-10-26 联网溯源。

Quassel IRCQuassel IRCIRC即时通讯2026/10/26

Quassel IRC 0.14.0 介绍与选型指南

目标:说清 Quassel IRC 这一「客户端/服务端分离」型分布式 IRC 客户端的定位、架构与适用场景,并给出与 WeeChat、The Lounge、ZNC 等同类工具的选型对比。本文为认知篇,全部信息来自官方渠道与发行版仓库的联网溯源实查(查询日期 2026-10-26),未包含本机实测数据。

一、环境信息

本文所有信息均为 2026-10-26 当日联网溯源所得,来源清单如下:

项目内容
软件名称Quassel IRC(服务端进程名 quasselcore,桌面客户端进程名 quasselclient)
当前最新稳定版0.14.0(2022-01-01 发布,官方发布公告:quassel-irc.org/node/137)
官方网站https://quassel-irc.org
官方源码仓https://github.com/quassel/quassel
稳定版本节奏0.13.0(2018-11-17)→ 0.13.1(2019-02-18)→ 0.14.0(2022-01-01),来源:官网新闻列表
许可证GPL v2 或 v3(源码包 COPYING 声明「either version 2 of the License, or (at your option) version 3」,源码包内同时附带 gpl-2.0.txt 与 gpl-3.0.txt)
技术栈C++(0.14.0 起要求支持 C++14 的编译器)+ Qt 5(0.14.0 已移除 Qt 4 / KDE 4 支持)
GitHub 星数792(shields.io 仓库徽章实测,2026-10-26)
Ubuntu 软件源Ubuntu 22.04(jammy)universe 仓库提供 quassel-core / quassel-client,版本 1:0.14.0-1ubuntu0.22.04.4(jammy-updates,2026-10-26 查询 Ubuntu 软件源索引)
Docker 镜像形态Docker Hub 无官方镜像(v2 API 检索 quassel 关键词全部 is_official=false,2026-10-26);最流行社区镜像为 linuxserver/quassel-core(38 星、约 677 万次拉取,LinuxServer.io 维护)

💡 说明:Quassel 项目自 2008 年起步(0.14.0 官方公告中自述为「almost 17 year old project」),是 KDE/Qt 生态中历史最久的 IRC 客户端项目之一。开发团队主 channel 为 Libera.Chat 的 #quassel(2021-06 由 Freenode 迁移,见官网公告 node/136)。

二、软件概述

Quassel IRC 的官方自述是「a modern, cross-platform, distributed IRC client」——一个现代、跨平台、分布式的 IRC 客户端。这里的「分布式」指的不是服务器集群,而是把传统单体的 IRC 客户端拆成两个独立程序:

  • quasselcore(核心/服务端):一个 headless(无图形界面)的常驻后台服务,负责登录 IRC 网络、收发消息、把所有频道消息与私聊持久化到数据库。服务器关掉客户端后它仍然在线挂机、继续收消息。
  • quasselclient(客户端):基于 Qt 的图形客户端,从任意设备连到 quasselcore,同步缓冲区列表、频道消息与回溯(backlog)。

这一定位让 Quassel 实质上是「IRC bouncer(挂机保活中继)+ 专属客户端」的一体化方案:与 ZNC 这类把 IRC 原始协议转发给普通 IRC 客户端的 bouncer 不同,Quassel 自带客户端与服务端之间的私有二进制协议(0.14.0 的客户端协议版本为 10),客户端不直接说 IRC 协议,因此可以做「多端同步已读状态、按需拉取回溯、高亮规则在服务端统一计算」这类 bouncer 做不到的体验。

💡 技术拓展:IRC「保活/多端」类方案主要有三种形态——

形态代表工作方式取舍
Bouncer(bnc)ZNC服务端保活,向客户端转发标准 IRC 协议客户端随便换,但 playback/已读同步体验有限
客户端-服务端分离Quassel服务端保活,客户端使用私有协议直连体验最好(多端同步、按需回溯),但只能用它自家客户端
Web 网关The Lounge服务端保活,浏览器作为客户端零安装,仅浏览器形态
终端客户端 + relayWeeChatweechat 进程保活,relay 模块对外提供协议终端用户全能,移动端依赖 relay 插件

Quassel 属于第二类,也是本文对比的基准产品。

三、核心架构

Quassel 的架构可以概括为「一个常驻核心 + 多个瘦客户端 + 一个存储后端」:

┌──────────────┐   私有客户端协议(TCP 4242)   ┌────────────────────┐
│ quasselclient │ ──────────────────────────▶ │    quasselcore     │
│  (Qt 桌面端)  │ ◀────────────────────────── │  (headless 常驻)   │
└──────────────┘   消息/回溯/缓冲区同步        └─────┬────────┬────┘
┌──────────────┐                                    │        │
│ Quasseldroid │ ◀──── 同一协议(移动端实现)        │        │
│  (Android)   │                              SQLite /   │ IRC 协议
└──────────────┘                              PostgreSQL  ▼ 出站连接
                                          (聊天记录持久化)  各 IRC 网络
  • quasselcore:唯一常驻组件。对外监听客户端协议端口(默认 4242/TCP),对内维护到各 IRC 网络的长连接;把所有频道消息、私聊、高亮写入存储后端;0.14.0 起还内置了 Prometheus 指标接口(--metrics-daemon)与 HAProxy 代理协议支持。核心没有图形界面,适合跑在任何 Linux 服务器上。
  • quasselclient:Qt 5 图形客户端,桌面三平台均有官方构建(Windows 安装包、macOS dmg、Linux 由发行版打包);官方下载页同时提供「monolithic(单机一体)」形态,把客户端与核心装在同一进程里,供不需要多端同步的单机用户使用。
  • Quasseldroid:第三方维护的 Android 客户端(quasseldroid.info),直接实现 Quassel 客户端协议,是移动端漫游的官方推荐路径。
  • 存储后端:核心把全部聊天记录持久化到 SQLite(默认)或 PostgreSQL。官方下载页明确说明 Windows/macOS 官方构建不支持 PostgreSQL 后端(仅 Linux 源码/发行版构建可用)。
  • 协议兼容性:官方下载页声明「0.14.x clients are compatible to cores starting from 0.5.x and vice versa」,即客户端/核心两端跨版本兼容策略非常宽松(0.5.x 发布于 2009 年)。

💡 技术拓展:IRC 客户端「消息持久化/回溯」的存储形态对比——

方案存储位置回溯获取方式
Quassel coreSQLite / PostgreSQL 数据库客户端按缓冲区+时间窗按需拉取(协议内建)
ZNC文本/SQLite 日志重连时以 IRC playback 消息批量灌入
The LoungeSQLite/文本网页滚动加载

Quassel 的服务端统一存储 + 协议级按需回溯,是多端「已读位置同步」能做好的根本原因。

四、功能特性

以下特性清单综合官方 0.14.0 发布公告(quassel-irc.org/node/137)与下载页:

  1. 全天候在线:核心常驻保持 IRC 连接与频道记录,客户端随时上线补看离线消息——这是 Quassel 的核心卖点。
  2. 多客户端并行与漫游:同一账号可同时从桌面、笔记本、Android 连入,已读位置、高亮状态由核心统一维护。
  3. IRCv3 能力集:0.14.0 大幅扩充 IRCv3 capability 支持(含 modern formatting 等现代格式渲染),并持续跟随上游。
  4. 服务端高亮与忽略规则:高亮/忽略规则在核心计算,客户端不必拉全量消息即可获得正确的高亮提醒(0.13.0 起移入核心)。
  5. 可观测性:0.14.0 内置 Prometheus metrics 接口(--metrics-daemon),可直接被抓取监控。
  6. 反代友好:0.14.0 支持 HAProxy proxy protocol,可在 HAProxy/nginx 等反代后面保留真实客户端 IP。
  7. 传输安全:客户端连接支持 SSL/TLS(可强制 --require-ssl),对 IRC 网络一侧亦支持 SSL 连接。
  8. 认证扩展:0.13.0 起支持 LDAP 认证后端与「config-less」容器化部署形态;存储后端支持 SQLite/PostgreSQL 间迁移。
  9. ident 集成:内置 ident daemon(--ident-daemon)与 oidentd 集成(--oidentd)。
  10. 跨平台客户端:Windows/macOS/Linux 桌面客户端 + Android(Quasseldroid),Web 端可经第三方 quassel-web 前端补充。

五、快速开始(最小可用示例)

以下最小流程依据官方下载页(quassel-irc.org/downloads)与 Ubuntu 软件源索引整理(查询日期 2026-10-26),供评估形态参考;逐步骤的完整安装、systemd 托管与排障实录见部署篇。

# Ubuntu/Debian 系安装核心与客户端(Ubuntu 22.04 universe 仓库版本为 0.14.0)
sudo apt install quassel-core      # 核心服务端(自动注册 systemd 服务,默认监听 4242)
sudo systemctl status quasselcore  # 查看服务状态

# 以服务运行用户身份创建管理员账号(交互式输入用户名/密码)
sudo -u quasselcore quasselcore --configdir /var/lib/quassel --add-user

# 客户端机器上安装图形客户端,连接 服务器IP:4242
sudo apt install quassel-client

首次连接时客户端会引导完成核心初始化(选择存储后端、确认管理员账号),随后添加 IRC 网络即可使用。数据目录默认在 /var/lib/quassel(SQLite 数据库文件 quassel-storage.sqlite、SSL 证书 quasselCert.pem)。

⚠️ 注意:Ubuntu 22.04 仓库包已默认带 --require-ssl 启动参数(见发行版 systemd 单元 /lib/systemd/system/quasselcore.service),非回环客户端连接必须使用 TLS;客户端连接自签证书时会提示信任确认。

六、适用场景与限制

适合:

  • 个人/小团队需要「IRC 永远在线」:VPS 上跑一个 core,手机+电脑多端漫游,离线消息与高亮不丢。
  • 从 ZNC 等 bouncer 迁移、又嫌 playback 体验差的用户:Quassel 的按需回溯与已读同步明显更顺。
  • 已有 Linux 服务器运维习惯、想要零成本自托管 IRC 接入层的用户:apt 一条命令即装,systemd 托管开箱即用。

限制与风险:

  • 客户端锁定:必须使用 Quassel 家族客户端(桌面 quasselclient / Quasseldroid / 第三方 quassel-web),不能直接接 Irssi、WeeChat、HexChat 等标准 IRC 客户端。
  • 版本节奏慢:0.13.0(2018-11)→ 0.14.0(2022-01),大版本间隔 3 年以上;虽然协议兼容性极好、旧核心仍可用,但新特性(如 Qt 6 迁移)落地缓慢,选型时需接受「稳定但低频」的维护节奏。
  • 无官方容器镜像:Docker Hub 无官方镜像,容器化需依赖 LinuxServer.io 等社区镜像(选型时注意镜像维护方)。
  • Windows/macOS 官方构建不含 PostgreSQL 后端:需要 PostgreSQL 存储的部署只能落在 Linux 上。
  • 社区规模中等:GitHub 792 星(2026-10-26),相比动辄数千星的现代聊天项目偏小众,第三方插件/工具生态有限。

七、同类选型对比

对比对象覆盖「IRC 保活/多端」赛道的主要自托管方案,并区分「客户端类」与「服务端类」两族(服务器侧产品如 Ergo、ngIRCd、InspIRCd 是 IRC 网络本身,与本篇的客户端接入层不是同一层,不直接对比,仅作上下游关系说明):

维度Quassel 0.14.0WeeChatThe LoungeZNC
形态核心+客户端分离终端客户端+relayWeb 客户端(含 always-on)纯 bouncer
保活方式quasselcore 常驻weechat 常驻进程服务端进程常驻znc 常驻
客户端协议私有二进制协议(v10)标准 IRC + relay 扩展HTTP/WebSocket标准 IRC
可用客户端自家桌面/Android/Web任意终端 + relay 客户端任意浏览器任意标准 IRC 客户端
多端已读同步协议内建(最强项)依赖 relay 客户端实现网页会话级无(回放式)
存储SQLite / PostgreSQL文件/插件SQLite/文本文件/SQLite
监控接口Prometheus(0.14.0 内置)插件无内置无内置
许可证GPL v2/v3GPL v3MITApache-2.0
活跃度(定性,2026-10-26)稳定、版本低频(3 年一大版)活跃、高频迭代活跃、高频迭代维护型、迭代慢

选型建议(如果…则…):

  • 如果你要「服务器挂机 + 手机/桌面多端同步 + 消息永远不丢」,且不介意使用专属客户端 → Quassel。
  • 如果你是终端重度用户、想要插件生态与脚本能力 → WeeChat(配合 relay 实现移动端)。
  • 如果你只想在浏览器里用、追求零客户端安装 → The Lounge。
  • 如果你已有惯用的标准 IRC 客户端、只想给它们加保活 → ZNC。
  • 如果你要自建的是 IRC 服务器(网络本身) 而非客户端接入层 → 看 《Ergo 2.19 介绍与选型指南》、《ngIRCd 28 介绍与选型指南》、《InspIRCd 4.12.1 介绍与选型指南》,Quassel core 可与之配合使用(core 连接到任意 IRC 服务器)。
  • 如果你需要一个可嵌入网页的轻量 IRC 前端(不保活) → 《Kiwi IRC 1.7.1 介绍与选型指南》。

⚠️ 说明:表中「活跃度」为定性归纳(基于官方发布历史与仓库更新形态),未逐一取证竞品星数;Quassel 自身量化数据见「环境信息」节。The Lounge 与 WeeChat 在本平台的专题文档后续上线后可补链接。

八、参考链接