Halo 是一款强大易用的开源建站工具,它让你无需太多的技术知识就可以快速搭建一个博客、网站或者内容管理系统。具备可插拔架构、主题套用、富文本编辑器等多重特性,支持用户根据自己的喜好选择不同类型的插件及主题模板来定制化自己的站点功能及外观。让内容创作和发布更加便捷生动。
截至目前(2025 年 Q4 季度),Halo 已经在 Docker Hub 获得了超过 280 万次下载,GitHub Star 数突破 37 k,并拥有一百多名社区贡献者。
2025 年 12 月 24 日,强大易用的开源建站工具 Halo 正式发布 2.22 版本。
⚠️ 重要提示
此版本重构了部分插件 API,升级之后可能导致部分插件无法正常使用,升级之前建议先检查你所使用的插件是否已经兼容 Halo 2.22,在升级之后建议及时更新所有能够更新的插件。
此版本重构了附件缩略图的生成逻辑,并且与之前版本的存储目录结构不同,所以在升级之后可能需要按需重新生成,在这个阶段可能会导致网站资源占用较高,属于正常现象。
亮点更新
商城功能
随着 Halo 2.22 的发布,我们同时上线了 Halo 商业版,Halo 商业版在 Halo 专业版的基础上增加了商城功能模块。支持用户基于 Halo 站点创建店铺,上架多种类型的货品与商品支付、商品发货方式。为实体商品、虚拟商品、链接商品等销售场景提供完备的电商解决方案。









编辑器更新
图片集
在 Halo 2.22 中,我们在编辑器中新增了图片集的功能,可以同时添加多张图片排列在一起。


图片支持描述文本
在 Halo 2.22 中,我们为编辑器图片、视频、音频添加了描述文本的支持。


支持设置封面图
在 Halo 2.22 中,我们在文章编辑器中添加了设置封面的功能,进一步简化了文章编辑流程。


设置表单优化
新的数组表单类型
在之前的版本中,我们为了让插件和主题的设置功能有更加灵活的数据定义能力,引入了名为 Repeater 的表单类型,这个表单类型可以让开发者自定义数组对象的字段,但后面观察到各个主题和插件的真实使用场景,发现这个表单类型在复杂的数据结构下很容易造成可读性问题,所以在这个版本中我们引入了一个新的数组表单类型,名为 Array ,此类型会默认隐藏所有设置表单,仅显示数据摘要列表,可以很大程度解决可读性问题,提高用户的配置效率。



附件类型支持预览和上传
在之前的版本中,附件类型的表单项仅支持输入链接或者从附件库选择附件,在 Halo 2.22 中,我们彻底重构了附件表单类型,支持了附件预览和直接上传。


图标选择
在 Halo 2.22 中,我们引入了一个全新的图标表单类型,集成了 Iconify,可以直接从 Iconify 平台选择图标,此平台汇集了主流的开源图标库,总计约 20 万图标,能够满足绝大部分需求。

需要注意的是,这个功能需要主题和插件主动适配。
附件管理
存储策略支持排序和隐藏
在 Halo 2.22 中,我们为附件存储策略添加了隐藏和排序的设置项,我们可以将不常用或者不会主动上传的附件存储策略进行隐藏或者调整顺序。


优化附件选择弹窗
在 Halo 2.22 中,我们优化了附件选择弹窗的操作逻辑,现在支持直接在选择界面调出上传界面,并复用选择界面所选的存储策略和分组,可以很大程度的减少操作流程。

性能优化
附件缩略图重构
在 Halo 2.22 中,我们重构了附件缩略图的生成逻辑,现在无需在数据库保存缩略图的状态,可以很大程度减少数据库的操作,进而提升页面的渲染速度和减少资源消耗。除此之外,重构之后还支持按需生成,只有当缩略图被访问时才进行生成操作,这样可以避免资源浪费。
Console 页面优化
在 Halo 2.22 中,我们将 Console 和个人中心的部分页面改为了懒加载,这样可以提高首次访问速度,也能更好的利用缓存策略。
索引机制重构
在 Halo 2.22 中,我们重构了索引机制,可以带来更快的数据库查询速度和启动时的构建速度。
完整更新日志
新特性
用户注册支持设置受保护用户名 by @liuyiwuqing in #7887
功能优化
清理通知发送所残留的无用数据 by @JohnNiang in #8007
为阻塞操作添加超时时间以提升系统可靠性 by @JohnNiang in #8004
优化 Console 和 UC 的加载速度 by @ruibaby in #7976 #7971 #7941 #7935 #8037
解决生成缩略图时可能出现内存溢出的问题 by @JohnNiang in #7817
支持配置缩略图生成启用、禁用和并发量 by @JohnNiang in #7812
重构图片缩略图功能,移除缩略图记录,改为按需生成 by @JohnNiang in #7779
优化系统性能 by @JohnNiang in #8045
优化文章详情页面加载 by @JohnNiang in #8047
重构附件默认存储策略配置,统一在设置 -> 附件设置中配置 by @JohnNiang in #8092
问题修复
修复可能无法初始化主题配置的问题 by @JohnNiang in #7923
修复潜在的内存泄漏问题 by @JohnNiang in #7914
优化重置密码时因邮箱可输入大小写导致的问题 by @JohnNiang in #7901
修复可能无法正常获取附件链接的问题 by @JohnNiang in #7788
依赖更新
升级 Spring Boot 至 3.5.7 by @JohnNiang in #7871
升级 Spring Boot 至 3.5.9 by @JohnNiang in #8069
开发者相关
修复
@halo-dev/components的 Dropdown 组件类型问题 by @ruibaby in #7974将
@halo-dev/console-shared重命名为@halo-dev/ui-sharedby @ruibaby in #7926@halo-dev/console-shared包提供utils.id.uuid()方法,用于生成 uuid by @ruibaby in #7898在
@halo-dev/console-shared包中提供stores对象,包含 currentUser 和 globalInfo by @ruibaby in #7858在
@halo-dev/console-shared包中提供 UI 权限检查工具 by @ruibaby in #7853在
@halo-dev/console-shared包中提供统一的 date 和 attachment 工具 by @ruibaby in #7847优化索引引擎以提升索引和查询性能 by @JohnNiang in #7822
重构
@halo-dev/components中的 Dropdown 组件,改为完全使用floating-vue的原始组件 by @ruibaby in #7978改进
@halo-dev/api-client包的配置,在外部使用的时候支持 tree shaking by @ruibaby in #7966为文章、页面等元数据表单注入当前表单的数据,以便在元数据定义中判断是否需要显示表单项 by @ruibaby in #8040