FIT2CLOUD
微言-即时通讯插件 的图标

微言-即时通讯插件

外部
3,209
0

让你的 Halo 博客瞬间变身社交平台 微言是一款专为 Halo 博客系统设计的 websocket 即时通讯插件,让你的网站不再只是单向的信息输出,而是真正的互动交流社区!

访问

当前应用为外部应用,其销售、安装、更新、维护等均由应用作者负责,与本平台无关。

1.1.0
webjing 发布于
>=2.23.0

✨ 新功能

群聊 @提及功能

在群聊和频道中新增完整的 @提及功能,支持 @指定成员和 @全体成员。

@某人

  • 在群聊/频道输入框中输入 @ 即可弹出成员选择器
  • 支持按用户名、昵称、群昵称模糊搜索
  • 支持键盘上下键选择、回车确认、Esc 关闭
  • @用户名 作为整体 Token 显示(蓝色背景),退格键整体删除
  • 被 @的用户在消息中看到高亮显示

@全体成员

  • 群主和管理员可在成员选择器中选择"全体成员"
  • 管理员每日 @全体成员 次数有配额限制(默认 10 次/天,可在插件设置中调整)
  • 群主无次数限制
  • 支持群组级别禁止 @全体成员(NO_AT_ALL 限制)

消息通知

  • 被 @提及时,消息气泡有蓝色边框高亮
  • 会话列表显示 [有人@我][@全体成员] 标签
  • 进入聊天时自动滚动到最近一条 @自己的消息
  • 免打扰模式下,被 @提及的消息仍然正常推送

后台配置

  • 新增「@提及功能配置」设置组
  • 可配置管理员每日 @全体成员 次数限制
  • 可配置 @全体成员 触发关键词(默认"全体成员")
  • 配额每日零点(UTC+8)自动重置

🔧 优化

  • 优化群组消息分发流程,@提及通知异步发送,不阻塞消息分发
  • 免打扰模式下消息仍通过 WebSocket 推送(保持实时性),前端控制通知显示
  • 新增 Mention API 端点,自动生成 TypeScript API 客户端

🐛 修复

  • 修复 MentionNotificationServiceImplChatWebSocketService 的循环依赖问题
  • 修复 MentionEndpoint.enrichMemberVO 中 Reactor map 返回 null 导致的 NPE
  • 修复 MentionInput 占位符与输入内容重叠的问题
  • 修复消息中 non-breaking space 导致的消息去重匹配失败(发送后显示两条)
1.1.0-rc1
webjing 发布于
>=2.23.0

微言即时通讯插件 v1.1.0-rc1 更新公告

发布时间:2026-04-16

v1.1.0-rc1 主要围绕两部分能力进行了增强:

  1. 举报违规功能升级为可配置的多邮箱模式
  2. WebSocket 连接能力增强,新增连接地址配置与轮询降级机制

新增与优化

一、举报违规功能升级

为了让站点更灵活地处理用户举报,本次版本对 UC 个人中心的“举报违规”功能进行了升级:

  • 支持配置多个举报邮箱
  • 每个举报邮箱可单独设置:
    • 名称
    • 邮箱地址
    • 邮件模板
  • 新增举报说明配置,站点可自定义提示文案
  • 举报弹窗支持用户手动选择收件邮箱
  • 根据所选邮箱自动填充对应邮件模板
  • 移除了原有固定开发者邮箱的展示逻辑,更适合站点自主管理

适用场景示例:

  • 站长邮箱
  • 内容审核邮箱
  • 法务邮箱
  • 客服邮箱

二、WebSocket 连接能力增强

为了适配 CDN、反向代理和部分 WebSocket 受限环境,本次版本新增了连接配置与失败兜底机制:

  • 新增 WebSocket 基础地址 配置项
  • 支持自定义 wss://ws://https://http:// 等连接地址
  • 当 WebSocket 连接失败时,系统会自动降级为轮询模式
  • 优化聊天主界面在异常网络场景下的消息刷新体验
  • 优化最近会话、未读消息和全局通知的连接管理逻辑
  • 新增统一的 WebSocket 地址构建工具,减少部署配置错误

这意味着在网络环境复杂或 CDN 不支持 WebSocket 的情况下,插件仍能尽量保证消息刷新和通知能力可用。


配置调整说明

举报配置变更

举报相关配置已从原有的单邮箱模式升级为多邮箱列表模式。

升级后建议检查插件后台的“基本配置”,补充以下内容:

  • 举报邮箱名称
  • 举报邮箱地址
  • 邮件模板
  • 举报说明文案

WebSocket 配置建议

如果你的站点存在以下情况,建议配置 WebSocket 基础地址

  • 站点前面使用了 CDN
  • CDN 不支持 WebSocket
  • 前台访问域名与源站通信地址不同
  • HTTPS 页面下需要显式指定支持 TLS 的 WebSocket 地址

升级建议

建议升级到 v1.1.0-rc1 后重点检查以下内容:

  • 举报邮箱列表是否已正确配置
  • 举报说明和邮件模板是否符合站点实际需求
  • WebSocket 基础地址是否需要单独指定
  • CDN / HTTPS 场景下的聊天连接是否正常

如你正在使用旧版举报邮箱配置,请升级后尽快迁移到新的举报邮箱列表配置。

1.0.0
webjing 发布于
>=2.23.0

微言通信插件版本更新说明

发布日期:2026-04-07

版本概览

本次版本聚焦于通信模块的管理能力完善与聊天治理能力增强,重点补齐了控制台聊天记录管理、消息撤回权限控制、群成员入群欢迎语、举报接收配置等关键能力。同时,对控制台通信模块的路由结构、菜单组织和聊天记录管理界面进行了系统优化,并同步完善了 OpenAPI 文档、前端生成类型和项目文档,进一步提升了整体可维护性与交付完整度。

核心新增能力

一、控制台聊天记录管理能力正式上线

本次版本新增了面向管理场景的聊天记录管理能力,管理员现可在 console 端统一查看任意群聊、频道和私聊的聊天记录。

该能力支持以下场景:

  • 查看普通聊天记录
  • 查看归档聊天记录
  • 查看已标记删除的聊天记录
  • 对删除消息保留状态标识,满足审查、追踪与问题排查需求

该功能的落地,进一步完善了通信插件在管理审查、内容治理和运营排障场景中的闭环能力。

二、消息撤回治理能力增强

围绕聊天管理和内容治理需求,本次版本增强了消息撤回能力,支持更高权限角色在对应场景下执行消息撤回操作,为管理端提供更完整的消息干预手段。

该能力将更好支撑以下场景:

  • 群聊与频道消息治理
  • 管理员介入处理异常消息
  • 内容风险审查后的处置操作

三、群成员入群欢迎语能力接入

新增群成员加入后的欢迎语发送能力,用户在加入群聊后可自动收到欢迎消息,进一步提升群聊的入群引导体验与社区氛围建设能力。

本次实现已将欢迎语正式接入现有聊天消息链路,确保其能够完整进入聊天记录体系。

四、举报接收配置能力扩展

本次版本新增运营者邮箱配置能力,并扩展了举报链路的接收目标配置,使举报信息可以根据实际运营需求发送至更合适的处理角色。

该能力为插件开发者、站长和运营方提供了更灵活的举报处理支持。

体验与架构优化

一、控制台路由与菜单结构优化

对通信模块在控制台中的路由结构和菜单组织方式进行了重构,优化了聊天窗口、聊天记录管理等功能的入口关系,使整体导航层级更加清晰,使用路径更加自然。

二、聊天记录管理界面优化

对聊天记录管理页面进行了整体重构和样式优化,重点提升了以下体验:

  • 会话浏览与聊天记录查看的协同效率
  • 审查场景下的信息读取效率
  • 页面结构与聊天窗口体验的一致性

整体交互逻辑更加贴近真实聊天场景,能够更好支撑后台审查和管理工作。

三、接口与类型定义同步完善

同步更新 OpenAPI 文档及前端生成 API、类型定义,进一步增强前后端接口的一致性,降低联调成本,为后续功能扩展和版本维护提供更稳定的基础。

问题修复

本次版本同时修复并改善了以下问题:

  • 修复管理端无法完整查看聊天记录的问题
  • 修复聊天记录审查场景下对归档消息和删除标记消息支持不足的问题
  • 修复通信模块控制台界面组织与路由结构不够清晰的问题
  • 修复群聊入群欢迎消息链路不完整的问题
  • 优化部分插件配置解析和接口兼容性问题
1.0.0-rc4
webjing 发布于
>=2.22.10

bug 修复

  • 修复了添加好友界面搜索按钮不生效的问题
  • 修复了添加群聊界面搜索按钮不生效的问题
  • 修复部分样式问题

新增:

更新了微言-即时通讯插件使用条款协议,变更如下:

  • 3.5 开发者仅提供技术服务,无义务对用户的全部信息内容进行主动事前审查,亦不承担该等审查义务,但有权根据法律法规、监管要求或合法投诉,对涉嫌违法违规的内容进行抽查、屏蔽或删除。
  • 3.7 本插件不构成网络平台经营者身份,开发者不对用户之间的交易、互动行为承担平台监管责任。
1.0.0-rc2
webjing 发布于
>=2.22.10

微言 v1.0.0-rc2 - 首次发布 🎉

发布日期:2026-02-03

我们非常激动地宣布**微言(PluginCommunication)**正式发布 v1.0.0 版本!这是一款专为 Halo 博客系统打造的专业级即时通讯插件,让你的网站从单向的信息展示平台,升级为充满活力的互动社区。


🌟 核心亮点

💬 完整的即时通讯体系

基于 WebSocket 技术构建的实时通讯系统,支持私聊、群聊、频道三大通讯场景,消息秒达零延迟,为用户提供流畅的沟通体验。

🏗️ 企业级架构设计

  • 采用 Spring WebFlux + Reactor 响应式编程模型
  • 支持高并发场景,性能卓越
  • 完整的 RBAC 权限体系
  • 数据本地存储,隐私安全有保障

🎨 现代化用户界面

  • Vue 3 + TypeScript 开发
  • 移动端完美适配
  • 多种消息气泡样式可选
  • 支持自定义表情包和提示音

✨ 功能特性

📱 通讯功能

私聊系统

  • ✅ 一对一实时聊天
  • ✅ 支持文本、图片、表情、卡片等多种消息类型
  • ✅ 消息已读回执
  • ✅ 引用回复功能
  • ✅ 消息撤回(可配置时间限制)
  • ✅ 聊天记录持久化存储

群组聊天

  • ✅ 创建和管理群组
  • ✅ 群公告发布
  • ✅ 群成员管理(踢出、禁言)
  • ✅ 角色权限分配(群主、管理员、成员)
  • ✅ 入群审核机制
  • ✅ 邀请好友入群
  • ✅ 群组信息编辑

频道系统

  • ✅ 公开频道创建
  • ✅ 广播式消息发布
  • ✅ 适合公告通知场景

👥 社交功能

好友管理

  • ✅ 通过用户名/ID 搜索添加好友
  • ✅ 好友申请审核
  • ✅ 好友备注和分组
  • ✅ 黑名单功能
  • ✅ 好友在线状态显示

用户联系资料

  • ✅ 用户个人资料卡片
  • ✅ 最近联系人列表
  • ✅ 聊天置顶功能
  • ✅ 免打扰模式

🔔 通知系统

实时通知

  • ✅ 未读消息提醒
  • ✅ 仪表盘小部件显示
  • ✅ 自定义消息提示音
  • ✅ 浏览器通知支持

离线邮件通知

  • ✅ 用户离线时自动发送邮件
  • ✅ 智能合并短时间内的多条消息
  • ✅ 可配置通知间隔和频率
  • ✅ 支持批量消息摘要

系统通知

  • ✅ 好友申请通知
  • ✅ 群组邀请通知
  • ✅ 系统公告推送
  • ✅ 通知中心统一管理

🛡️ 安全与管理

消息频率限制

  • ✅ 前端发送间隔控制
  • ✅ 后端滑动窗口算法限流
  • ✅ 自动禁言违规用户
  • ✅ 可配置限流策略和惩罚机制

内容审核

  • ✅ 用户举报系统
  • ✅ 管理员审核后台
  • ✅ 批量处理举报
  • ✅ 违规用户惩罚机制

用户账户管理

  • ✅ 用户状态查看
  • ✅ 账户禁言/封禁
  • ✅ 批量用户管理
  • ✅ 操作日志记录

权限管理

  • ✅ 基于 RBAC 的权限体系
  • ✅ 细粒度权限控制
  • ✅ 角色模板定义
  • ✅ 权限继承机制

📊 数据管理

聊天记录管理

  • ✅ 完整的聊天记录存储
  • ✅ 历史消息查询
  • ✅ 聊天记录导出
  • ✅ 批量删除和清理

自动归档系统

  • ✅ 定时自动归档历史消息
  • ✅ GZIP 压缩支持
  • ✅ 可配置归档策略
  • ✅ 自定义存储位置
  • ✅ 热数据/冷数据分离
  • ✅ 优化数据库性能

🎨 个性化定制

界面定制

  • ✅ 多种消息气泡样式(经典、微信、QQ)
  • ✅ 自定义表情包
  • ✅ 支持 Emoji、GIF 动图
  • ✅ 兼容多种表情包格式(Artalk、Twikoo 等)

消息提示音

  • ✅ 内置多种提示音
  • ✅ 支持上传自定义音频
  • ✅ 用户可自由选择

配置选项

  • ✅ 消息长度限制
  • ✅ 撤回时间限制
  • ✅ 聊天记录展示条数
  • ✅ 群成员展示数量

🔌 开发者友好

API 支持

  • ✅ 完整的 RESTful API
  • ✅ 基于 OpenAPI 规范
  • ✅ 自动生成 TypeScript 客户端
  • ✅ 类型安全保障

扩展机制

  • ✅ 基于 Halo Extension 机制
  • ✅ 丰富的扩展点
  • ✅ 便于二次开发
  • ✅ 插件依赖管理

📋 技术规格

系统要求

  • Halo 版本: >= 2.22.10
  • Java 版本: 21+
  • Node.js 版本: 20+
  • 依赖插件: WebjingMandateCore >= 2.1.0

技术栈

后端

  • Java 21
  • Spring Boot / Spring WebFlux
  • Project Reactor(响应式编程)
  • Gradle 构建工具

前端

  • Vue 3
  • TypeScript
  • Pinia(状态管理)
  • UnoCSS(原子化 CSS)
  • TanStack Query(数据获取)
  • Rsbuild(构建工具)

性能特性

  • ✅ 响应式非阻塞架构
  • ✅ 支持高并发场景
  • ✅ WebSocket 长连接
  • ✅ 智能连接管理和自动重连
  • ✅ 消息队列优化
  • ✅ 数据库查询优化

🚀 快速开始

安装步骤

  1. 下载插件

  2. 安装依赖

    • 确保已安装 WebjingMandateCore 插件(>= 2.1.0)
  3. 启用插件

    • 在 Halo 后台「插件」页面上传并启用
  4. 配置插件

    • 进入插件设置页面
    • 阅读并同意服务条款
    • 根据需要调整各项配置
  5. 开始使用

    • 在 Halo 控制台左侧菜单找到「微言」入口
    • 开始体验即时通讯功能

基础配置建议

必须配置

  • ✅ 同意服务条款
  • ✅ 配置 SMTP 邮件服务(用于离线通知)

推荐配置

  • 📝 调整消息频率限制参数
  • 📝 配置聊天记录归档策略
  • 📝 添加自定义表情包
  • 📝 设置消息提示音

📖 使用场景

🎯 博主与读者互动

  • 即时解答读者疑问
  • 建立忠实粉丝群体
  • 提升博客活跃度和用户粘性

👥 社区建设

  • 创建专业兴趣群组
  • 促进用户间交流
  • 构建知识分享生态

💼 客户关系管理

  • 与客户实时沟通
  • 快速响应服务需求
  • 提升客户满意度

🎨 内容共创平台

  • 作者与读者协作创作
  • 实时讨论内容方向
  • 构建共创生态

⚠️ 重要说明

浏览器音频播放限制

用户必须在页面上进行至少一次交互(点击、按键等)后,音频才能播放。这是浏览器的安全策略,无法绕过。但只要用户在 Halo 后台做过任何操作(点击菜单、切换页面等),之后的消息通知就都能播放声音了。

表情包资源声明

本插件仅提供表情包配置功能框架,不内置任何第三方图片类表情包资源。站点管理员通过本插件配置的任何表情包资源,均由站点管理员自行添加和管理,与本插件开发者无任何关联。请确保您拥有所配置表情包的合法使用权。

数据安全

  • 所有用户数据本地存储
  • 消息加密传输
  • 完整的数据备份与恢复机制
  • 符合《个人信息保护法》等法规要求

🔄 升级说明

这是首次发布版本,无需升级操作。


🐛 已知问题

  • 群组禁言后,前端仍可发送消息(消息不会保存,但会显示发送动作)

🗺️ 未来规划

我们正在积极开发以下功能,敬请期待:

v1.1.0 计划

  • 🔜 消息搜索功能
  • 🔜 聊天记录导出为 PDF
  • 🔜 语音消息支持
  • 🔜 视频通话功能
  • 🔜 消息翻译功能

v1.2.0 计划

  • 🔜 机器人接入支持
  • 🔜 消息定时发送
  • 🔜 群投票功能
  • 🔜 消息加密增强
  • 🔜 多端消息同步优化

长期规划

  • 🔜 移动端独立 App
  • 🔜 桌面端客户端
  • 🔜 AI 智能助手集成
  • 🔜 更多第三方集成

🤝 参与贡献

我们欢迎社区贡献!如果你有好的想法或发现了问题:


🙏 致谢

感谢以下项目和社区的支持:

  • Halo - 强大的开源建站工具
  • Vue.js - 渐进式 JavaScript 框架
  • Spring Framework - 企业级 Java 框架
  • 所有为本项目提供反馈和建议的用户

📞 联系我们


🎉 结语

微言 v1.0.0 是我们迈出的第一步,我们致力于为 Halo 社区提供最专业、最易用的即时通讯解决方案。

感谢你选择微言!让我们一起打造更有温度的互联网社区。

现在就升级你的 Halo,开启即时通讯新时代! 🌈