Kiwi IRC 1.7.1 介绍与选型指南

Kiwi IRC 1.7.1 介绍与选型:Web IRC 客户端定位、纯静态架构与三种 WebSocket 连接模式、功能特性与嵌入能力,并与 The Lounge、Glowing Bear、Mibbit 量化对比(2026-10-26 实查)。

Kiwi IRCKiwi IRCIRC即时通讯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 客户端存在几种业界通行的连接模式——

连接模式原理/特点适用场景
直连 WebSocketIRC 服务器本身开启 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/kiwiircWeb 前端客户端(本文主角)是
kiwiirc/webircgatewayWebSocket→IRC 网关,桥接普通 ircd,支持 WebIRC是(独立仓库)
kiwiirc/kiwibnc常驻 bouncer,代用户保活、回放离线消息是(独立仓库)

三者组合可拼出「纯静态前端 + 网关 + bouncer」的完整自托管链路,也可以只用前端 + 直连 WebSocket 的极简链路。

四、功能特性

以下特性清单逐项对照官方 README 展开(均为官方声明口径,功能实测见本专栏部署与配置篇):

  1. 纯静态分发:构建产物可直接交给任意 Web 服务器或 CDN,无需运行时进程;
  2. 多网络连接:单客户端内同时连接多个 IRC 网络,亦可作为「记住你的网络」的个人通用客户端;
  3. 多布局:提供适配小面积嵌入区域的紧凑布局与全页布局;
  4. 明暗双主题:内置 light/dark 模式切换;
  5. 桌面通知:新消息可触发浏览器桌面通知;
  6. 运行时单 JSON 配置:不改代码即可完成主题、服务器默认值、限制项等全部定制;
  7. 插件生态:官方插件覆盖文件上传、音视频会议等场景;
  8. 团队模式(Team mode for workplaces):面向工作场所的固定团队频道形态;
  9. 默认网络即开即用:默认配置内置一个公共 IRC 网络参数,装好即可连接体验,也可整体替换为自己的网络;
  10. 浏览器兼容:官方声明测试覆盖 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.1The Lounge 4.5.2Glowing Bear 0.10.0Mibbit
开源许可Apache-2.0MITGPL-3.0闭源(无公开仓库)
技术栈Vue 前端,纯静态产物TypeScript/Node.js,含常驻服务端JavaScript 纯前端托管服务,不可自部署
部署形态静态目录 + 任意 Web 服务器需常驻 Node 进程静态目录 + WeeChat relay仅官方托管
GitHub Stars9896359981—
最近推送(实查日)2026-06-192026-10-222026-08-06—
多 IRC 网络支持(客户端内多网络)支持(服务端多网络多用户)单网络(WeeChat relay)支持
断线保活/离线消息无内建,依赖 ircd/bouncer服务端常驻保活(类 bouncer)依赖 WeeChat 常驻托管侧保活
嵌入门户/iframe原生支持(嵌入模式+embed 参数)不以嵌入为主支持官方主推 widget 嵌入
运行时配置单 config.jsonconfig.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,后者实测见本站专栏),再回到本文选择前端。

八、参考链接

站内相关实测文档: