Glowing Bear 0.10.0 介绍与选型指南

面向运维与 IRC 用户的 Glowing Bear 0.10.0 介绍与选型指南,讲清其"浏览器直连 WeeChat relay"的核心架构、功能特性、官方快速开始路径,并与 WeeChat 原生 TUI、The Lounge 做量化选型对比。

Glowing Bear即时通讯IRCWebSocket2026/10/26

Glowing Bear 0.10.0 介绍与选型指南

目标:本文帮助读者在动手部署之前弄清 Glowing Bear 是什么、为什么需要它、能解决什么问题,并给出与 WeeChat 原生客户端、The Lounge 的量化对比,回答"我的场景该不该选它"。本文为溯源型文档:全部事实来自官方站点与官方仓库,未引入本地实测数据。

一、环境信息

本文所有事实均来自以下公开来源,查询日期为 2026-10-26:

项目来源说明
官方站点https://www.glowing-bear.org官方托管版前端、特性介绍与免责说明
官方仓库https://github.com/glowing-bear/glowing-bear源码、README、package.json
版本基线仓库 package.json version 字段与 master 分支 commit b53e42f5commit 日期 2026-08-06
竞品来源https://thelounge.chatThe Lounge 官方站点首页文案
WeeChat 官方https://weechat.orgrelay 插件所属的上游 IRC 客户端

💡 说明:Glowing Bear 的官方仓库长期没有打正式 Release 标签,版本号以 package.json 的 0.10.0 与 master 分支最新 commit b53e42f5(2026-08-06)为准,这是官方仓的版本事实。如需锁版本,请以 commit 哈希为准拉取源码。

二、软件概述

Glowing Bear 官方 README 对自己的定位一句话说清:"A web client for WeeChat"——WeeChat 的 Web 客户端。它不是一个独立的 IRC 客户端,而是 WeeChat 这个终端 IRC 客户端的浏览器前端:

"Glowing Bear is a web frontend for the WeeChat IRC client and strives to be a modern interface. It relies on WeeChat to do all the heavy lifting and then provides some nice features on top of that, like embedding images, videos, and other content."(摘自官方 README)

关键属性速览:

属性值
软件定位WeeChat 的 Web 前端(浏览器里操作 WeeChat)
许可证GPLv3(package.json license 字段)
前端框架AngularJS 1.8.3(package.json dependencies)
UI 框架Bootstrap 3.4.1(同上)
仓库https://github.com/glowing-bear/glowing-bear
版本0.10.0(package.json),master commit b53e42f5(2026-08-06)
官方托管版稳定版 https://www.glowing-bear.org ,开发版 https://latest.glowing-bear.org
上游依赖WeeChat ≥ 2.9(官方 README 明确要求)

💡 技术拓展:IRC 的 Web 前端方案在架构上分三类。第一类是独立 Web IRC 客户端(如 The Lounge、Kiwi IRC),客户端自己与 IRC 服务器说 IRC 协议;第二类是bouncer 转发型(如 ZNC + 任意前端),由 bouncer 保持与服务器的长连接再转发;第三类是客户端直通型(Glowing Bear 属此类),终端 IRC 客户端(WeeChat)自己开一个 relay 接口,浏览器直接与它通信。第三类的好处是所有 IRC 逻辑、插件、脚本、别名、缓冲区状态都在 WeeChat 一处维护,前端不复制业务逻辑;代价是后端只能是特定的 WeeChat relay 协议,换其他 IRC 客户端就不可用。本文选型对比即基于这三类架构差异展开。

三、核心架构

Glowing Bear 的架构在官方 README 的 "How it Works" 一节讲得非常直白:

"Glowing Bear uses WeeChat directly as its backend through the relay plugin. This means that we can connect to WeeChat directly from the browser using WebSockets. Therefore, the client does not need a special 'backend service', and you don't have to install anything. A connection is made from your browser to your WeeChat, with no services in between. Thus, Glowing Bear is written purely in client-side JavaScript with a bit of HTML and CSS."(摘自官方 README)

拆解成数据流就是:

浏览器(Glowing Bear 前端,AngularJS 单页应用)
    │  WebSocket + WeeChat relay 协议(可叠加 TLS 加密)
    ▼
WeeChat 守护进程(weechat 进程 + relay 插件,默认端口示例 9001/9002)
    │  IRC 协议
    ▼
IRC 服务器(如 libera.chat)

由此得出几个决定部署形态的事实:

  1. 没有服务端进程需要部署。Glowing Bear 是纯静态文件(官方 README:"written purely in client-side JavaScript"),npm run build 产出的静态目录丢给 nginx、Caddy、Apache 任一 Web 服务器托管即可;官方 README 也明确说 "you can just use our hosted version ... powered by GitHub pages, and we'll take care of updates for you"。
  2. 托管在哪不影响安全边界。官方 README:"Your browser connects to WeeChat directly, so it does not matter where Glowing Bear is hosted." 浏览器到 WeeChat 的 relay 连接是端到端的,前端站点只是静态资源分发者。
  3. 唯一必须部署的后端是 WeeChat 本身(版本 ≥ 2.9),并且要在它上面启用 relay 插件。
  4. 传输加密由 TLS 承担,官方 README 明确提醒明文 relay 不该暴露到公网:"You should not use this over the internet. We strongly recommend that you set up encryption." 证书处理由浏览器负责,官方 FAQ 明确 "This is handled by your browser"。

package.json 的运行时依赖印证了 relay 协议的两个特性:zlibjs 对应 relay 协议可选的 zlib 压缩,emojione(4.5.0)与 linkifyjs 对应前端渲染层的表情与链接自动识别,favico.js 用于把未读计数画到浏览器标签页图标上。

四、功能特性

汇总官方站点与 README 明确宣称的特性:

特性官方表述(来源)
全设备使用"you can use it from any modern internet device -- whether it's a computer, tablet, or smart phone -- and all your stuff is there, wherever you are"(README)
媒体内嵌"embedding images, videos, and other content"(README)
纯前端无后端服务"the client does not need a special 'backend service'"(README)
无第三方中转"A connection is made from your browser to your WeeChat, with no services in between"(README)
密码与设置本地保存官网连接页含 "Save Password" 选项,密码存于浏览器本地(官网连接设置项)
双因素/TOTP 支持官网连接页含 "Use Time-based One-Time Password" 开关(官网连接设置项,对应 WeeChat relay 的 TOTP 校验)
自动连接官网连接页含 "Automatically connect" 开关(官网连接设置项)
可作为桌面/安卓应用README:"Chrome app ('Tools', then 'Create application shortcuts')"、"Android Chrome app, a full-screen experience ('Add to homescreen')"
代理可反代 WebSocket官方 FAQ:可用 Web 服务器的 websocket proxy 模块把 /weechat 路径转发到 WeeChat(官方 wiki 有专页 "Proxying WeeChat relay with a web server")

💡 说明:TOTP 是 WeeChat relay 自 2.9 起内置的基于时间的一次性密码校验(与 relay.network.password 配合使用)。Glowing Bear 前端直接暴露了该开关,这意味着密码之外还能叠加动态口令,适合 relay 端口必须暴露公网且 TLS 之外仍想再加一层的场景。

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

以下为官方 README 给出的最小可用示例,本文照录,不添加本地实测输出(本文为溯源型文档,部署实测请看本专栏部署篇):

第 1 步:在 WeeChat 中开启一个 relay(在 WeeChat 缓冲区执行):

/relay add weechat 9001
/set relay.network.password YOURPASSWORD

README 同时警示:上面两条建立的是未加密 relay,"all your data will be transmitted in clear",只适合本机或受信网络试玩,公网必须用加密 relay(如 ssl 前缀的 relay,或经 Web 服务器 TLS 反代)。

第 2 步:浏览器打开官方托管版前端 https://www.glowing-bear.org ,在连接页填入 WeeChat 主机地址、relay 端口(如 9001)、relay 密码,点击 Connect。

README 对排障的官方提示原文:"If you're having trouble connecting, check that the host and port of your WeeChat host are entered correctly, and that your server's firewall permits incoming connections on the relay port (9001 in this example)."

如果不想自己托管前端,官方明确三选一即可:

  1. 直接用官方托管版(https://www.glowing-bear.org,稳定;https://latest.glowing-bear.org,开发版,其落地页自带 Let's Encrypt 加密 relay 配置向导);
  2. 用任意静态 Web 服务器托管 npm run build 产出的 build/ 目录(官方 README 推荐 "a 'proper' webserver like Caddy, nginx, or Apache");
  3. 开发调试用 npm start,浏览器访问 http://localhost:8000 (官方 README 开发流程)。

六、适用场景与限制

适合选 Glowing Bear 的场景(依据均为官方表述推演):

  • 已经在服务器上长期跑 WeeChat(别名、脚本、插件、buffer 状态都在里面),想从手机/平板/第二台电脑继续用同一套会话,而不想迁移任何配置——这是 README 首句描绘的核心场景。
  • 个人自用为主的 relay 访问入口:Glowing Bear 官方从未宣称多用户能力,relay 密码是"一个 WeeChat 实例一个密码"的模型,天然面向单用户多端。
  • 不想再维护一个常驻的 Web 服务进程:静态文件 + 浏览器直连,部署面最小。
  • 对资源占用敏感的小内存服务器:后端只有 WeeChat 本身,无需额外 Node.js 常驻进程。

限制与不适合的场景:

  • 重度依赖 WeeChat:必须 WeeChat ≥ 2.9 且 relay 可达;换 Irssi 等其他终端客户端则完全不可用。
  • 不是团队聊天方案:官方无多用户账号体系,不适合把一个 relay 分给多个同事使用;多人场景应看 The Lounge 这类自带账号体系的方案。
  • 明文 relay 不能出公网:TLS 是强制的(官方 README 反复强调),必须规划证书与加密 relay 或 TLS 反代。
  • 前端框架较老:AngularJS 1.8.3(1.x 系)与 Bootstrap 3.4.1 均为官方仓库依赖锁定的事实,AngularJS 1.x 已停止官方支持——功能不受影响,但二次开发应知悉。
  • 浏览器直连要求 relay 端口/路径可达:内网环境或端口被防火墙拦截时,需要按官方 wiki 做 Web 服务器 WebSocket 反代。

七、同类选型对比

对比对象:Glowing Bear(0.10.0)、The Lounge(官网 thlounge.chat,MIT 许可、Node.js 实现的自托管 Web IRC 客户端)、WeeChat 原生 TUI(ncurses 终端界面)。全部对比数据取自双方官方站点/仓库,查询日期 2026-10-26。

维度Glowing Bear 0.10.0The LoungeWeeChat 原生 TUI
架构角色WeeChat relay 的 Web 前端(浏览器直连 relay 协议)独立 Web IRC 客户端(自己说 IRC 协议)WeeChat 自带 ncurses 界面
服务端常驻进程无(纯静态文件)有(Node.js 进程,"Always connected")—(WeeChat 本身即常驻进程)
后端硬性依赖WeeChat ≥ 2.9 + relay 插件Node.js 运行环境本机终端
IRC 会话保持跟随 WeeChat 进程(前端关闭后 WeeChat 侧照常收消息,重新连上即回到原 buffer 状态)服务端始终在线:"Remain connected to IRC servers while you are offline. Forget about bouncers."(官网)跟随 WeeChat 进程
多用户账号未宣称(一个 relay 一个密码,面向单用户多端)官网:"Supports multiple user accounts. Share your server with your friends!"单用户(本机账户)
前端技术栈AngularJS 1.8.3 + Bootstrap 3.4.1(package.json)自研 Web 界面(官网 "Responsive interface")ncurses 终端渲染
许可证GPLv3(package.json)MIT(官网)GPLv3(weechat.org)
版本形态0.10.0(package.json)+ master commit b53e42f5(2026-08-06),无正式 Release 标签官方站点持续发布(thelounge.chat/docs)weechat.org 稳定版发布
移动端使用官网宣称支持手机/平板;README 给出 Android Chrome "Add to homescreen" 全屏方案官网 "works smoothly on every desktop, smartphone and tablet"终端 + SSH 跳板方案
快速体验通道官方托管版 https://www.glowing-bear.org (免自托管)官网 "Or try the demo" 在线 demo安装 WeeChat 即用

"如果…则…"选型建议:

  • 如果你已经有跑得好好的 WeeChat,只是想从浏览器/手机继续用——选 Glowing Bear,它就是为这个场景生的,且托管版零部署。
  • 如果你是团队/多用户场景,或者需要一个不依赖 WeeChat 的独立 Web IRC——选 The Lounge,它的多用户与"离线保持连接"是官方主打卖点。
  • 如果你在纯终端环境(服务器本地、SSH 会话)操作——WeeChat 原生 TUI 就是最优解,前端不解决任何问题。
  • 如果你既想保住 WeeChat 的全部插件生态,又想给朋友开账号——The Lounge 做不了 relay 直通,Glowing Bear 做不了多账号;这属于架构级限制,只能按主用户取舍。

八、参考链接