Kiwi IRC 1.7.1 介绍与选型指南
Kiwi IRC 1.7.1 介绍与选型:Web IRC 客户端定位、纯静态架构与三种 WebSocket 连接模式、功能特性与嵌入能力,并与 The Lounge、Glowing Bear、Mibbit 量化对比(2026-10-26 实查)。
Kiwi IRC 1.7.1 介绍与选型指南
目标:说清 Kiwi IRC 这一现代 Web IRC 客户端的定位、架构、功能与选型依据,帮助读者判断「自托管一个网页版 IRC 客户端」时它是否合适。本篇为认知选型篇,全部数据溯源自官方仓库、官方 README 与 npm(查询日期 2026-10-26),不含本地实测结论;部署、配置与嵌入的实测内容见本专栏后续篇目。
一、环境信息
本篇为软件介绍与选型篇,不涉及本地部署实验,下列信息均为 2026-10-26 从官方渠道实查所得,作为全文数据口径:
- 查询日期:2026-10-26
- 官方仓库:
kiwiirc/kiwiirc(https://github.com/kiwiirc/kiwiirc),建仓于 2016-12-03,最近一次推送 2026-06-19 - 最新稳定版本:
v1.7.1(GitHub Releases/Tags 实查所得,为当前最新 tag) - 开源许可:Apache License 2.0
- 主要语言:Vue(前端框架),配合 webpack、babel 构建
- 官网:https://kiwiirc.com/
- 社区热度(实查时点):GitHub Stars 989、Forks 232、Open Issues 194
- 对比竞品数据来源:The Lounge 数据实查自 GitHub 仓库
thelounge/thelounge与 npm registry(registry.npmjs.org/thelounge/latest);Glowing Bear 数据实查自 GitHub 仓库glowing-bear/glowing-bear,其版本号 0.10.0 与本站已发布篇目一致;Mibbit 为闭源托管服务,无公开仓库,表中以官方服务形态为准
💡 说明:IRC(Internet Relay Chat)诞生于 1988 年,是基于文本的实时群聊协议,至今仍是开源社区、开发团队与众多技术频道的主要实时沟通载体之一。Web IRC 客户端的价值在于:用户无需安装桌面软件,打开浏览器即可接入既有 IRC 网络。
二、软件概述
2.1 定位与一句话简介
官方对 Kiwi IRC 的定位是一句话:「A versatile web based messenger using IRC」——一个基于 IRC 协议、用途多样的网页版即时通讯客户端。它本身不是 IRC 服务器,而是一个连接到既有 IRC 网络(自建 ircd 或公共网络)的纯前端 Web 客户端,部署后用户通过浏览器完成频道收发、私聊、通知等全部 IRC 交互。
与同族的 Glowing Bear(本站已有四篇实测文档,见文末站内链接)相比,Kiwi IRC 的差异点在于「通用性」:Glowing Bear 严格绑定 WeeChat 的 relay 协议(本质是 WeeChat 的远程前端),而 Kiwi IRC 是通用 IRC 客户端——既可直连支持 WebSocket 的 IRC 服务器,也可通过官方网关组件接入任意普通 IRC 网络,还能配合 bouncer 使用,覆盖「单网络、bouncer 宿主、个人通用客户端」等多种角色。
2.2 连接模式与「如何连上 IRC 网络」
Web 客户端连接 IRC 网络的方式直接决定了部署形态,是选型时最需要先想清楚的问题。
💡 技术拓展:浏览器里的 JavaScript 只能发起 HTTP/WebSocket 连接,而经典 IRC 服务监听的是原始 TCP 端口,两者不能直接对话,因此 Web IRC 客户端存在几种业界通行的连接模式——
连接模式 原理/特点 适用场景 直连 WebSocket IRC 服务器本身开启 WebSocket 监听(如 Ergo、InspIRCd 的 websocket 模块),浏览器直连 ircd 自建 IRC 网络、追求最简链路 WebSocket 网关中继 由独立网关进程(Kiwi IRC 官方为 webircgateway)把 WebSocket 桥接为普通 TCP,再连任意 ircd,还能注入 WebIRC 身份 连接不支持 WebSocket 的存量 IRC 网络 Bouncer 保活 配合 ZNC/KiwiBNC 等 bouncer(常驻中继,代用户挂在线上,离线消息补发) 需要离线消息与历史回放 托管服务 由第三方托管客户端(如 kiwiirc.com 的 client builder 生成页),自建仅限嵌入 零运维快速嵌入 Kiwi IRC 对以上四种模式全部支持(官方 README 列明前三类:直连 WebSocket、webircgateway 网关、KiwiBNC),本站同族的 Glowing Bear 则只支持 WeeChat relay 一种。本文介绍的 Kiwi IRC 实测部署篇采用「直连 WebSocket」这一最简模式落地。
2.3 项目沿革与许可
Kiwi IRC 名称中的「下一代(next generation)」指它是老版 Kiwi IRC(prawnsalad/KiwiIRC,2010 年代广泛使用)的完全重写版:现行仓库 kiwiirc/kiwiirc 建于 2016 年 12 月,采用 Vue 2 技术栈重写了整个前端,配置体系也从旧版的多个 ini/JSON 混合文件收敛为单一运行时 JSON 配置文件。项目采用 Apache-2.0 许可,允许商用、修改与再分发,对企业内网使用友好。
三、核心架构
3.1 「100% 静态文件」的形态
官方 README 对架构的第一条描述即是 「100% static files. Host with your favourite web server or a CDN」。这意味着:
- 构建产物是一个
dist/目录(index.html+ JS/CSS 静态资源),没有任何后端进程属于 Kiwi IRC 本身; - 任意能发静态文件的 Web 服务器(nginx、Apache、Caddy)甚至 CDN 都可以托管它;
- 升级客户端 = 替换静态文件目录,无数据库迁移、无进程重启语义上的负担。
实际部署链路为:浏览器加载静态页面 → 页面内 JavaScript 按运行时配置发起 WebSocket 连接 → 直连 ircd 的 WebSocket 监听,或经 webircgateway 网关桥接到普通 ircd。Kiwi IRC 自身在整个链路中只承担「前端」角色。
3.2 运行时配置与插件体系
- 单一 JSON 配置:客户端启动时加载
config.json(源码树中位于static/config.json,构建后随产物分发),主题、服务器默认值、窗口行为、嵌入模式等全部运行时行为都由这一个文件驱动,官方在 wiki 中提供了 Configuration 文档(见文末参考链接)。 - 插件机制:官方以独立仓库维护插件,README 点名了两个代表——文件上传插件
plugin-fileuploader与音视频会议插件plugin-conference,插件同样经配置文件中的plugins数组在运行时挂载。 - 主题机制:内置多套主题且支持明暗模式切换,可通过配置指定默认主题、允许/禁止用户切换。
3.3 与后端组件的边界
需要特别区分三个容易混淆的组件角色:
| 组件 | 角色 | 是否 Kiwi IRC 官方维护 |
|---|---|---|
kiwiirc/kiwiirc | Web 前端客户端(本文主角) | 是 |
kiwiirc/webircgateway | WebSocket→IRC 网关,桥接普通 ircd,支持 WebIRC | 是(独立仓库) |
kiwiirc/kiwibnc | 常驻 bouncer,代用户保活、回放离线消息 | 是(独立仓库) |
三者组合可拼出「纯静态前端 + 网关 + bouncer」的完整自托管链路,也可以只用前端 + 直连 WebSocket 的极简链路。
四、功能特性
以下特性清单逐项对照官方 README 展开(均为官方声明口径,功能实测见本专栏部署与配置篇):
- 纯静态分发:构建产物可直接交给任意 Web 服务器或 CDN,无需运行时进程;
- 多网络连接:单客户端内同时连接多个 IRC 网络,亦可作为「记住你的网络」的个人通用客户端;
- 多布局:提供适配小面积嵌入区域的紧凑布局与全页布局;
- 明暗双主题:内置 light/dark 模式切换;
- 桌面通知:新消息可触发浏览器桌面通知;
- 运行时单 JSON 配置:不改代码即可完成主题、服务器默认值、限制项等全部定制;
- 插件生态:官方插件覆盖文件上传、音视频会议等场景;
- 团队模式(Team mode for workplaces):面向工作场所的固定团队频道形态;
- 默认网络即开即用:默认配置内置一个公共 IRC 网络参数,装好即可连接体验,也可整体替换为自己的网络;
- 浏览器兼容:官方声明测试覆盖 Chrome、Firefox、Chrome Mobile (Android)、IE11、Safari 9+。
💡 说明:其中「多布局 + 嵌入模式 + 单 JSON 配置」三项组合是 Kiwi IRC 相对其他 Web IRC 客户端最突出的能力——把客户端以 iframe/embed 方式嵌进门户、文档站或支持页时,无需二次开发即可调整外观与默认连接参数。
五、快速开始(最小可用示例)
本篇为认知篇,以下仅给出官方声明的两条最短路径轮廓,便于建立整体认识;逐命令实测的 0→1 部署见本专栏部署篇(此处不展开命令细节)。
形态一:官方托管嵌入(零部署)。若目标只是「在自己网站上放一个 IRC 客户端」,可用官方 client builder(https://kiwiirc.com/clientbuilder/)在线生成定制客户端页面,由 kiwiirc.com 托管,站点内以嵌入方式引用,全程无需自建服务器。
形态二:自托管(官方构建路径)。官方 README 给出的标准构建路径为:准备 Node.js 与 yarn 环境,在源码目录执行依赖安装与构建,产物输出到 dist/ 目录,再整体拷贝到 Web 服务器站点根目录托管:
# 官方 README 给出的生产构建命令(本篇未实测,实测步骤见本专栏部署篇)
$ yarn install # 安装依赖
$ yarn run build # 构建产物输出到 dist/
官方同时提示:dist/ 每次构建都会被覆盖,部署时应把该目录内容拷贝到 Web 服务器,而非直接在构建目录上提供服务。客户端的运行时配置默认从 /static/config.json 加载(开发环境即源码树中的 static/config.json)。
⚠️ 注意:官方 README 同时警告,
yarn run dev开发模式(带热重载,监听 8080 端口)仅供本地开发,不要用于生产站点——体积大且不安全。
六、适用场景与限制
6.1 适用场景
- 社区/项目支持页嵌入:把聊天窗口嵌进产品文档站或官网,用户免注册免安装直接进入频道;
- 企业/团队内部沟通入口:自建 IRC 网络(如 Ergo、InspIRCd 等 ircd)之上套一层网页客户端,统一入口、免装客户端软件;
- bouncer 前端:已有 ZNC/KiwiBNC 等 bouncer 的用户,用 Kiwi IRC 作为浏览器端挂接界面;
- 个人多网络通用客户端:同时挂着多个 IRC 网络的浏览器统一入口,客户端记住网络列表。
6.2 限制与注意
- 浏览器关闭即断连:Kiwi IRC 前端本身不含服务端保活进程,页面关掉连接即断,离线消息依赖 ircd 或 bouncer 侧能力(这是与 The Lounge 最本质的形态差异,见下一章对比);
- 连接前提:直连模式要求 ircd 支持 WebSocket 监听;连接普通 ircd 必须额外部署 webircgateway 网关,链路上多一个组件;
- 社区体量中等:GitHub Stars 约 989(2026-10-26 实查),最近一次代码推送为 2026-06,活跃但不及 The Lounge 体量;
- 版本节奏:1.x 系列长期演进,最新稳定版 v1.7.1,无激进 API 变更压力,升级以替换静态文件为主。
七、同类选型对比
7.1 量化对比表
以下数据除注明外均为 2026-10-26 实查(Kiwi IRC 与 The Lounge 实查自 GitHub API 与 npm registry;Glowing Bear 实查自 GitHub API,版本号与本站已发布篇目一致;Mibbit 无公开仓库,以其官方服务形态为准):
| 维度 | Kiwi IRC 1.7.1 | The Lounge 4.5.2 | Glowing Bear 0.10.0 | Mibbit |
|---|---|---|---|---|
| 开源许可 | Apache-2.0 | MIT | GPL-3.0 | 闭源(无公开仓库) |
| 技术栈 | Vue 前端,纯静态产物 | TypeScript/Node.js,含常驻服务端 | JavaScript 纯前端 | 托管服务,不可自部署 |
| 部署形态 | 静态目录 + 任意 Web 服务器 | 需常驻 Node 进程 | 静态目录 + WeeChat relay | 仅官方托管 |
| GitHub Stars | 989 | 6359 | 981 | — |
| 最近推送(实查日) | 2026-06-19 | 2026-10-22 | 2026-08-06 | — |
| 多 IRC 网络 | 支持(客户端内多网络) | 支持(服务端多网络多用户) | 单网络(WeeChat relay) | 支持 |
| 断线保活/离线消息 | 无内建,依赖 ircd/bouncer | 服务端常驻保活(类 bouncer) | 依赖 WeeChat 常驻 | 托管侧保活 |
| 嵌入门户/iframe | 原生支持(嵌入模式+embed 参数) | 不以嵌入为主 | 支持 | 官方主推 widget 嵌入 |
| 运行时配置 | 单 config.json | config.js(CommonJS) | URL 参数+localStorage | 托管控制台 |
| 典型定位 | 通用 Web IRC 客户端、嵌入友好 | 个人/小团队常驻 IRC(自建 bouncer 形态) | WeeChat 用户的远程前端 | 快速托管嵌入 |
表格解读(关键差异与选型逻辑):
- 形态差异是第一决策点:Kiwi IRC 与 Glowing Bear 是「纯前端」形态,部署物只有静态文件;The Lounge 是「前端+常驻服务端」形态,Node 进程代替用户保活。要「页面关了也不丢消息」选 The Lounge;要「部署最轻、嵌入最灵活」选 Kiwi IRC。
- 绑定关系是第二决策点:Glowing Bear 只能挂 WeeChat relay,适合已经是 WeeChat 用户的人群;Kiwi IRC 与 The Lounge 都是通用 IRC 客户端,不绑定特定 ircd。
- 生态体量:The Lounge 以 6000+ Stars 与最近推送时间领先,社区最活跃;Kiwi IRC 与 Glowing Bear 体量相近(约 980+),其中 Kiwi IRC 的推送时间(2026-06)早于 Glowing Bear(2026-08)约两个月。
7.2 「如果…则…」选型建议
- 如果要嵌入门户/支持页、追求零后端进程与嵌入定制 → Kiwi IRC(嵌入模式 + 单 JSON 配置 + 官方插件);
- 如果要服务端常驻保活、离线消息与多设备漫游 → The Lounge;
- 如果用户群已经是 WeeChat 重度用户、只要远程网页前端 → Glowing Bear(实测见本站四篇);
- 如果完全不想自托管、只求几分钟嵌入 → Mibbit 或 kiwiirc.com 托管的 client builder 产物;
- 如果目标是自建整个 IRC 服务端(而非客户端),先部署 ircd(如 Ergo、InspIRCd,后者实测见本站专栏),再回到本文选择前端。
八、参考链接
- Kiwi IRC 官方仓库:https://github.com/kiwiirc/kiwiirc
- 官方 README(定位/特性/构建说明):https://github.com/kiwiirc/kiwiirc/blob/master/README.md
- Releases 页(v1.7.1 实查处):https://github.com/kiwiirc/kiwiirc/releases
- 官网:https://kiwiirc.com/
- 官方下载页(预构建发行包):https://kiwiirc.com/downloads/
- 官方在线 client builder:https://kiwiirc.com/clientbuilder/
- 配置 wiki:https://github.com/kiwiirc/kiwiirc/wiki/Configuration
- 插件 wiki:https://github.com/kiwiirc/kiwiirc/wiki/Plugins
- webircgateway 网关:https://github.com/kiwiirc/webircgateway
- KiwiBNC:https://github.com/kiwiirc/kiwibnc
- The Lounge 仓库:https://github.com/thelounge/thelounge
- Glowing Bear 仓库:https://github.com/glowing-bear/glowing-bear
站内相关实测文档: