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 LoungeThe LoungeIRC即时通讯Node.js2026/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 等)的两个老问题:

  1. 在线依赖本地设备:IRC 协议下,客户端掉线即离线,离线期间的频道消息默认收不到。The Lounge 由服务器进程代持 IRC 连接——浏览器关掉,服务器上的连接仍然在线,历史消息持续累积,重新打开网页即可回看,体验等同自建了一台 bouncer(如 ZNC)。
  2. 多设备/多用户难共享: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.02026-05-19Node.js 22 为最低版本;弃用 sqlite3 三方包、改用 Node 内置 node:sqlite 存储消息历史;IRCv3 msgid 存储与追踪;新增管理员「锁定设置」(锁定成员的网络级配置项);支持 /cleartopic 等命令
v4.5.12026-06-21修复 identd 转发回归;为 SQLite 消息历史增加索引(大库启动明显提速);构建链从 webpack 迁移到 Vite(构建更快、前端包更小)
v4.5.22026-07-11修复 v4.5.1 中 npm 包缺失 version 脚本导致的 npm 安装回归

三、核心架构

The Lounge 是典型的「Node.js 常驻服务端 + 浏览器 SPA」架构(依据官方文档与仓库代码结构梳理,查询日期 2026-10-27):

  1. 服务端(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(私有模式,账号制多用户),由配置文件一个开关切换。
  2. 前端(浏览器 SPA)
    • Vue 构建的单页应用,支持主题(内置多套,另有 npm 主题包机制)、桌面通知、移动端适配、键盘快捷键、图片/链接内联预览(服务端 prefetch 抓取)、文件拖拽上传等。
  3. 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),标注 ✅ 的为本系列后续篇章已覆盖实测的入口:

  1. 永在线与历史回看:服务端代持 IRC 连接,消息持久化到 SQLite;重新打开网页按频道回看历史。
  2. public/private 双模式:一键切换「免登录公共客户端」与「多用户账号制」,private 模式下管理员通过 CLI 增删用户(✅ B1/D1 实测)。
  3. 多网络多频道:单个账号可挂接多个 IRC 网络(Libera.Chat、OFTC、自建 Ergo/ngIRCd 服务器等),每网络多频道并排视图(✅ B1 实测连自建 IRCd)。
  4. 主题与外观:内置默认主题 + 官方 theme 仓库,支持通过 thelounge install <主题包> 安装社区主题(✅ D1 实测安装流程)。
  5. 插件体系:npm 包形式的插件(thelounge-plugin-*)与主题包统一由 thelounge install/uninstall 管理,可扩展命令、消息处理等(✅ D1 实测)。
  6. 链接与图片预览:服务端可选 prefetch 抓取 URL 的 OG 信息与图片(支持存储到本地),聊天中内联展示。
  7. 文件上传:支持拖拽/粘贴上传文件到服务器,生成频道内分享链接。
  8. 通知与移动端:桌面通知、未读标记、移动端自适应布局,可当手机上的 IRC 客户端用。
  9. 认证集成:配置内置 LDAP 认证支持;配合反向代理(Nginx 等)可纳入统一认证/HTTPS 体系(配置项实测见 C1 篇)。
  10. 管理员治理:4.5.0 起支持「锁定设置」,管理员可锁定成员的网络级配置;用户会话可由 CLI 强制下线(thelounge logout)。

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

以下步骤引自官方文档《Install and upgrade》的 Debian/Ubuntu 路线(查询日期 2026-10-27,命令原样照录;完整实测与双方案对比见本专栏 B1 篇):

  1. 下载最新 release 的官方 .deb 包(当前为 thelounge_4.5.2_all.deb);

  2. 安装并自动注册 systemd 服务:

    sudo apt install ./thelounge.deb   # 安装即启用 thelounge 服务
    
  3. 服务随即以 private 模式监听 http://localhost:9000,配置文件位于 /etc/thelounge/config.js;

  4. 为自己创建账号(thelounge 命令需以 thelounge 系统用户身份执行):

    sudo -u thelounge thelounge add admin
    
  5. 浏览器打开 http://服务器IP:9000,用刚创建的账号登录,即可在「Connect」表单中填入任一 IRC 网络地址开始使用(连自建 IRC 服务器的实测全流程见 B1 篇)。

⚠️ 注意:v4.5.2 要求 Node.js ≥ 22。官方 .deb 包自带运行时依赖,无需自行装 Node;若走 npm 全局安装路线,必须先准备 Node.js 22+,具体见 B1 篇的方案对比。

六、适用场景与限制

适用场景:

  1. 个人/家庭服务器常驻聊天:NAS、VPS 上跑一个 The Lounge,手机、电脑、平板随时打开即回聊天现场,换设备不丢历史。
  2. 团队/社区私有网关:private 模式多用户 + LDAP/反代集成,为团队成员提供统一的 IRC 入口,管理员统一治理账号与会话。
  3. 自建 IRC 生态的 Web 前端:配合自建的 Ergo/ngIRCd/InspIRCd 等 IRC 服务器,构成完整的「IRC 服务端 + Web 客户端」栈(本站相关篇目见文末互链)。
  4. 对外公共客户端:public 模式可作为面向访客的免登录 Web IRC 入口(如社区支持页)。

限制与注意(依据官方文档与架构特征,查询日期 2026-10-27):

  1. 必须常驻一个 Node.js 进程:相较纯静态方案(Kiwi IRC 直连模式)占用更多资源(常驻进程约百 MB 级内存),并要求 Node.js ≥ 22 运行环境;
  2. public 模式不适合敏感场景:无账号体系,任何人可用,仅建议内网或临时场景;
  3. ** IRC 网络的服务器侧限制**:挂接到大型公共网络时,长期在线连接可能触发网络侧的连接频率/空闲策略,建议按目标网络规范配置 SASL 与保活;
  4. 消息历史存储在本机 SQLite:单机存储,无内置集群/分布式形态(多实例部署官方不支持——所有用户状态在一台服务器的数据目录内)。

七、同类选型对比

Web 化/远程化使用 IRC 的主流自托管方案横向对比(各项目星数为 shields.io 徽章接口返回值,查询日期 2026-10-27;功能维度依据各自官方文档梳理):

维度The Lounge 4.5.2Kiwi IRC 1.7.1Glowing BearQuassel 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 Stars6.4k989(kiwiirc/kiwiirc)981(glowing-bear/glowing-bear)792(quassel/quassel)
许可证MIT开源(详见其仓库)开源GPL

关键差异解读:四个方案本质对应「聊天现场保存在哪」的取舍——The Lounge 与 Quassel core 把现场保存在自己的常驻服务端(永在线、可回溯),Kiwi IRC 与 Glowing Bear 把现场留给浏览器或既有客户端(部署轻,但断线即断)。若你的核心诉求是「浏览器即开即用 + 多用户 + 永在线」,The Lounge 是当前综合最成熟的 Web 单机方案(星数与镜像拉取量均为同类最高,20M+ 次拉取)。

「如果…则…」选型建议:

八、参考链接

  1. The Lounge 官网:https://thelounge.chat
  2. 官方安装文档《Install and upgrade》:https://thelounge.chat/docs/install-and-upgrade(查询日期 2026-10-27)
  3. 官方代码仓库:https://github.com/thelounge/thelounge
  4. Releases 发布页:https://github.com/thelounge/thelounge/releases(v4.5.2 发布于 2026-07-11)
  5. npm 包主页:https://www.npmjs.com/package/thelounge(npm 实查版本 4.5.2,engines 要求 Node.js ≥ 22)
  6. 官方 Docker 镜像:https://hub.docker.com/r/thelounge/thelounge(实查标签 latest/4/4.5.2,2026-10-23 更新)
  7. 官方 CHANGELOG:https://github.com/thelounge/thelounge/blob/master/CHANGELOG.md
  8. 站内相关篇目:《Kiwi IRC 1.7.1 介绍与选型指南》、《Quassel IRC 0.14.0 介绍与选型指南》、《Ergo 2.19 介绍与选型指南》、《ngIRCd 28 介绍与选型指南》、《InspIRCd 4.12.1 介绍与选型指南》