The Lounge 4.5.2 介绍与选型指南
The Lounge 4.5.2 介绍与选型:自托管 Web IRC 客户端定位(Shout 继任者)、Node.js 常驻服务端架构与 public/private 双模式、4.5.x 版本要点,并与 Kiwi IRC、Glowing Bear、Quassel IRC 量化对比(2026-10-27 实查)。
The Lounge 4.5.2 介绍与选型指南
目标:讲清 The Lounge(自托管 Web IRC 客户端,Shout 的官方继任者)的定位、架构、功能与版本现状,并与 Kiwi IRC、Glowing Bear、Quassel IRC 等同类 Web/远程 IRC 方案做量化选型对比。本文为认知篇,全部信息来自官方渠道联网溯源(查询日期 2026-10-27);安装与配置的完整实测见本专栏 B/C/D 篇。
一、环境信息
本文是认知篇(A1),不含本地部署实验,信息来源与查询日期如下:
- 软件官方站点:
https://thelounge.chat(查询日期 2026-10-27) - 官方代码仓库:
https://github.com/thelounge/thelounge(查询日期 2026-10-27) - 版本数据源:GitHub Releases(
releases.atom订阅)、npm registry(registry.npmjs.org/thelounge/latest)、Docker Hub 镜像标签接口(查询日期 2026-10-27) - 社区活跃度数据源:shields.io 徽章接口(stars / forks / contributors / docker pulls,查询日期 2026-10-27)
- 安装方式数据源:官方文档《Install and upgrade》(
https://thelounge.chat/docs/install-and-upgrade,查询日期 2026-10-27) - 操作系统适配参考:Ubuntu 22.04 LTS(本系列安装篇实测环境,见 B1 篇)
二、软件概述
The Lounge 是一个现代、自托管的 Web IRC 客户端:服务端常驻运行在 Linux 服务器上(Node.js 进程),用户用浏览器(桌面或移动端)打开一个网页即可加入 IRC 网络聊天。它发源于 2016 年对早期项目 Shout 的社区 fork,是 Shout 事实上的官方继任者(官方 README 中明确表述 "The official, self-hosted web IRC client"),当前由 GitHub 上的 thelounge/thelounge 组织社区化维护,采用 MIT 许可证开源。
它解决的核心痛点是传统 IRC 客户端(irssi、HexChat、mIRC 等)的两个老问题:
- 在线依赖本地设备:IRC 协议下,客户端掉线即离线,离线期间的频道消息默认收不到。The Lounge 由服务器进程代持 IRC 连接——浏览器关掉,服务器上的连接仍然在线,历史消息持续累积,重新打开网页即可回看,体验等同自建了一台 bouncer(如 ZNC)。
- 多设备/多用户难共享:The Lounge 支持 private(私有)多用户模式,管理员用 CLI 为每个成员创建账号,各账号维护自己的网络与频道列表,适合团队、社区、NAS/家庭服务器场景。
版本现状(查询日期 2026-10-27):
- 最新稳定版:v4.5.2(2026-07-11 发布),npm 包
thelounge当前版本同为 4.5.2; - 官方 Docker 镜像
thelounge/thelounge的latest、4、4.5.2标签均指向该版本(镜像约 70MB,历史累计拉取量超过 2000 万次); - 前沿版本:v4.6.0 处于 pre-release 阶段(v4.6.0-pre.2,2026-10-17),尚未发布稳定版;
- 运行时要求:Node.js ≥ 22(v4.5.0 起随 Node 18/20 EOL 而提高门槛)。
4.5.x 线的关键变化(来自官方 CHANGELOG,查询日期 2026-10-27):
| 版本 | 发布日期 | 要点 |
|---|---|---|
| v4.5.0 | 2026-05-19 | Node.js 22 为最低版本;弃用 sqlite3 三方包、改用 Node 内置 node:sqlite 存储消息历史;IRCv3 msgid 存储与追踪;新增管理员「锁定设置」(锁定成员的网络级配置项);支持 /cleartopic 等命令 |
| v4.5.1 | 2026-06-21 | 修复 identd 转发回归;为 SQLite 消息历史增加索引(大库启动明显提速);构建链从 webpack 迁移到 Vite(构建更快、前端包更小) |
| v4.5.2 | 2026-07-11 | 修复 v4.5.1 中 npm 包缺失 version 脚本导致的 npm 安装回归 |
三、核心架构
The Lounge 是典型的「Node.js 常驻服务端 + 浏览器 SPA」架构(依据官方文档与仓库代码结构梳理,查询日期 2026-10-27):
- 服务端(Node.js 常驻进程)
- IRC 协议栈:基于
irc-framework实现,负责与 IRC 服务器建立并维持连接(支持 TLS、SASL、IRCv3 扩展、DCC 元数据解析等),所有频道的消息由服务端接收并落盘; - Web 服务:基于
express提供 HTTP 服务(默认端口 9000),托管前端静态资源、认证与会话、文件上传下载;客户端与服务器之间的实时消息推送走socket.io(WebSocket); - 持久化:用户账号(密码哈希)、每个用户的网络/频道配置、消息历史(SQLite,v4.5.0 起使用 Node 内置
node:sqlite)都存在服务端数据目录中(发行包默认/var/opt/thelounge,.deb 包安装为/etc/thelounge/config.js+/var/opt/thelounge/); - 双模式:
public(公共模式,任何访客免登录临时使用,无账号)与private(私有模式,账号制多用户),由配置文件一个开关切换。
- IRC 协议栈:基于
- 前端(浏览器 SPA)
- Vue 构建的单页应用,支持主题(内置多套,另有 npm 主题包机制)、桌面通知、移动端适配、键盘快捷键、图片/链接内联预览(服务端 prefetch 抓取)、文件拖拽上传等。
- CLI 管理工具(
thelounge命令)- 同一个包提供
thelounge命令行:start启动服务、add/remove/list/edit/reset管理用户、logout下线用户会话、install/uninstall安装卸载插件与主题包,运维操作全部 CLI 化(实测详见本专栏 D1 篇)。
- 同一个包提供
💡 技术拓展:IRC 客户端的「Web 化」在业界有三种常见形态,The Lounge 属于第③种——
形态 原理 代表 特点 ① 纯静态前端 浏览器直接与 IRC 网络建 WebSocket 连接,服务器只托管静态文件 Kiwi IRC(直连模式) 部署最轻;但浏览器关闭即断线,受限于目标网络的 WebSocket 支持 ② 中继前端 Web 前端连接既有客户端的 relay/bouncer 端口 Glowing Bear(WeeChat relay) 复用已有桌面客户端;前端本身无账号体系 ③ 常驻服务端客户端 服务器进程代持 IRC 连接并持久化消息,浏览器只是视图 The Lounge、Quassel core 永在线、可回溯历史、支持多用户;需要常驻一个服务进程 本文主题 The Lounge 采用形态③,理由:要同时满足「浏览器即开即用 + 离线不丢消息 + 多用户管理」三个诉求。
四、功能特性
以下特性依据官方文档与 4.5.x CHANGELOG 梳理(查询日期 2026-10-27),标注 ✅ 的为本系列后续篇章已覆盖实测的入口:
- 永在线与历史回看:服务端代持 IRC 连接,消息持久化到 SQLite;重新打开网页按频道回看历史。
- public/private 双模式:一键切换「免登录公共客户端」与「多用户账号制」,private 模式下管理员通过 CLI 增删用户(✅ B1/D1 实测)。
- 多网络多频道:单个账号可挂接多个 IRC 网络(Libera.Chat、OFTC、自建 Ergo/ngIRCd 服务器等),每网络多频道并排视图(✅ B1 实测连自建 IRCd)。
- 主题与外观:内置默认主题 + 官方 theme 仓库,支持通过
thelounge install <主题包>安装社区主题(✅ D1 实测安装流程)。 - 插件体系:npm 包形式的插件(
thelounge-plugin-*)与主题包统一由thelounge install/uninstall管理,可扩展命令、消息处理等(✅ D1 实测)。 - 链接与图片预览:服务端可选 prefetch 抓取 URL 的 OG 信息与图片(支持存储到本地),聊天中内联展示。
- 文件上传:支持拖拽/粘贴上传文件到服务器,生成频道内分享链接。
- 通知与移动端:桌面通知、未读标记、移动端自适应布局,可当手机上的 IRC 客户端用。
- 认证集成:配置内置 LDAP 认证支持;配合反向代理(Nginx 等)可纳入统一认证/HTTPS 体系(配置项实测见 C1 篇)。
- 管理员治理:4.5.0 起支持「锁定设置」,管理员可锁定成员的网络级配置;用户会话可由 CLI 强制下线(
thelounge logout)。
五、快速开始(最小可用示例)
以下步骤引自官方文档《Install and upgrade》的 Debian/Ubuntu 路线(查询日期 2026-10-27,命令原样照录;完整实测与双方案对比见本专栏 B1 篇):
-
下载最新 release 的官方 .deb 包(当前为
thelounge_4.5.2_all.deb); -
安装并自动注册 systemd 服务:
sudo apt install ./thelounge.deb # 安装即启用 thelounge 服务 -
服务随即以 private 模式监听
http://localhost:9000,配置文件位于/etc/thelounge/config.js; -
为自己创建账号(
thelounge命令需以thelounge系统用户身份执行):sudo -u thelounge thelounge add admin -
浏览器打开
http://服务器IP:9000,用刚创建的账号登录,即可在「Connect」表单中填入任一 IRC 网络地址开始使用(连自建 IRC 服务器的实测全流程见 B1 篇)。
⚠️ 注意:v4.5.2 要求 Node.js ≥ 22。官方 .deb 包自带运行时依赖,无需自行装 Node;若走 npm 全局安装路线,必须先准备 Node.js 22+,具体见 B1 篇的方案对比。
六、适用场景与限制
适用场景:
- 个人/家庭服务器常驻聊天:NAS、VPS 上跑一个 The Lounge,手机、电脑、平板随时打开即回聊天现场,换设备不丢历史。
- 团队/社区私有网关:private 模式多用户 + LDAP/反代集成,为团队成员提供统一的 IRC 入口,管理员统一治理账号与会话。
- 自建 IRC 生态的 Web 前端:配合自建的 Ergo/ngIRCd/InspIRCd 等 IRC 服务器,构成完整的「IRC 服务端 + Web 客户端」栈(本站相关篇目见文末互链)。
- 对外公共客户端:public 模式可作为面向访客的免登录 Web IRC 入口(如社区支持页)。
限制与注意(依据官方文档与架构特征,查询日期 2026-10-27):
- 必须常驻一个 Node.js 进程:相较纯静态方案(Kiwi IRC 直连模式)占用更多资源(常驻进程约百 MB 级内存),并要求 Node.js ≥ 22 运行环境;
- public 模式不适合敏感场景:无账号体系,任何人可用,仅建议内网或临时场景;
- ** IRC 网络的服务器侧限制**:挂接到大型公共网络时,长期在线连接可能触发网络侧的连接频率/空闲策略,建议按目标网络规范配置 SASL 与保活;
- 消息历史存储在本机 SQLite:单机存储,无内置集群/分布式形态(多实例部署官方不支持——所有用户状态在一台服务器的数据目录内)。
七、同类选型对比
Web 化/远程化使用 IRC 的主流自托管方案横向对比(各项目星数为 shields.io 徽章接口返回值,查询日期 2026-10-27;功能维度依据各自官方文档梳理):
| 维度 | The Lounge 4.5.2 | Kiwi IRC 1.7.1 | Glowing Bear | Quassel IRC 0.14.0 |
|---|---|---|---|---|
| 定位形态 | 自托管 Web IRC 客户端(服务端常驻代持连接) | 纯静态 Web 前端(浏览器直连或经 WebSocket 网关中转) | WeeChat relay 的 Web 前端(静态页面) | core + client 架构(core 常驻、客户端可为桌面/Web) |
| 离线不丢消息 | ✅ 服务端代持连接并持久化 | ❌ 浏览器关即断线(直连模式),需外接 bouncer | ⭕ 依赖 WeeChat 进程与 relay 在线 | ✅ core 常驻持久化 |
| 多用户账号体系 | ✅ private 模式 + CLI 管理 | ➖ 无独立账号体系(gateway 模式有会话) | ➖ 依赖 WeeChat relay 密码认证 | ✅ core 支持多用户 |
| 技术栈 | Node.js(irc-framework + socket.io + Vue) | 静态前端(Vue,Node 仅构建) | AngularJS 静态页 | C++/Qt |
| 部署重量 | 常驻 Node 进程(需 Node ≥ 22) | 极轻(静态文件即可托管) | 极轻(一个静态页 + WeeChat) | core 常驻(C++,资源占用低) |
| 插件/主题生态 | ✅ npm 包统一管理(插件+主题) | ✅ 前端插件机制 | ➖ 依赖 WeeChat 脚本生态 | ✖ 客户端功能固定 |
| 移动端体验 | ✅ 响应式网页 + 通知 | ✅ 响应式网页 | ✅ 响应式网页 | 依赖第三方 Quassel 客户端(如 Quasseldroid) |
| GitHub Stars | 6.4k | 989(kiwiirc/kiwiirc) | 981(glowing-bear/glowing-bear) | 792(quassel/quassel) |
| 许可证 | MIT | 开源(详见其仓库) | 开源 | GPL |
关键差异解读:四个方案本质对应「聊天现场保存在哪」的取舍——The Lounge 与 Quassel core 把现场保存在自己的常驻服务端(永在线、可回溯),Kiwi IRC 与 Glowing Bear 把现场留给浏览器或既有客户端(部署轻,但断线即断)。若你的核心诉求是「浏览器即开即用 + 多用户 + 永在线」,The Lounge 是当前综合最成熟的 Web 单机方案(星数与镜像拉取量均为同类最高,20M+ 次拉取)。
「如果…则…」选型建议:
- 如果要给团队/个人一个永在线的 Web IRC 门户,且需要多用户与账号管理 → The Lounge(本专栏 B1/B2 提供完整部署实测);
- 如果只想在网站里嵌一个轻量聊天入口,让用户浏览器直连 IRC、不想常驻服务进程 → Kiwi IRC(见《Kiwi IRC 1.7.1 介绍与选型指南》);
- 如果已经是 WeeChat 深度用户,只想要它的网页/手机前端口 → Glowing Bear;
- 如果偏好原生桌面客户端体验、仅在移动端接力 → Quassel IRC(见《Quassel IRC 0.14.0 介绍与选型指南》);
- 如果从零自建整条 IRC 链路(服务端 + Web 客户端)→ 自建 IRCd 可选 Ergo(见《Ergo 2.19 介绍与选型指南》)、ngIRCd(见《ngIRCd 28 介绍与选型指南》)或 InspIRCd(见《InspIRCd 4.12.1 介绍与选型指南》),前端配 The Lounge。
八、参考链接
- The Lounge 官网:
https://thelounge.chat - 官方安装文档《Install and upgrade》:
https://thelounge.chat/docs/install-and-upgrade(查询日期 2026-10-27) - 官方代码仓库:
https://github.com/thelounge/thelounge - Releases 发布页:
https://github.com/thelounge/thelounge/releases(v4.5.2 发布于 2026-07-11) - npm 包主页:
https://www.npmjs.com/package/thelounge(npm 实查版本 4.5.2,engines 要求 Node.js ≥ 22) - 官方 Docker 镜像:
https://hub.docker.com/r/thelounge/thelounge(实查标签 latest/4/4.5.2,2026-10-23 更新) - 官方 CHANGELOG:
https://github.com/thelounge/thelounge/blob/master/CHANGELOG.md - 站内相关篇目:《Kiwi IRC 1.7.1 介绍与选型指南》、《Quassel IRC 0.14.0 介绍与选型指南》、《Ergo 2.19 介绍与选型指南》、《ngIRCd 28 介绍与选型指南》、《InspIRCd 4.12.1 介绍与选型指南》