FIT2CLOUD

详情请参阅更新日志(在 GitHub 上查看)。
Please refer to Changelog (view on GitHub) for details.

howiehz-higan-zh-hans.zip 为简体中文默认安装包,仅包含 .br。
howiehz-higan-zh-hans-tiny.zip 为简体中文轻量安装包,移除默认字体资源,默认 logo 资源将替换为 1x1 占位图,不包含预压缩文件,且不注入 Mermaid / instant.page 运行时。
howiehz-higan-zh-hans-full-precompressed.zip 为简体中文完整预压缩包,包含 .gz / .br / .zst。
howiehz-higan-en.zip is the English default package with .br only.
howiehz-higan-en-tiny.zip is the English tiny package that removes the default font assets, replaces the default logo asset with a 1x1 placeholder image, omits precompressed assets, and excludes Mermaid / instant.page runtime injection.
howiehz-higan-en-full-precompressed.zip is the English full precompressed package with .gz / .br / .zst.

发布于查看详情

What's Changed

  • Migrate UI build to Vite and require Halo 2.26 by @ruibaby in #24
  • 新增任务中心,支持历史任务、逐项进度、取消后继续及失败项重试。by @acanyo in #25
  • 新增图片处理前后对比,可查看尺寸、体积变化并缩放预览。by @acanyo in #25
  • 新增操作影响预览,批量处理、重复附件清理和未引用附件清理前可查看受影响内容及跳过原因。by @acanyo in #25
  • 新增环境检测,识别运行系统、架构及容器环境,支持 SQLite、WebP、AVIF 依赖按需下载、校验与激活。by @acanyo in #25
  • 日志和任务历史改用 SQLite 持久化,支持自动迁移旧版日志。by @acanyo in #25
  • 精简多平台原生依赖,安装包由约 39.4 MB 降至 14.2 MB,减少约 64%。by @acanyo in #25
  • 优化后台布局、卡片、表格和按钮样式,适配移动端与深色模式,保留原有操作步骤。by @acanyo in #25
  • 新增顶部“加入 QQ 讨论群”入口,采用黑底白字样式。by @acanyo in #25
  • 完善引用替换、附件清理及任务恢复的边界保护;依赖未就绪时提供明确提示。by @acanyo in #25

New Contributors

Full Changelog: v1.2.1...v1.3.0


Generated from v1.3.0

发布于查看详情

新特性

  • 重新设计文章归档页,支持按年份和月份快速浏览、标题即时搜索、关键词高亮及折叠展开。(@LIlGG,#683)

功能优化

  • 优化归档页交互动画和手机端浏览体验。(@LIlGG,#683)
  • 优化 layout.html 的布局兼容性,支持自定义页头和全宽内容。(@LIlGG,#681)

问题修复

  • 修复切换暗黑配色后,再次打开主题菜单会自动收起的问题。(@LIlGG,#684)

Full Changelog: v2.6.0...v2.7.0


Generated from v2.7.0

发布于查看详情

Rackora v0.9.9

修复

  • 文章侧栏「最新评论」改为同时要求评论插件已启用(haloCommentEnabled)且当前文章已有公开评论;评论插件关闭或没有公开评论时不再调用 commentFinder,也不再渲染空侧栏区块。

优化

  • 将官方 Comment Widget 的 --halo-cw-* 样式变量桥接到主题强调色与正文色(含深色模式、提交按钮对比色与评论内图片最大宽度),评论区视觉与 Rackora 配色一致。
  • docs/plugin-compatibility.md 补充 Halo / Comment Widget 版本矩阵:主题仍声明 >=2.20.0,Comment Widget 3.4.0+ 需站点先升到 Halo >=2.27.0。

安装包:theme-rackora-0.9.9.zip

完整提交对比:v0.9.8...v0.9.9


Generated from v0.9.9

发布于查看详情

本次 1.1.2 更新统一了主题定位与上架文档,并完成一轮工程质量修复:

  • 主题定位统一为“专注阅读与写作、内建轻社交的暖色 Halo 主题”。
  • README 不再承载逐版本更新日志,版本记录统一放在应用市场版本说明和 CHANGELOG。
  • 合并评论宿主观察器,减少重复全量扫描。
  • 瞬间评论与回复统一走内容清洗。
  • 首页/作者页文章抽屉抽取公共模板。
  • 首屏明暗防闪烁脚本收敛为单一实现。
  • 完善无障碍、版权与第三方许可、Proprietary 声明。
  • 补齐应用市场 app-id,手动安装 ZIP 的站点可保留应用市场身份并接收更新。
发布于查看详情
  • 装备页升级为展架布局,完整展示图片,名称、规格和使用说明无需悬停即可阅读。
  • 新增展架与清单两种视图,并记住浏览偏好。
  • 装备详情支持本页前后浏览、方向键、Esc 关闭和焦点返回。
  • 新增单件分享链接,保留分组与分页,打开即可直达对应详情。
  • 优化手机、深色模式、长说明、缺图及空状态;详情操作保持可见。
  • 适配 Swup 页面切换、分组分页及浏览器返回。

Generated from 1.6.17

发布于查看详情

Clarity 1.6.16

发布日期:2026-10-28。兼容 Halo >= 2.26.0。

更新内容

  • 增强文章卡片与页头的共享过渡,按浏览器历史条目恢复返回位置,兼容减少动态效果设置。
  • 首页轮播改用 Embla,支持拖拽、循环、播放/暂停、方向键和 Shift 滚轮;恢复原版居中布局、两侧卡片预览及圆角矩形箭头。
  • 优化手机菜单、右侧栏的互斥打开、Esc 关闭、焦点管理和底部面板避让。
  • 普通代码块增加文件名、语言、行号、复制、换行和长代码折叠;表格支持滚动与换行切换、吸顶表头。
  • Mermaid 按需加载,支持深色重绘、原始尺寸/适应宽度、查看源码及错误重试,并兼容已有插件渲染内容。
  • 右侧栏新增热门文章、最新文章组件;搜索入口支持配置开关。
  • 修复多站点插件缺失时的菜单、页脚与文章组件调用,提供 Halo 原生数据回退。
  • 恢复文章上/下篇导航和排序配置,保留分类浏览上下文、键盘切换及共享过渡。
  • 包含自上一正式版以来已合并的瞬间海报、友链可访问性状态、互动增强接入和插件缺失提示等适配。

本次未宣称完成原版全部功能同步。故事/技术文章配置、列表筛选排序、专属侧栏等后续差异见 功能对照。

发布验证

  • pnpm install --frozen-lockfile、pnpm test、pnpm lint、pnpm build、git diff --check 通过;14 项回归测试通过。
  • ZIP 根目录包含主题清单和配置,包含完整模板及恢复的文章导航;未包含源码目录、依赖目录或凭据。
  • Halo 2.27.0:使用 ZIP 升级,复查文章导航、分类上下文、首尾文章及静态资源。此前完整交互和响应式验收记录见 迁移记录。
  • Halo 2.26.0:独立 Docker 实例安装正式版 1.6.6,再上传 1.6.16 ZIP 升级;非默认主题色保留,切换 Earth 后再切回正常。
  • Halo 2.26.0:首页、归档、文章、分类集合、分类归档、标签集合和作者归档返回完整 HTML;导航含有前后文章和分类查询上下文。两版本检查到的主 JS、主 CSS 及字体 CSS 均返回 200。
  • 现有 Chrome 连接中验证相邻文章点击、方向键导航与正文切换,没有新增控制台错误。

可选插件的全部版本组合未逐一回归。iOS/Android 真机触摸与软键盘仍待验收;构建保留大型异步图表分包和 DaisyUI @property 警告。ZIP 安装与兼容版本验证不能替代上述尚未完成的集成验收。

本地验收制品:dist/theme-clarity-1.6.16.zip,SHA-256:7ce94c894deb4ede89f596af903cbfeab068c8605c6b9ff2bb05177d3f39eba8。GitHub 发布流程会从标签重新构建,正式下载制品以 Release 附件为准。


Generated from 1.6.16

发布于查看详情

新增与优化

  • 新增文章片段评论:选中正文或停留在段落旁可引用原文,保留已有草稿;已讨论片段显示评论数气泡,点击后才加载评论内容,支持分页和继续评论。
  • 正文保持主题原有样式,不添加背景高亮或下划线;气泡提供防误触延迟、轻量过渡及手机滑动过滤,并支持系统减少动态效果设置。
  • 新增评论读者榜页面和侧边栏组件,可在 Halo 富文本编辑器中插入,配置统计周期、人数、标题与配色;统计真实公开评论、回复及获赞数。
  • 后台评论查询新增历史邮箱批量替换,同步更新评论、回复及邮箱摘要,使用独立管理权限控制。

问题修复

  • 修复表情选中后的高亮提示,新增选中勾选标记与键盘焦点提示,重新打开表情面板时保留本次选择。#30
  • 修复佩戴互动增强的头像框、昵称颜色等装扮后,管理员徽章及自定义评论徽章被隐藏的问题。#31

验证与兼容性

需要 Halo 2.27.0 或更高版本。

通过 197 项自动化测试(108 项后端、85 项评论组件、4 项后台 UI)、前后端类型检查与完整 Gradle 构建。在 Halo 2.27.0 中验证了评论及回复提交、片段评论点击展开、公开读者榜、邮箱替换与权限限制,验收数据已清理。

文章片段评论可在“基本设置 → 启用文章片段评论”中关闭。读者榜入口位于默认富文本编辑器的插入菜单,侧边栏组件不会自动改动主题布局。

Full Changelog: 1.0.12...1.0.13


Generated from 1.0.13

发布于查看详情

Halo2Bark v1.1.2 更新说明

本次更新完善多设备推送的故障告警与恢复通知,并完成 Halo 2.27.1 验证。

修复

  • 故障告警准确识别设备:多台设备交错使用不同 Bark 服务地址时,投递结果与对应设备保持一致,避免将某台设备的失败记到另一台设备。
  • 恢复通知更新原告警:设备恢复后,成功收到故障告警且仍启用的设备会收到同一 id 的恢复更新,刚恢复的设备也会收到确认。设备改名不影响关联,已移除或禁用的设备不再接收更新。
  • 并发恢复不遗漏接收者:同一设备的故障告警发送、接收确认和恢复处理按顺序执行,确保恢复更新包含实际收到告警的设备。

使用说明

  • 需要 Halo 2.26.0 及以上,升级后沿用已有配置。
  • 故障告警由其他投递成功的设备接收;只有一台设备或所有设备同时投递失败时,故障期间无法送达告警,连续两轮失败后首次恢复投递成功时仍会收到恢复确认。
发布于查看详情
  • 修复公开别名与图谱的隐私泄露并接入应用商店发布
  • 主题端仅解析公开文章别名,链接失效时回退为禁用状态,避免泄露私有文章标题与地址
  • 配置读取失败或为空时自动关闭匿名图谱访问,防止沿用旧的公开授权
  • 公开图谱增加服务端缓存并设置 no-store,缓存失效或加载失败时不返回旧数据
  • 公开查询剔除断链节点,避免暴露未解析的私有标题
  • 更新 CD/CI 工作流与应用商店 app-id,同步仓库与主页地址
  • 补充相关单元测试

Generated from 1.0.0-rc2

发布于查看详情

本次更新带来全新个人资料体系与评论体验:

  • 新增全新个人资料卡、评论/回复悬浮卡、作者主页、头像动态光环与内联个性签名。
  • 评论支持多级回复:默认折叠、就地展开、最多两级缩进,更深回复以 @ 拍平。
  • 统一全站「瞬间 / 文章」分类胶囊,覆盖搜索、资料卡最近内容与 @ 提及面板。
  • 修复明亮模式分类胶囊不可见、评论头像光环异常、资料卡分隔线和个人签名编辑样式等问题。
  • 后续版本仅在 Halo 应用市场发布;论坛不再发布更新记录,交流群二维码以商店 README 为准。
发布于查看详情

此版本需要 Halo 2.27.0 及以上版本。

新特性

  • 支持批量清理全部或当前页的文章分享链接。by @ruibaby in #14

功能优化

  • 将分享链接管理权限归类到「链上好文」,便于配置角色权限。by @ruibaby in #13

问题修复

  • 修复未拥有分享链接管理权限的用户仍能看到文章分享入口的问题。by @ruibaby in #13

Full Changelog: v1.2.0…v1.3.0

发布于查看详情
  • 补齐频道与授权私聊的 /rm、/redo,支持 Bot 用户名后缀和命令使用提示,避免将命令文字同步为瞬间。
  • 命令结果、成功命令清理及可选 Telegram 原消息清理持久化处理;清理失败不重复执行已完成的 Halo 操作。
  • 删除目标不存在时明确失败,已知已删除记录保持幂等;旧相册映射不完整时保留原内容和附件。
  • 增加新瞬间可见性、自动审核、默认标签、纯文本前后缀及频道原消息链接配置;编辑保留人工设置的发布者、可见性和审核字段。
  • 发布者、附件存储策略和附件分组使用 Halo 内置选择器,兼容原有资源名称配置。
  • 更新插件 Logo,工具菜单改用纸飞机图标,并同步应用市场素材说明。
  • 增加相关回归测试及 Windows/WSL 本地验证交接说明。
发布于查看详情

新特性

  • 首页个人介绍支持一言和打字机效果,可选择一言分类及最大长度,默认关闭。(@LIlGG,#677)
  • 友情链接页支持在线申请,填写网站地址后可自动补全 Logo、反链和订阅地址,需在友链插件中开启申请功能。(@LIlGG,#673)
  • 随机图新增“仅使用自定义参数”模式,支持通过 {id} 按内容固定图片。(@LIlGG,#671)
  • 音乐播放器新增“自动显示歌词”开关,支持播放音乐或展开列表时显示歌词。(@LIlGG,#666)
  • 适配 Halo 标准页面布局 layout.html,支持插件页面复用 Sakura 主题布局。(@LIlGG,#676)

功能优化

  • 优化首页背景图清晰度,桌面端使用原图,移动端按屏幕尺寸加载缩略图。(@LIlGG,#660、#664)

问题修复

  • 修复选择菜单图标后无法保存菜单项的问题。(@alittlehuaji,#655)
  • 修复文章和独立页面中随机图、目录等设置开关状态显示异常的问题。(@LIlGG,#658)
  • 修复搜索页装饰图设置不生效的问题。(@LIlGG,#659)
  • 修复“切换主题”按钮点击后没有反应的问题。(@LIlGG,#665)
  • 修复图片链接被预览弹窗拦截,以及点击视频后出现两个播放器同时播放的问题。(@LIlGG,#667)
  • 修复亮色模式下高亮文字难以辨认的问题。(@LIlGG,#668)
  • 修复自定义页面请求不存在的脚本并产生加载错误的问题。(@LIlGG,#670)

New Contributors

Full Changelog: v2.5.0...v2.6.0


Generated from v2.6.0

发布于查看详情

本版本需要 Halo 2.26.0 及以上版本,免费功能需要 Halo 应用市场插件 1.19.0 及以上版本。

新特性

  • 新增免费版,无需激活许可证即可使用 SEO 检查、页面分析、社交分享、结构化数据、链接重定向等功能。
  • 免费版支持查看最近 7 天的搜索流量与爬虫记录,每日可手动推送 10 个链接;激活许可证后支持最长 90 天的统计历史、不限量手动推送和文章自动推送,爬虫历史仍受记录保留策略限制。
  • 支持单独开启或关闭文章发布、更新时的自动推送。

功能优化

  • 控制台新增授权状态、统计历史范围和剩余推送额度提示。
  • 许可证失效后自动切换为免费版,保留已有配置和数据。
  • 移除 SQLite 自动备份与自动恢复,保留已有备份文件;请自行安排插件数据目录备份。
发布于查看详情

本次更新聚焦阅读可读性与交互一致性:

  • 优化瞬间浮层滚动;评论/回复输入四行限高,长内容四行折叠并可展开,折叠处增加轻微渐隐。
  • 统一 @ 按钮与提示;写作页支持 @ 搜索文章/瞬间;首页文章抽屉内点击 @ 链接可直接打开目标文章或单条瞬间。
  • 写作页右侧滚动条改为按需短暂显示;浮层层级按打开顺序排列。
  • 浮层交互统一为更安静的关闭方式:支持 Esc、点击空白处和返回键。
  • 提升弱化文字对比度,增大评论、时间等小字字号,常用操作点击区不小于 24px。
发布于查看详情

主题文档
插件相关配置
新版朋友圈配置说明
留言板配置说明

升级日志 · 2026-10-27

⚠️ 配置项变更(需要重新配置)

配置项 变更 你需要做什么
无刷新加载 原「Pjax 加载」开关(true/false)→ 下拉三选一:关闭 / Pjax(旧)/ Swup(推荐) 到后台重新选一次;旧值会让下拉显示为空(站点仍按 Swup 运行)
Service Worker 并发 CDN 源 默认值换成 3 个实测更快的源;新增 /npm 路径说明 已保存过配置的站点不自动更新,想用新默认值请手动替换或恢复默认
相关文案 「Pjax 配置」→「无刷新加载配置」等 仅改名,配置内容不受影响

主要变化

  • 无刷新切换新增 Swup:与 pjax 并存,可在后台切换;只替换正文列,导航/侧栏/音乐播放器不重建,前进后退恢复滚动位置。
  • 关闭 Swup 页面缓存:二次进入同一页面会重新取阅读量、点赞、评论等数据。
  • pjax、Remixicon 改为 npm 依赖:删掉 assets/lib 下约 1.7MB 的静态副本,图标与功能表现不变。
  • Service Worker:静态资源默认走缓存(不再要求开「并发 CDN」),缓存版本跟随主题版本自动更新。

修复

  • 切页后内容区脚本不执行(链接页报 setSafeSrc is not defined)、页面资源与布局不同步(相册不加载、侧栏不隐藏)。
  • 页面脚本长时间无响应会卡在加载态(已加超时兜底)。
  • SW:多 CDN 源只生效第一个、CDN 全失败时资源报错、清理缓存误删同域其它应用缓存。

Full Changelog: 1.25.1...1.26.0


Generated from 1.26.0

发布于查看详情

适用 Halo >=2.26.0。本版完成 Halo 2.27 与新版官方插件适配;商城新版能力按服务端版本启用,可选插件仍遵循各自的最低 Halo 要求。

Halo 2.27 与插件适配

  • 补齐商城订阅商品、周期选择、重复购买限制、匿名结算、前台订单详情与邮箱找回等新版能力,沿用官方交易接口和访问控制。
  • 适配 Passkey 2.0 原页激活、CommentWidget 3.4 固定链接与编辑器、ContactForm 2.1 逐页投放及资源恢复;调整 Docsme 1.10.2 表格间距。
  • 修复新版 ALTCHA 资源路径和插件延迟模块影响主题启动的问题,保留旧版验证码资源分支。

交易、评论与界面修复

  • 支付失败可重试,离开页面停止轮询;后台确认付款后重新核对订单并通过 PJAX 跳转详情,避免旧支付会话取消状态误导再次付款。订单取消也保留同一文档导航。
  • 询价商品不计入普通结算;保留结算中已选的配送地址,为移除折扣失败补充反馈。
  • 修复评论固定链接跨页定位、瞬间验证码重试时的草稿与回复对象保留,以及编辑器尚未就绪便输入导致无法保存的问题。
  • 联系表单导航失败时保留草稿和原表单,成功导航后清空旧草稿,失败资源可以恢复加载。
  • 修正登录验证码浮层的定位,使其贴合提交按钮;图库详情评论面板移到图片右侧,手机保留右侧抽屉,切图继续使用 PJAX。

构建与安装包

  • 商城 DEMO 原图归档到 docs/商城/演示素材/,本地演示商品改用 Halo 附件;测试专用图片放入 scripts/fixtures/images/,不作为正式运行资源。
  • 完整检查先生成当前资源,再执行依赖构建产物的检查;打包前验证构建身份,ZIP 逐项核对主题模板、配置和资源内容,拒绝旧资源、缺失文件及混入的开发素材。

验证与安装包

完整构建、契约与运行回归、许可证及安装包内容校验通过。登录验证码浮层和图库评论布局已在桌面、手机验证;本地已知外站图标加载错误保留原始记录。安装包约 983 KB,无 DEMO 原图、开发文档或测试素材。


Generated from v0.9.50

发布于查看详情

修复

  • 兼容 PJAX、Swup、Turbo 等无刷新主题:点击登录链接能正常打开登录弹窗,不再跳页或报错。
  • 登录页不再混入主题和其他插件注入的脚本(看板娘、评论、搜索组件等),和 Halo 自带登录页一样做了隔离。通行密钥插件的登录脚本照常保留。
  • 修复登录弹窗加载时滚动条一闪而过的问题。

Generated from v1.0.1

发布于查看详情

新特性

  • 页面生成改为后台执行:创建页面后可直接返回列表,生成过程中离开编辑器不再中断任务,页面列表实时显示运行状态并支持停止 by @ruibaby in #58

功能优化

  • 缩短页面卡片操作按钮文案,避免在窄卡片下换行 by @ruibaby in #53

问题修复

  • 修复生成页面时因 slug 冲突导致的保存失败,且不再重复出现 by @ruibaby in #52
  • 修复标注列表过长时将聊天输入框推出可视区域的问题 by @ruibaby in #54
  • 修复主题源文件缺失导致 AI 生成中断的问题,并改进工具执行失败的错误提示 by @ruibaby in #57
  • 修复预览中主题脚本因沙箱限制无法访问本地存储与订阅源的问题 by @ruibaby in #55

Full Changelog: v1.1.0...v1.2.0


Generated from v1.2.0

发布于查看详情

修复

  • 修复升级后控制台「项目管理」页面无法打开的问题,页面报 ChunkLoadError、GET /plugins/portfolio/assets/ui/chunks/*.js 404
  • 原因:plugin.yaml 的最低 Halo 版本提升到 2.27.0 后,前端打包器把资源基础路径切换为 /plugins/portfolio/assets/ui/,但插件 JAR 仍把控制台资源打包在 console/ 目录,导致入口能加载、异步分包全部 404
  • 现在控制台资源统一输出到 ui/,与 Halo 的资源路由和打包器基础路径保持一致,构建时同时清理遗留的 console/ 目录
  • 新增 JAR 资源布局回归测试,校验 ui/main.js 存在、console/main.js 不再打包,且基础路径为 /plugins/portfolio/assets/ui/

升级提示

升级后请强制刷新控制台页面(macOS Cmd+Shift+R,Windows/Linux Ctrl+Shift+R),避免浏览器复用旧的控制台模块。


Generated from 1.1.2

发布于查看详情

维护版本

本次为维护性发布,功能与 1.1.0 保持一致,仅重新构建并更新版本号,用于重新发布到 Halo 应用商店。

  • 最低 Halo 版本要求不变:>=2.27.0
  • 依赖、配置项与 API 均无变化

Generated from 1.1.1

发布于查看详情

登录工坊的首个版本:无需修改主题,即可定制 Halo 的登录、注册、找回密码和退出界面。表单仍由 Halo 原生认证流程处理,插件只负责外观。

功能

  • 站内弹窗:站内登录入口、/login、/signup、/logout、密码重置链接和后台登录都在当前页面的弹窗中完成,手机上为底部抽屉。可在「基础设置」中改为独立页面。
  • 登录设计:设计保存在数据库中,可在设计工作室中可视化调整外观、动效和内容,也可以编写 HTML、CSS 与 JavaScript,并实时预览各页面的独立页和弹窗效果。内置液态玻璃、左右分栏、居中卡片、极简、极光等案例。
  • 站内 AI 设计(可选,需要 Halo AI Foundation):在设计工作室中与 AI 对话修改设计,支持选择模型、追问和撤销,结果需手动保存。
  • 外部 AI(MCP)(可选,需要 Halo MCP Server):提供 9 个 auth-ui__* 工具,Claude Code、Codex 等 AI 助手可以读取、创建、检查、预览和启用登录设计。

要求

  • Halo 2.27.0 及以上
  • 可选:AI Foundation 1.3.0 及以上、MCP Server 1.3.0 及以上

说明

  • 启用后默认使用弹窗模式,会接管 Halo 的登录、注册、退出和密码重置页面。停用插件即恢复 Halo 原生页面。
  • 使用站内 AI 设计时,当前设计内容和你输入的需求会发送给你在 AI Foundation 中配置的模型服务商。插件本身不包含遥测,也不发起其他外部请求。
  • 第三方许可见 NOTICE。
发布于查看详情

🔧 体验增强 + 兼容性维护:适配 Halo 2.27、与 Shiki 折叠共存

  • 新增:展开状态记忆——读者展开过的代码块,刷新页面或站内跳转返回后保持展开。状态只存在浏览器 localStorage(按页面路径 + 代码块序号),不上传服务端;可在后台「记住代码块展开状态」中关闭
  • 新增:打印自动展开——@media print 下强制展开所有折叠的代码块与长图并隐藏按钮。此前打印/导出 PDF 只能得到前几行
  • 新增:剩余行数提示——折叠态按钮显示「展开 · N 行」,便于判断是否值得展开;同步更新 aria-label
  • 适配 Halo 2.27:构建基线同步至 Halo 2.27,已在 2.25.x 与 2.27.x 实机验证兼容
  • 与官方 Shiki 插件折叠共存:识别 Shiki 的 [!code fold:start] 折叠控件(类名 .fold-tail-control / .fold-start),命中则跳过该代码块,避免出现两套折叠控件;Shiki 已启用但无折叠标记的代码块仍照常自动折叠
  • 修复:部分主题下文章正文被裁剪、无法滚动(重要):旧版为让折叠按钮吸底,会把阻断 sticky 的祖先元素 overflow 改为 clip,对 overflow: hidden 视觉等价,但会废掉 overflow: auto / scroll 真实滚动容器的滚动能力,导致正文被裁剪、内容不可达。现已识别真实滚动容器并完全跳过改写
发布于查看详情

1.0.0 首个正式版:首页双栏与滚动探针、文章抽屉、瞬间浮层与前台删除/引用转发、安静的评论区、写作页打字机模式、暖墨光标、暗色夜读纸面,以及完整的主题设置与响应式适配。

发布于查看详情

更新日志

1.4.0(2026-10-26)

本版本为安全整改版本,建议所有使用者升级。

安全

  • 收紧匿名访问范围
    新增独立的 console.gallery.halo.run 接口组承载管理类接口,与该组相关的
    /sources、/diagnose、/sync、/push-to-photos、/photos 不再向访客放行。
    对外公开组 api.gallery.halo.run 现在只剩 /items 与 /random 两个只读接口。
    此前匿名访客可直接调用 /diagnose 触发服务端对外请求并读到图源地址与错误信息。
  • 诊断结果脱敏
    /diagnose 不再返回响应正文(bodyHead)与调用堆栈(stackTop),
    改为返回 bodyLength 与 looksLikeJson 这类结论性字段。
  • 新增图源地址 SSRF 防护
    所有对外请求发出前统一校验:仅允许 http/https 协议,
    并拒绝回环地址、私有网段(10/8、172.16/12、192.168/16)、链路本地与云厂商元数据地址
    (169.254.0.0/16)、IPv6 唯一本地地址(fc00::/7)、组播与保留网段。
    命中时该数据源会被标记为不可用,同步时记录明确的拒绝原因。

修复

  • 补齐前台展示页制品
    此前 gallery.html 放在源码根目录,static/ 与 ui/ 均为空目录,打成 JAR 后不存在。
    现已移入 src/main/resources/static/,并补充 extensions/reverseProxy.yaml
    (Halo 不会自动暴露插件的 static 目录,必须声明 ReverseProxy 才能访问)。
    实际访问地址:/plugins/api-gallery/assets/static/gallery.html。
  • 展示页不再依赖需要授权的 /sources,来源筛选改为从已加载数据推导,访客可直接访问。

变更

  • 开源信息统一:补充 MIT LICENSE 文件并打入 JAR,plugin.yaml 增加 repo 与 issues 字段。

注意

  • /sources、/diagnose 等接口路径已迁移到新的管理组,若你在脚本中调用过这些地址,
    需把 api.gallery.halo.run 换成 console.gallery.halo.run。公开接口不受影响。
  • 使用 PAT 调用时需确认令牌授权范围包含对应接口组,否则会返回 403。

1.3.1(2026-10-25)

新增

  • 后台设置页新增「关于」分组,展示作者博客与作者信息(作者博客 https://blog.kbmp.club)。
  • 补充插件简介描述。

说明

  • 本版本仅涉及后台展示信息与文案,功能与 1.3.0 一致。
  • 升级会重启插件,内存缓存清空后自动重新累积,属正常现象。

1.3.0(2026-10-25)

修复

  • 图库攒满后就不再更新(核心问题)
    旧版本同步时把旧缓存排在前面、新采样的图排在后面,达到「最多累积」上限后被截断丢弃的
    永远是新图,留下的全是老图。结果就是:图池一旦攒满,即使定时同步照常运行,
    图库内容也永久静止。
    现改为滚动更新:新采样的图排在最前面,达到上限时淘汰最老的,
    每一轮同步都会换进一批新图。

新增

  • 被滚动淘汰的旧图会同步从「图库管理」插件中删除,
    避免 /console/photos 里的记录只增不减(此前会随每轮采样持续膨胀)。

建议配置

想让图片更新更明显,可把「最多累积」调小。每轮同步会换进「采样次数」张新图:

最多累积 采样次数 效果
60 30 每轮替换约一半,变化明显
200 30 每轮替换约 15%,变化较慢

升级注意

  • 升级会重启插件,内存缓存会被清空,图库会从 0 重新累积,几轮同步后回到设定上限,
    期间不会报错,属正常现象。

1.2.0(2026-10-25)

修复

  • 后台修改同步周期后不生效
    旧版本只在插件启动时读一次周期,把 60 分钟改成 5 分钟后仍按 60 分钟跑。
    现改为保存设置时立即按新周期重新排期,无需重启插件。

新增

  • 响应结构新增「随机单张 JSON」类型:适用于每次请求返回一张随机图的 JSON 接口
    (如 https://t.paiii.cn/api/random?format=json)。
  • 同步状态对外可见:/sources 与 /diagnose 新增 intervalMinutes(当前实际生效周期)、
    nextSyncAt(下次同步时间)、secondsUntilNextSync(距下次同步秒数)、lastSync、errors,
    方便确认「自动同步到底排上了没」。

1.1.0(2026-10-25)

新增

  • 响应结构新增「302 跳转到随机图片」类型:适用于没有列表接口、
    每次请求直接 302 跳转到一张随机图的图源(如 random-pictures 类站点)。
    插件会重复采样若干次、收集每次的跳转地址并去重,攒成一个图集。
  • 随机类图源新增「采样次数」「最多累积」两项配置。
  • 随机类图源拉取失败时保留已攒下的图,不会清空。

1.0.0(2026-10-25)

首个版本。

  • 后台配置任意数量的图片 API 数据源,各自独立开关
  • 自动识别顶层数组 / {items:[...]} / 单个对象三种响应结构
  • url、id、title、tags 字段名可单独指定,留空自动推断
  • 定时同步(默认 60 分钟,可调 5–1440 分钟),后台保存后即时触发
  • 自动为匿名用户放行只读接口,前台无需登录即可展示
  • 对接官方「图库管理」插件,把图片地址写成 Photo 记录,不占本地存储
  • 对外接口:/items、/sources、/random、/sync、/push-to-photos、/photos
  • 附带自包含展示页 frontend/gallery.html(瀑布流 + 懒加载 + 灯箱 + 按源筛选)
发布于查看详情

言答Issue v1.1.1

修复内容

  • 修复历史 Issue 主体数据缺少 participateUsers 时前台概览页渲染失败的问题。
  • 修复历史主体缺少 Issue 模板集合时页面加载失败的问题。
  • 修复历史 Issue 缺少标签集合时 Issue 列表渲染失败的问题。
  • 修复历史主体、标签和模板缺少枚举字段时索引初始化可能失败的问题。
  • 修复历史数据中的空主体说明、标签和模板字段导致的前台异常。

兼容性

  • Halo:>=2.26.0
  • Java:21
  • Node.js:22.12.0
  • pnpm:10.12.4

升级建议

升级后请重载插件,并重新访问之前无法打开的主体页面。如果页面仍使用旧模板缓存,请重载当前主题并清理主题模板缓存。

相关文档


Generated from v1.1.1

发布于查看详情

言答Issue v1.0.0

本次重构了前台UI并为主题开发者提供模版片段。

主要更新

  • 完成 Halo 2.26 页面布局契约适配,主题可以通过 templates/layout.html 注入自己的页头、页脚和页面布局。
  • 将 packages/issue-static 接入 Gradle 构建,启动、重载和打包时自动构建并打入插件 JAR。
  • 修复前台静态资源打包和访问路径问题,产物统一进入 static/webAssets。
  • 重做前台页面布局,采用 GitHub / Primer 风格的 Issue 列表、Issue 详情和主体概览页面。
  • 优化主体概览,加入 README、About、Issue 状态统计和参与者区域。
  • 优化 Issue 状态筛选,将筛选条件放入搜索框并支持删除;搜索框支持 GitHub 风格的 focus ring。
  • 修复编辑器标题菜单被工具栏滚动容器裁剪的问题。
  • 支持主体描述 Markdown 和安全 HTML 渲染,并过滤脚本、危险链接和 Alpine 指令。
  • 支持 Issue 模板级联字段、条件显示、文章选择器和服务端条件校验。
  • 修复 Issue 模板首次打开或切换主体时无法加载的问题。
  • 修复经办人远程搜索关键字未正确传递的问题。
  • 修复主体标签统计和标签作用范围优先级问题。
  • 支持管理员、超级管理员处理其他用户创建的 Issue,包括关闭、重新打开和切换状态。
  • 支持在 Issue 详情页直接分配主体可用标签。
  • 完善前台发布权限、模板字段校验和失败提示。
  • 使用 Halo generateApiClient 重新生成 API 客户端和 TypeScript 类型。
  • 增加后端权限、模板条件、标签统计和前端描述渲染测试。
  • 增加主题适配、构建流程、设计规范和使用文档。

升级说明

升级插件后建议:

  1. 在 Halo Console 重载插件。
  2. 如果主题新增或修改了 templates/layout.html,同时重载主题并清理主题模板缓存。
  3. 检查插件设置中的内容样式、分页大小和头像配置。
  4. 使用管理员和普通用户分别验证 Issue 发布、审核、状态操作和评论权限。

使用文档和主题适配文档


Generated from 1.0.0

发布于查看详情

修复

  • 精选专题:从全部已发布文章中筛选带封面的文章,最新 10 篇均无封面时仍能显示较早的封面文章;没有符合条件的文章时隐藏整个区块。变量声明移至外层 th:block,确保 Thymeleaf 按正确顺序求值。
  • 无封面置顶文章:置顶大卡不再以封面为必要条件,grid / list 两种布局下均只渲染一次,不输出空封面图,也不重复进入普通文章卡片。
  • 无 JavaScript 兜底:仅在 main.js 完成滚动显现初始化后添加 reveal-ready;脚本未加载或未执行时,.reveal 内容保持可见。
发布于查看详情

主题文档
插件相关配置
新版朋友圈配置说明
留言板配置说明

升级日志

  • 标题栏:移除「固定标题栏」开关,标题栏改为常显固定显示,旧配置无需处理。
  • Banner:去掉负外边距,改为直接留白;显示或隐藏时不再跳动。
  • 标题层次:列表标题改用 --title 变量,字重 400 → 450。
  • 夜间配色:暗色标题 #e2e2e2 → #d0d0d0,暗底上不再刺眼。
  • 首屏:夜间判定只认 localStorage.night 的 true/false,脏值回退默认主题;背景图加载前用主题底色兜底,不再闪白。

Full Changelog: 1.25.0...1.25.1


Generated from 1.25.1

发布于查看详情

0.1.3

  • 支持网易云与 Apple Music 的公开歌单、专辑陈列。
  • 单个歌单按歌曲所属专辑封面生成音乐墙,点击封面自动定位曲目。
  • 列表与封面缓存、原生音频与官方播放器回退,点击后才加载播放器。
  • 适配手机、桌面和系统深浅色;已在 Ying、Earth、Jyf 三种主题环境验证。
  • 补全包内 README、GPL-3.0 许可证、独立源码 ZIP 与两张实际展示图。

安装后访问 /music,并在 Halo 控制台的菜单里新增自定义链接 /music。无需新建页面或修改主题文件。

播放由平台版权、地区、登录和订阅状态决定,不解锁受限歌曲。

发布于查看详情

升级要求

本版本需要 Halo 2.27.0 或更高版本,请先升级 Halo 再安装插件。

新增与优化

  • 新增标签式 AI 评论面板,支持生成评论、润色、扩展、提问、读文评论及回复写作;常用标签优先展示,其余标签可展开选择。灵感来源于 @张heo
  • 评论工具栏新增 @助手入口,支持头像候选卡片和可整块删除的头像提及标签,也可直接输入 @ 选择助手。灵感来源于 @张heo
  • 新增默认头像池,在头像缺失、WeAvatar 无匹配头像或加载失败时按身份分配;头像池留空或图片失效时使用本地生成的图案头像。支持附件图片和直接返回图片的接口链接。#26
  • 徽章图标随配置保存为 SVG,保留图标颜色并支持离线显示;修复与互动增强插件同时使用时的徽章显示问题。#28
  • 插件依赖、后台 UI 构建及开发环境升级至 Halo 2.27.0。

问题修复

  • 修复接受一次 AI 建议后,后续生成无法显示建议卡片的问题。
  • AI 生成期间暂时禁用 @、图片、表情和 AI 评论入口,点击其他位置会继续保留生成状态,完成或失败后恢复操作。
  • 修复 Jsoup 重复打包引起的类加载冲突,解决提交评论或回复时出现 Failed to fetch 的问题。

升级提示

旧徽章若仍保存为 Iconify 图标名称,可在后台重新选择图标并保存,将图标内容存入配置。默认图标已随插件内置。

本次通过 148 项自动化测试,并在 Halo 2.27.0 中验证了真实 AI 连续生成、评论及回复提交。

Full Changelog: 1.0.11...1.0.12


Generated from 1.0.12

发布于查看详情

保险箱 1.1.0

新增

  • 临时授权:在规则操作中选择「分享与授权」,可为单个资源创建分享链接或独立访问码,有效期可选 1 小时、24 小时、7 天、30 天。
  • 分享确认页与独立访问码兑换入口,解锁页新增「使用独立访问码」和「退出当前资源授权」。
  • 授权记录列表展示范围、状态、到期与最近兑换时间,支持单项撤销和「撤销全部已有授权」。
  • 分享确认页可通过 safebox-share.html 覆盖,解锁页继续支持主题模板覆盖。

安全加固

  • 访问密码改用 PBKDF2-SHA256 并保存到 Halo Secret,旧 SHA-256 记录在验证成功后自动升级。
  • 同一客户端连续 5 次失败后冷却 5 分钟。
  • 受保护响应设置 private, no-store,解锁页与分享页设置 no-store 与 no-referrer。
  • 规则管理接口与解锁模板只返回脱敏视图,密码哈希和签名密钥不外泄。

行为变更

  • 分享链接与访问码仅授权 GET、HEAD 读取和下载,修改类请求仍需密码解锁及站点自身权限。
  • 排除路径现在只跳过当前规则,命中的路径仍可能被其他规则保护。
  • 升级后原版本签发的解锁 Cookie 需要重新验证。
  • 修改密码会使该规则的旧授权全部失效;修改路径或有效期不会重签已有授权。

界面优化

  • 控制台新增「分享与授权」弹窗,表单改为分区卡片布局,操作按钮按语义分组,授权记录支持限高滚动。
  • 「新建/编辑保险箱规则」弹窗改为「基础信息 / 保护范围 / 访问与提示」三张卡片,输入项两列排布,启用开关独立成行。
  • 附件规则弹窗沿用相同的分区与间距规范。

兼容性

  • 需要 Halo >= 2.27.0。

完整变更:1.0.0...1.1.0


Generated from 1.1.0

发布于查看详情

新增

  • 公开仓库聚合:支持 GitHub / Gitee 公开仓库地址预览、导入为草稿与手动同步快照(Star、Fork、未关闭 Issue、语言、许可证、主题、归档状态等)
  • 详情默认同步 README:详情内容(Markdown)与文档地址为空时,自动回填仓库 README 内容与页面地址;已人工编辑则保留
  • 公开页发现能力:支持关键词、平台、类型、标签 / 技术栈、推荐筛选,以及优先级 / 最近创建 / 最近更新排序与分页
  • 管理端仓库导入 / 同步交互与仓库快照展示

变更

  • 最低 Halo 版本要求从 2.24.0 提升到 2.27.0
  • 项目详情页增加仓库快照展示(Star / Fork / Issue / 语言 / 许可证 / 同步时间等)

Generated from 1.1.0

发布于查看详情

主题文档
插件相关配置
新版朋友圈配置说明
留言板配置说明

升级日志

换页体验(本次重点)

  • pjax 改为只刷新 .column-main:点链接只换正文,导航栏、banner、侧栏、页脚、head 保持首屏节点,音乐播放器、特效、访问统计不再被重建。
  • 容器 class 在「替换完成、绘制前」同步,契约页面侧栏隐藏照常生效且不闪。
  • 页面级资源按差集补齐:外链样式、<script src>、内联 <style>/<script> 都能随页面生效;外链按文档顺序串行执行,内联即时执行。
  • 页面级脚本先 preload,下载与内容替换并行;初始化分级,不依赖脚本的(目录、图片预览、导航高亮)先跑,不让正文等网络。

换页问题修复

  • 公告等内联脚本被重复执行,报 const 重复声明
  • 非 pjax 下进入非 banner 页面会闪一下 banner;pjax 切换时 banner 收起晚一帧
  • 快速连点链接导致重复初始化(Swiper、图片包裹)
  • 海报浮层残留、抽屉展开项不跟随、来回首页累积 Swiper 实例

字色对比提升

  • 亮色正文 #424242 → #1f1f1f、标题 #333 → #1a1a1a;辅助文字(#888、#9a9a9a 等)整体加深,白底上不再发虚。
  • 暗色正文 #ccc → #d6d6d6、标题 #d0d0d0 → #e2e2e2;辅助文字整体提亮,暗底阅读不刺眼。
  • 正文默认字重 300 → 400,自定义字体下不再显得细弱。

其他

  • banner 打字循环在折叠期间不再空转
  • 清理整文档替换时代的兼容代码与死函数

Full Changelog: 1.24.2...1.25.0


Generated from 1.25.0

发布于查看详情

封面图 1.2.0

为文章生成封面图,支持 AI 图像生成与提示词优化、可视化封面设计、随机图库和文章首图。

升级前请确认

  • 最低需要 Halo 2.27.0。
  • 安装并启用 Halo AI Foundation >=1.0.0 且 <2.0.0。
  • 旧版直接配置的 CodeSphere / 火山方舟模型、API 地址与密钥不再读取,请迁移到 AI Foundation。图像生成需要图像模型;提示词优化需要文本模型。

新增与改进

  • AI 统一接入 Halo AI Foundation,可在生成页选择模型、图片尺寸或比例、风格与本次提示词。
  • 新增「AI 优化提示词」,结合已保存文章生成绘图提示词,支持编辑与撤销优化。
  • 新增可视化封面编辑器:文字、字号、粗细、描述、SVG / 附件图标、圆角和渐变背景;支持下载图片和确认使用。
  • 随机图库提供栗次元随机图与风景,移除失效来源。
  • 保留文章首图提取与发布时无封面的自动补齐。
  • 生成过程显示等待状态和耗时,成功后自动设置封面并预览,可继续插入正文。
  • 修复模型选项被弹层遮挡、尺寸选项不同步、图片重复上传等问题。
  • 清理文章 HTML / Markdown 后构造 AI 素材;完善参数校验和失败反馈。
  • 合入上游附件永久链接与带查询参数 URL 的处理修复。

使用文档

完整图文指南 · 源代码

验证

Halo 2.27 本地构建、Java 与前端共 23 项测试通过;现有 Chrome 会话验证 AI 图像实际生成、模型选择、随机图片、首图提取、自定义封面与上传预览。提示词优化已覆盖自动化成功与失败用例,当前演示环境未配置文本模型。


Generated from v1.2.0

发布于查看详情

新特性

  • 支持切换访客端语言,自定义按钮、邮箱验证码及操作提示文字。
  • 邮箱字段支持临时邮箱、公共邮箱和示例域名过滤,以及自定义域名允许名单、拒绝名单和规则测试。
  • 支持将文章内的表单显示为按钮,点击后弹窗填写。
  • 收件箱新增分栏视图、批量分配归属人、提交时间筛选。
  • 支持删除已归档表单以及删除提交记录;
  • 支持记录、查看和导出多个广告平台的推广来源参数。

功能优化

  • 更改表单加载文本提示为动画效果。
  • 新建通知与集成处理方案时,直接展示当前表单名称。
  • 优化授权状态加载,减少页面切换时的提示闪烁和布局跳动。

问题修复

  • 修复部分旧版表单升级失败及迁移后有效历史附件无法显示的问题。
  • 修复提交后跳转至其他页面时短暂显示成功页面的问题。
  • 修正字段流失统计,避免将未操作字段、条款链接点击及仍在填写的会话误计为流失。
  • 修复收件箱分页未显示提交总数的问题。
发布于查看详情

新特性

  • 发布页面支持限制公开访问,开启后仅超级管理员可访问,其他访客返回 404 by @ruibaby in #43
  • 发布页面接入 Halo 访问统计 by @ruibaby in #46
  • AI 编辑页面时自动生成并维护 SEO 描述 by @ruibaby in #33

功能优化

  • 生成页面时对齐当前主题的布局槽位与组件风格,不再套用文章页模板 by @ruibaby in #45
  • 改进主题上下文覆盖范围与样式表定位,提升生成页面的主题一致性 by @ruibaby in #47
  • 简化页面生成指引,减少不必要的源码读取并放开内容规划限制 by @ruibaby in #50
  • 发布页面返回 ETag 并支持 304 条件请求,避免 CDN 缓存长期陈旧 by @ruibaby in #36
  • 页面版本记录所用主题,主题不一致时在控制台提示 by @ruibaby in #51
  • 页面卡片新增管理员预览与公开页面访问入口,并区分危险操作 by @ruibaby in #40
  • 页面更新时间改为相对时间,悬停显示精确时间 by @ruibaby in #34
  • 克隆页面时允许留空访问路径 by @ruibaby in #41
  • 导出页面 ZIP 文件名附加时间戳,避免重复下载覆盖 by @ruibaby in #42
  • 独立页面应用 modern-normalize,统一基础样式 by @ruibaby in #48
  • 聊天中的思考与工具步骤改为紧凑的折叠行展示 by @ruibaby in #49
  • 历史面板按需加载代码差异编辑器,减少初始加载体积 by @ruibaby in #38

问题修复

  • 修复流式回复中发送中途指令导致助手消息重复的问题 by @ruibaby in #29
  • 修复共享缓存下预览资源 CORS 头不一致的问题 by @ruibaby in #30
  • 修复工具调用标签在长提示下换行的问题 by @ruibaby in #31
  • 修复历史面板切换视图时按钮位置跳动的问题 by @ruibaby in #39
  • 页面 SEO 描述改为交由 Halo 统一输出,避免空描述与忽略全站 SEO 设置 by @ruibaby in #32

Full Changelog: v1.0.0...v1.1.0


Generated from v1.1.0

发布于查看详情

新特性

  • 新增腾讯云 TokenHub 服务商支持,提供独立的对话与向量化适配器,支持推理内容回放、结构化输出、工具调用及多媒体输入 by @ruibaby in #124

功能优化

  • 精简使用统计页面中重复或不必要的数据完整性提示,仅在调用记录确实丢失时进行标记 by @ruibaby in #123

问题修复

  • 修复重启后使用统计的调用方插件筛选列表为空的问题,并根据已安装插件补全显示名称 by @ruibaby in #125
  • 修复 Chat Completions 流式响应在 HTTP 200 后返回 error 帧时被静默忽略的问题 by @ruibaby in #124

Full Changelog: v1.2.0...v1.3.0


Generated from v1.3.0

发布于查看详情

v1.0.6

修复

  • 修复匿名访客(未登录/无痕模式)看不到字体切换浮窗的问题:匿名角色聚合标签误写在 annotations 中,已移至 labels,公开 API 对访客正常放行

要求 Halo >= 2.22.0。

v1.0.5

功能亮点

  • 字体管理:卡片式实时预览、启用/停用、默认字体、自定义字体
  • 内置预设 12 款 + 推荐字体库 12 款(cn-fontsource/npm CDN,免费可商用)
  • 按字体独立设置字重(400/500/600/700)
  • 字体加速地址:CSS 入口主机映射替换(loli.net、fastly jsdelivr 等)
  • 前台访客字体切换浮窗,选择记忆在 localStorage
  • 可配置字体作用选择器与预加载策略

要求 Halo >= 2.22.0。

发布于查看详情

✨ 新特性

  • 【插件端/移动端】新增【常见问题(FAQ)】功能模块;
  • 【插件端/移动端】新增 互动增强 插件支持,装饰展示(昵称样式/头像框/勋章/称号/名片背景);
  • 【插件端】新增用户公开资料接口;
  • 【移动端】新增播客听读(智阅全能AI助手 ,版本要求 >=4.0.7)。

🚀 优化项

  • 【插件端】优化应用展示组件体验,适配深色模式,修复已知其他问题;
  • 【插件端】修复已下线公告可被匿名读取的问题;
  • 【插件端】修复前端依赖安全漏洞。

Full Changelog: v3.0.6...v3.0.7


Generated from v3.0.7

发布于查看详情

v131_post_counter

新增

  • 文章卡片新增浏览量徽章:首页精选专题、置顶大卡、网格卡,以及归档、分类、标签、作者页的文章列表均显示浏览次数。统计由 Halo 内置计数器提供,主题不额外请求接口;可在「主题设置 - 文章列表 - 显示文章浏览量」中一键关闭。
发布于查看详情

v130-console-desktop

背景

Issue #8 反馈:希望前台能有一个控制台入口(参考 Earth 主题),并且能在主题设置里控制是否放开该入口——避免向前台访客暴露后台地址。

新增能力

位置 表现
导航栏右侧 新增控制台图标按钮 .console-btn,与搜索按钮同规格:38×38 圆形毛玻璃、16px 线性图标、hover 时主题绿描边
页脚联系方式行 新增「控制台」胶囊按钮
主题设置 → 基础 新增「显示控制台入口」开关(默认开启)与「控制台路径」文本(默认 /console)

两处入口共用同一个开关,关闭后同时消失,不留残影。console_path 可自定义,适配修改过后台路径的站点。

改动说明

  • settings.yaml:基础组新增 show_console(checkbox,value true)与 console_path(text,value /console)。
  • templates/modules/header.html:在 nav-right 区域、search-btn 之后插入控制台按钮。判定条件为 theme.config.basic?.show_console == null or theme.config.basic?.show_console——未配置时按开启处理,老站点从 1.2.0 升级后无需手动保存设置即可看到入口。
  • templates/modules/footer.html:联系方式行末尾追加控制台胶囊,判定条件同上。
  • templates/assets/css/style.css:
    • .search-btn 选择器扩展为 .search-btn, .console-btn,共用圆角、玻璃底与 focus-visible 描边;
    • @media (max-width:640px):隐藏导航栏控制台按钮(页脚入口保留);
    • @media (max-width:480px)(新增断点):收紧导航间距与内边距、天气图标 30→28px、.logo 改为可收缩、站点名过长以省略号截断。

根因与兜底设计

窄屏溢出(本轮发现并修复):控制台按钮加入导航栏右侧后,390px 视口下 .nav 实际宽度 417px > 视口 390px,汉堡按钮被切掉;414px 溢出 4px。根因是 .nav-right 为 flex:0 0 auto 不参与收缩,右侧元素总宽超出可用空间。

  • ≤640px 隐藏导航栏控制台按钮,窄屏下入口保留在页脚,移动端仍可直达。
  • ≤480px 收紧布局并让 .logo 可收缩,站点名过长时省略号截断。

顺带修掉 320px 的既有横向溢出(与本次改动无关,关掉控制台按钮同样溢出):根因是 .logo 为 flex:0 0 auto 不参与收缩、站点名过长不换行。修复后 320px 下 logo 由 197px 收窄至 138px。

安全兜底:开关缺省为「开启」而非「关闭」——Issue 诉求是「增加入口」,装上即用;不想要的站长一键关掉即可。未登录访问 /console 由 Halo 自身 302 到 /login,主题不接管认证逻辑。

真机验证

环境:Halo 2.26.1(JDK 21),H2 本地实例,--server.port=8090。发版前用正式包 theme-luye-1.3.0.zip 重新升级复验。

  1. 正式包升级:POST /apis/api.console.halo.run/v1alpha1/themes/theme-luye/upgrade → 200;主题列表确认 theme-luye 1.3.0 / READY / LayoutTemplateSupported。
  2. 包内容断言:28 个关键文件全部齐全;theme.yaml version=1.3.0、requires=2.26.0;settings.yaml 含 show_console / console_path;header.html 含 console-btn 与 /console 兜底;footer.html 含控制台胶囊;style.css 含 .console-btn 样式、≤640 隐藏规则、≤480 断点、省略号截断;README 含 1.3.0 条目与设置表条目——16 项全部通过。
  3. 设置项注册:GET /apis/api.console.halo.run/v1alpha1/themes/theme-luye/setting 确认 basic 组含 show_console | checkbox | 显示控制台入口 | true 与 console_path | text | 控制台路径 | /console;升级后 ConfigMap 自动合并默认值。
  4. 开启状态:首页渲染 <a class="console-btn" href="/console" aria-label="控制台" title="控制台">,页脚出现「控制台」胶囊。
  5. 关闭状态:show_console=false → 导航栏与页脚两处同时消失。
  6. 自定义路径:console_path=/my-console → 两处 href 同步变更。
  7. 老站点兼容:删除 ConfigMap 中 show_console / console_path(模拟 1.2.0 存量)→ 入口仍按开启渲染,href 回落 /console。
  8. 计算样式(无头 Edge + CDP):桌面 1440×900 与移动 390×844 下 .console-btn 均为 display:flex、38×38、border-radius:9999px、图标 16×16。
  9. 导航排布冲突排查(逐视口量 boundingRect):
    • 1440px:天气组 1138→1242、控制台 1256→1294、联系我胶囊 1308→1392,间距各 14px,三者互不重叠;「联系我」在 ≤860px 已被隐藏,与新按钮无空间竞争。
    • 320 / 360 / 390 / 414 / 480 / 640 / 768 / 900 / 1024 / 1440 十个视口,nav.scrollWidth === nav.clientWidth 且 documentElement.scrollWidth === clientWidth——全部无横向滚动条;开关 ON / OFF 两态各验一遍,结论一致。
  10. 全路径扫描:首页 / 归档 / 分类 / 标签 / 关于页 / 文章页 / 归档分页 / 404 页均正常渲染主题布局并包含入口(200/404 状态码符合预期)。
  11. 链接可达:GET /console → 302 /login?authentication_required。

兼容性

  • 最低要求仍是 Halo ≥ 2.26.0,未使用新 API。
  • 主题设置保存在 ConfigMap,升级不丢配置;老站点升级后新增项按开启处理,如需关闭在后台保存即可。
  • 未安装任何插件的环境下验证通过,不依赖插件。

升级方式

后台 → 外观 → 主题 →「绿野 Luye」→ 升级 → 上传 theme-luye-1.3.0.zip。

若你不想向前台暴露后台地址,在主题设置「基础」中关闭「显示控制台入口」即可,导航栏与页脚会同时隐藏。

发布于查看详情

主题文档
插件相关配置
新版朋友圈配置说明
留言板配置说明

升级说明

本次更新以 pjax 稳定性为主,同时新增 Halo 页面布局契约支持。

升级前必读

  • 最低支持 Halo 版本提升至 2.26.0(布局契约依赖该版本)

新增

  • 页面布局契约:插件前台页面可复用主题布局(~{layout :: html(head, content)}),自动隐藏左右侧栏、正文占满;移动端侧栏 widget 仍进导航抽屉
  • 正文入场动画:pjax 切换后 .column-main 自上而下揭示并淡入(0.34s)

修复

  • pjax 多次导航后脚本重复执行(DreamConfig / video 重复声明)导致整页强制重载
  • 导航后点赞、代码块展开/折叠/复制、图片折叠、日志评论与分享全部失效
  • banner 视频空白、切换时“显示一下再消失”、隐藏后残留高度
  • 侧边栏音乐偶发多个播放器/两份声音,播放器样式偶发丢失
  • 文章内 mew-music 多次进入后播放器样式失效(head 被整块替换后样式缺失)
  • 契约页面(侧栏隐藏)音乐无法关闭——现自动暂停,回到普通页面自动恢复
  • 切换瞬间导航抽屉/遮罩闪一下
  • 页面高度变化引起滚动条出现/消失,导致整页左右位移
  • 3D 标签云在 pjax 换页后不再旋转
  • 鼠标/点击特效在切页后消失(画布未随新 body 迁移)
  • 卜算子统计在pjax切换页后不显示

优化

  • 站点级脚本跨导航判重、document 级监听去重,避免重复绑定与叠加
  • pjax 后 mermaid 正常渲染,无相关图时零额外开销
  • pjax 日志统一受「调试模式」控制,正常使用时不刷屏
  • 特效不再占用 window.onresize / onmousemove 等独占属性,避免顶掉第三方回调

Full Changelog: 1.23.4...1.24.2


Generated from 1.24.2

发布于查看详情

主题文档
插件相关配置
新版朋友圈配置说明
留言板配置说明

升级说明

本次更新以 pjax 稳定性为主,同时新增 Halo 页面布局契约支持。

升级前必读

  • 最低支持 Halo 版本提升至 2.26.0(布局契约依赖该版本)

新增

  • 页面布局契约:插件前台页面可复用主题布局(~{layout :: html(head, content)}),自动隐藏左右侧栏、正文占满;移动端侧栏 widget 仍进导航抽屉
  • 正文入场动画:pjax 切换后 .column-main 自上而下揭示并淡入(0.34s)

修复

  • pjax 多次导航后脚本重复执行(DreamConfig / video 重复声明)导致整页强制重载
  • 导航后点赞、代码块展开/折叠/复制、图片折叠、日志评论与分享全部失效
  • banner 视频空白、切换时“显示一下再消失”、隐藏后残留高度
  • 侧边栏音乐偶发多个播放器/两份声音,播放器样式偶发丢失
  • 文章内 mew-music 多次进入后播放器样式失效(head 被整块替换后样式缺失)
  • 契约页面(侧栏隐藏)音乐无法关闭——现自动暂停,回到普通页面自动恢复
  • 切换瞬间导航抽屉/遮罩闪一下
  • 页面高度变化引起滚动条出现/消失,导致整页左右位移
  • 3D 标签云在 pjax 换页后不再旋转
  • 鼠标/点击特效在切页后消失(画布未随新 body 迁移)

优化

  • 站点级脚本跨导航判重、document 级监听去重,避免重复绑定与叠加
  • pjax 后 mermaid 正常渲染,无相关图时零额外开销
  • pjax 日志统一受「调试模式」控制,正常使用时不刷屏
  • 特效不再占用 window.onresize / onmousemove 等独占属性,避免顶掉第三方回调

Full Changelog: 1.23.4...1.24.1


Generated from 1.24.1

发布于查看详情

主题文档
插件相关配置
新版朋友圈配置说明
留言板配置说明

升级说明

本次更新以 pjax 稳定性为主,同时新增 Halo 页面布局契约支持。

升级前必读

  • 最低支持 Halo 版本提升至 2.26.0(布局契约依赖该版本)

新增

  • 页面布局契约:插件前台页面可复用主题布局(~{layout :: html(head, content)}),自动隐藏左右侧栏、正文占满;移动端侧栏 widget 仍进导航抽屉
  • 正文入场动画:pjax 切换后 .column-main 自上而下揭示并淡入(0.34s)

修复

  • pjax 多次导航后脚本重复执行(DreamConfig / video 重复声明)导致整页强制重载
  • 导航后点赞、代码块展开/折叠/复制、图片折叠、日志评论与分享全部失效
  • banner 视频空白、切换时“显示一下再消失”、隐藏后残留高度
  • 侧边栏音乐偶发多个播放器/两份声音,播放器样式偶发丢失
  • 契约页面(侧栏隐藏)音乐无法关闭——现自动暂停,回到普通页面自动恢复
  • 切换瞬间导航抽屉/遮罩闪一下
  • 页面高度变化引起滚动条出现/消失,导致整页左右位移

优化

  • 站点级脚本跨导航判重、document 级监听去重,避免重复绑定与叠加
  • pjax 后 mermaid 正常渲染,无相关图时零额外开销

Full Changelog: 1.23.4...1.24.0


Generated from 1.24.0

发布于查看详情
  • 站点品牌读取 Halo 系统设置,备案号默认留空
  • 桌面和手机共用 Halo 主菜单
  • 友情链接支持自定义列表,或从 Halo 链接管理插件搜索、勾选
  • 修复滚动时侧栏广告遮挡文章目录的问题
  • 广告配置界面优化
    • 文章页广告卡片:宽屏三列、中屏两列。
    • 首页广告卡片:两列并排。
    • 手机端统一单列,卡片间距与字段对齐保持一致。
    • 保留原有广告配置,升级无需重新填写

升级到此版本后,需要在主题设置中重新配置友情链接。

发布于查看详情

新增与改进

  • 统一「智阅 AI」工作台,集中使用引导、知识库、洞察图谱、前台助手、播客、会话和设置;保留旧链接跳转与已有配置,支持旧设置补齐、备份和撤销。
  • 新增文章双人播客:先生成可编辑讨论稿,再通过百炼 Qwen-Audio / CosyVoice / MiniMax、MiniMax 直连或豆包原生播客合成音频。支持模型与音色选择、说话风格、按模型能力提供情感与拟声、固定开场白和结束语,以及文章页播放、倍速和对话稿跳转。
  • 摘要框支持选择灵构 UI 作品,通过宿主回调绑定当前文章的真实摘要。支持作品选择、静态预览和设计说明,作品失效或未绑定时回退到内置卡片。
  • 优化洞察图谱的后台与文章页阅读体验,支持缩放、拖动、适应视图、大纲和节点原文定位,手机端默认显示大纲。
  • 完善语音配置校验、凭证隔离和失败提示;生成失败时保留讨论稿及原有音频。修复摘要框首次挂载与页面复用时的重复请求,并防止旧文章响应覆盖当前内容。

升级说明

  • 需要 Halo 2.25+,并安装、启用 Halo AI Foundation。升级后请从控制台侧栏「智阅 AI → 设置」管理插件,已有配置会继续使用。
  • 灵构自定义摘要额外需要 Halo 2.26+、灵构 UI 1.0.3 或更新的兼容版本,以及开启公开嵌入、完成摘要绑定的作品。
  • 讨论稿语言模型和语音服务分别配置、分别计费;访客播放已保存的音频不会触发重新生成。当前不提供背景音乐混音或片头片尾音乐。

使用文档 · 播客听读配置 · 灵构摘要配置


Generated from 4.0.7

发布于查看详情

AI 页面工坊首个正式版本:用自然语言为 Halo 创建页面,结合当前主题风格和站点内容,完成编辑、预览与发布。

新特性

  • 支持通过 AI 对话生成和修改页面,并通过画布批注表达调整需求。
  • 支持可视化编辑文字、链接和图片,也可直接编辑 HTML、CSS 和 JavaScript。
  • 支持复用主题布局,提供桌面、平板、手机及亮暗模式预览。
  • 支持跨页面复用站点业务信息,并发现站点公开 API,辅助生成动态内容页面。by @ruibaby in #3 #5
  • 支持保存生成进度,中断后查看进度并继续生成。by @ruibaby in #12
  • 支持草稿保存、发布与取消发布,以及历史版本预览、代码对比和恢复。by @ruibaby in #11 #17
  • 支持克隆页面和 ZIP 导入导出,导入前进行 AI 安全审查。by @ruibaby in #15 #19
  • 支持通过 MCP 接入 Codex、Claude Code 等外部 Agent,完成页面创建、修改、预览、发布与历史恢复。by @ruibaby in #25

需要 Halo 2.26.0 或更高版本,且仅超级管理员可用。AI 生成和导入安全审查需要 AI Foundation 1.1.1 或更高版本;外部 Agent 接入需要 MCP Server 1.3.0 或更高版本。

发布于查看详情

Halo2Bark v1.1.1 更新说明

本次更新适配 Halo 2.27:审核更完整、私密内容有标注、通知点进去直达那一条讨论。

新增

  • 回复待审核通知:站点开启评论审核后,新回复未通过审核会单独推送「🕓 回复待审核」,点击直达 Console 的待审核列表;设置页有独立开关,默认开启。
  • 私密内容有标注:在 Console 被设为私密的评论 / 回复(公众不可见),通知正文首行会标注「🔒 私密」,避免误当作公开讨论处理。

改进

  • 评论 / 回复直达链接:Halo 2.27 起,评论 / 回复通知的链接会带上 Halo 的统一评论锚点(#halo-comment=…),点击直达那条评论或回复的位置——楼中楼里的每一条都有自己的入口。

说明

  • 需要 Halo 2.26.0 及以上,升级后无需重新配置;「回复待审核」开关默认开启,老配置自动兼容。
  • 评论直达锚点需要 Halo 2.27 及以上、且主题评论组件支持解析锚点;不满足时自动退化为跳转文章页,不影响可达性。
  • 构建平台对齐 Halo 2.27.0;requires 保持 2.26.0 不变,老版本站点不受影响。
发布于查看详情

新增:本站文章转为文档

  • 在文档库列表、文档库操作菜单和文档管理页增加「导入本站文章」。支持标题搜索、分页和跨页多选,单次最多 100 篇,排除回收站文章。
  • 可导入到已有文档库或新建文档库。复制文章最新已保存内容,保留原文章;新文档默认草稿,可选择立即发布。
  • Markdown 原文保留;富文本自动转换为 Markdown,图片和附件继续引用原地址,复杂组件尽量保留 HTML 并提示检查。
  • 同一篇文章再次导入同一文档库时,按来源标识更新标题和正文,保留文档位置、别名、发布状态、发布时间及自定义代码。来源关联随备份导出和恢复。
  • 展示逐篇导入结果,支持只重试失败文章。

修复与构建校验

  • 修复富文本转换时把标题和编辑器 ID 输出为 {#…} 的问题,避免正文出现编码后的锚点字符串;不删除原 Markdown 或代码中的同类文字。
  • 递增插件版本,避免同版本替换后 Halo Console 合并脚本继续引用旧 JS/CSS,造成页面持续加载及资源 404。
  • 构建时校验安装包中的全部 UI chunk 引用,防止缺失资源的安装包通过验证。

升级说明

  • 适用于 Halo >= 2.25.0。从附件下载 plugin-my-docs-1.7.6.jar,在 Halo Console 插件页升级。
  • 非超级管理员使用导入功能前,需要为角色授予「本站文章导入」权限,该权限依赖文档管理和 Halo 文章查看权限。
  • 旧版本已导入的多余 {#…} 标记不会自动改写:升级后重新导入对应文章到同一库即可更新。重新导入会覆盖文档正文中的手动修改,请先备份需要保留的编辑。
  • 升级后刷新整个 Console 页面;若仍请求旧 chunk,可强制刷新,并检查合并脚本的 CDN/反向代理缓存。

验证

  • 后端 180 项测试、前端 67 项测试通过。
  • 完整构建及安装包 UI 资源引用校验通过。
  • 已在实际站点验证页面加载、文章转换及锚点标记修复符合预期。

Generated from v1.7.6

发布于查看详情

v0.4.4 更新说明

问题修复

  • 修复 Chat、查询改写、Rerank 和图像模型点击“测试连通性”时,部分请求返回 HTTP 400 的问题。
  • 测试请求格式错误时,显示更明确的中文提示。

升级说明

  • 需要 Halo 2.26.0 及以上版本、Halo AI Foundation 1.1.1 及以上版本。
  • 从 v0.4.3 升级无需迁移配置或重建 RAG 索引。建议升级前备份数据并保留旧版插件包。

完整更新记录:https://github.com/xianyuwu/halo-plugin-ai-suite/releases/tag/v0.4.4
在线文档:https://ai-suite-docs.rainwu.cn/

发布于查看详情

灵构 UI 1.0.3 新增第三方集成能力:其他 Halo 插件和主题可以在自己的表单中选择灵构作品,保存项目 ID,再在页面中展示最新保存版本。

主要变化

  • FormKit 作品选择器:新增 linguiProjectSelect,支持关键词搜索、分类过滤、分页、清空和预览,可用于插件与主题设置。
  • Vue 选择与展示组件:提供 LinguiProjectSelect 和 LinguiProjectRender,方便其他插件在 Halo 页面中接入作品。
  • 轻量查询 API:提供带权限控制的作品列表与详情接口,仅返回选择所需的摘要,不加载完整文档和版本历史。
  • 引用与提交可靠性:支持跨页回显,作品删除或关闭公开嵌入后保留原 ID 并提示不可用;修复选择后立即提交时可能保存旧值的问题。
  • 开发者文档:补充依赖声明、FormKit / Vue 示例、查询接口及主题展示说明。

升级说明

  • 选择器默认只列出已开启公开嵌入的作品,选择动作不会自动开启公开。
  • 接入方保存项目 ID,展示时读取最新保存版本;已打开页面需要刷新或重新加载后更新。
  • 环境要求保持 Halo 2.26.0+、Java 21、AI Foundation 1.x。
  • 在下方 Assets 下载 plugin-lingui-1.0.3.jar 安装或升级。

第三方插件与主题集成文档 · 使用文档 · 问题反馈


Generated from v1.0.3

发布于查看详情

背景

此前主题所有页面共用同一个 <title>(站点标题),既没有 canonical 也没有社交分享标签。对搜索引擎来说首页、文章页、分类页无法区分;文章分享到社交平台时也只有纯文本,没有卡片预览。

新增能力

能力 说明
独立页面标题 首页用站点标题 + 副标题;文章、独立页、分类、标签、作者页各用自己的名称
分页标题 自动追加「第 N 页」,canonical 保留当前页而非一律指向首页
规范链接 每页输出绝对地址的 <link rel="canonical">
Open Graph og:type / og:site_name / og:title / og:url / og:description / og:image;文章页额外输出 article:published_time 与 article:modified_time
Twitter Card 有封面时 summary_large_image,无封面时 summary
结构化数据 文章页输出 BlogPosting JSON-LD(headline、url、description、image、datePublished、dateModified、author)
个人主页入口 主题设置新增「基础 → 个人主页链接」,填写后在导航栏与页脚显示入口

两个 SEO 开关位于主题设置 → SEO:

  • 规范链接和社交分享标签:已由 SEO 插件提供 canonical / OG / Twitter 时关闭,避免重复输出。
  • 文章结构化数据:已由插件提供 JSON-LD 时关闭。

两个开关默认开启,且不影响页面标题——标题始终输出。站点 description、文章摘要、分类与标签描述仍由 Halo 侧维护,主题不重复注入同名标签。

其他改动

  • error.html 移入 templates/error/ 子目录,对齐 Halo 错误页的模板查找路径。
  • 文章封面补 alt(取文章标题)与 decoding="async" / fetchpriority="high",改善可访问性与首屏加载。
  • 修正外站链接的导航高亮:此前会把当前页的 active 状态误加到指向外部域名的链接上。
  • 归档页 canonical 同时保留年份与月份。

真机验证

在 Halo 2.26.0 上用正式发布包完成验证,主题显示 1.2.0 / READY,布局契约 LayoutTemplateSupported 正常。

11 条路径的 SEO 标签逐项核对全部通过:每页恰好一个 <title>、一个绝对地址 canonical、无重复 description;OG 与 Twitter Card 完整;文章 JSON-LD 可被正常解析,@type=BlogPosting,headline 与作者与正文一致;有封面时 twitter:card 为 summary_large_image,无封面为 summary。

页面 标题 canonical og:type
首页 站点标题(+ 副标题) / website
首页第 2 页 …- 第 2 页 /page/2 website
归档 文章归档 - … /archives website
归档分页 文章归档 - 第 2 页 - … /archives/page/2 website
文章详情 文章标题 - … /archives/{slug} article
分类 / 标签 分类名 - … /categories/{slug} website
作者页 作者名 - … /authors/{name} profile
404 资源不存在 - … 不输出 —

两处风险点已专项验证:

  1. error.html 移入子目录后 404 页是否仍正常 —— 正常渲染,<title> 正确、robots noindex 生效、样式无破损(附无头浏览器截图核验)。已用 1.1.2 的包回滚做对照,确认某些请求返回 JSON 是Halo 的既有行为,与本次改动无关。
  2. 归档末页 nextUrl 为空时路径拼接是否报错 —— 实测末页渲染正常,canonical 正确回退到 /archives,无异常。

视觉回归:首页与 404 页截图均无异常。静态校验:两个 YAML 文件解析通过,17 个模板标签闭合检查全部通过。

升级方式

  1. 下载本 Release 附件中的 theme-luye-1.2.0.zip
  2. Halo 后台 → 外观 → 主题 → 找到「绿野 Luye」→ 升级 → 上传 zip
  3. 如主题设置显示不全,点击「重载主题配置」以加载新增的 SEO 与基础分组

原有主题设置保存在 ConfigMap 中,升级不会丢失。升级后建议强制刷新浏览器(Ctrl/Cmd + F5)清除缓存的 HTML/CSS。

若你已安装 SEO 插件,请到主题设置 → SEO 关闭对应开关,避免与插件重复输出相同标签。

兼容性

Halo >= 2.26.0,与前序版本一致。本次无破坏性变更。

发布于查看详情

本次正式版将 AI 模型切换迁移到工作台,统一单方案与多方案的需求输入,并修复工作台布局和服务商错误提示。

主要变化

  • 工作台切换模型:组件创作、主题生成、多方案及修复共用模型选择;按 Halo 账号在当前浏览器记住选择,清空后使用 AI 基座默认模型。首次使用会继承原插件设置中的模型。
  • 统一需求输入:在同一个输入框切换“单方案 / 多方案”,切换时保留需求;候选结果进入对话区,支持比较、重试、采用与撤销。停止生成会同时取消当前及排队方案。
  • 布局优化:模型工具栏适配窄宽度;修正 Console 工作台高度与页脚占位,消除底部多余留白,保留对话内部滚动。
  • 错误提示优化:更准确识别服务商 HTTP 503 等异常,提示切换模型或检查 AI 基座配置,并保留诊断编号。
  • 历史记录:保存并恢复生成模式与多方案创作状态,候选作品也能进入创作历史。

升级说明

  • 插件设置继续提供 AI 启用开关和输出 Token 预算,生成模型改在工作台选择。
  • 局部修改、自动修复和消息重试保持单方案生成。
  • 环境要求保持 Halo 2.26.0+、Java 21、AI Foundation 1.x。外部 MCP 接入仍使用官方 MCP Server 1.x(1.3.0+)。
  • 在下方 Assets 下载 plugin-lingui-1.0.2.jar 安装或升级。

使用文档 · 问题反馈


Generated from v1.0.2

发布于查看详情

本次预发布将 AI 模型切换迁移到工作台,统一单方案与多方案的需求输入,并修复工作台布局和服务商错误提示。

主要变化

  • 工作台切换模型:组件创作、主题生成、多方案及修复共用模型选择;按 Halo 账号在当前浏览器记住选择,清空后使用 AI 基座默认模型。首次使用会继承原插件设置中的模型。
  • 统一需求输入:在同一个输入框切换“单方案 / 多方案”,切换时保留需求;候选结果进入对话区,支持比较、重试、采用与撤销。停止生成会同时取消当前及排队方案。
  • 布局优化:模型工具栏适配窄宽度;修正 Console 工作台高度与页脚占位,消除底部多余留白,保留对话内部滚动。
  • 错误提示优化:更准确识别服务商 HTTP 503 等异常,提示切换模型或检查 AI 基座配置,并保留诊断编号。
  • 历史记录:保存并恢复生成模式与多方案创作状态,候选作品也能进入创作历史。

升级说明

  • 插件设置继续提供 AI 启用开关和输出 Token 预算,生成模型改在工作台选择。
  • 局部修改、自动修复和消息重试保持单方案生成。
  • 本版本为 RC 预发布;环境要求保持 Halo 2.26.0+、Java 21、AI Foundation 1.x。外部 MCP 接入仍使用官方 MCP Server 1.x(1.3.0+)。
  • 在下方 Assets 下载 plugin-lingui-1.0.2-rc4.jar 安装或升级。

验证

  • Gradle 完整检查通过,前端 82 个测试文件、1057 项测试通过。
  • Vue / TypeScript 类型检查与插件打包通过。
  • 已验证模型选择、统一输入、多方案结果展示、桌面底部填充及长页面滚动。

使用文档 · 问题反馈


Generated from v1.0.2-rc4

发布于查看详情

现象

安装并启用 highlight.js 代码高亮 或 Shiki 代码高亮 插件后,代码块的插件配色不生效:代码块背景与文字被压成主题的深绿/浅绿,语法着色几乎看不出来。

根因(CSS 层)

  1. .post-content code
    verify-112-code
    无条件设置了 background:rgba(125,217,166,0.10); color:#A9E8C6——插件注入的 hljs 类代码块同样命中这条规则,插件的整套文字配色被主题绿覆盖。
  2. .post-content pre 设置了 background:#0A1712,插件代码块的背景同样被盖住。
  3. 页面没有向插件声明配色方案,Shiki 这类按页面配色选择暗色高亮主题的插件无法判断该用哪套配色。

修复内容

位置 修复前 修复后
行内/块级代码配色 .post-content code 无条件上色 .post-content code:not(.hljs),绿色仅作未高亮内容的兜底
代码块容器背景 .post-content pre 无条件深绿底 新增 .post-content pre:has(>code.hljs){background:none},已高亮的代码块让出背景
块内代码文字色 .post-content pre code 无条件上色 .post-content pre code:not(.hljs),插件已接管时完全不干预
页面配色声明 无 <html data-color-scheme="dark">,供 Shiki 等插件识别深色外观

行为说明

  • 未安装插件:普通代码块与行内代码仍保持绿野的深绿配色,主题风格不变。
  • 已安装并高亮:code.hljs 的背景与文字色完全由插件主题接管,主题不再干预;语法着色正常显示。
  • 编辑器与前台:主题不会自动同步编辑器配色。使用 Shiki 时,将插件的「编辑器设置 → 高亮主题」与「基本设置 → 暗色主题」设为同一配色。

真机验证

已在 Halo 2.26.0 本机实例上用正式发布包完成验证:

  • 主题升级返回 200,已装版本显示 1.1.2 / READY,布局契约 LayoutTemplateSupported 正常。

  • Halo 实际提供的 style.css(非仅开发态)确认包含全部三条修复规则。

  • 无头浏览器读取计算样式:

    元素 1.1.1(修复前) 1.1.2(修复后)
    pre:has(code.hljs) 背景 rgb(10,23,18)(被主题覆盖) rgba(0,0,0,0)(让出给插件)
    code.hljs 背景 rgba(0,0,0,0) 取插件配色
    code.hljs 文字色 rgb(199,227,210)(主题绿) 取插件配色
    未高亮 pre 背景 rgb(10,23,18) rgb(10,23,18)(兜底不变)

    对照实验直接证明:同一段 HTML 加载两个版本的 CSS,1.1.2 确实把配色让给了插件,而未高亮代码块的主题绿兜底不受影响。

  • document.documentElement 的 data-color-scheme 读取为 dark。

  • 全路径扫描全部正常:首页、分页、归档、分类、标签、文章详情(含代码块验证页)、作者页均返回 200,404 页返回 404。

兼容性

Halo >= 2.26.0,与前序版本一致。CSS 使用了 :has() 选择器,现代浏览器均已支持(Halo 后台与主流现代浏览器环境无兼容问题)。

升级方式

  1. 下载本 Release 附件中的 theme-luye-1.1.2.zip
  2. Halo 后台 → 外观 → 主题 → 找到「绿野 Luye」→ 升级 → 上传 zip
  3. 主题设置保存在 ConfigMap 中,升级不会丢失配置

若升级后代码块仍显示旧样式,请强制刷新浏览器(Ctrl/Cmd + F5)清除缓存的 CSS。

发布于查看详情

更新内容

  • 智能搜索改为点击搜索图标或按回车后提交,输入过程中不再连续调用模型;首个回答片段到达前持续显示等待状态。
  • 搜索流提前结束、服务端错误或模型异常结束时,明确提示回答可能不完整,并保留已收到的内容。
  • 搜索弹框下方的文章列表优先使用 Halo 核心搜索引擎,引擎不可用时回退到插件 Lucene;优化长问句的相关文章排序,并支持展开宽泛结果。
  • 调整搜索弹框顶部控件与结果区滚动,避免长结果列表挤压操作按钮。

兼容性与升级

  • 要求 Halo 2.26.0+、Halo AI Foundation 1.1.1+、Java 21。
  • 从 v0.4.2 升级无需迁移配置;模型和向量维度不变时,无需重建本插件的 RAG 索引。
  • 请保持 Halo 核心搜索引擎的文章索引可用。
  • 建议升级前备份 Halo 数据、插件配置和旧版 JAR。

完整发布说明与 SHA-256 校验值见 GitHub Release。

发布于查看详情

修复

  • 修复首页横幅轮播在部分窗口尺寸下露出相邻 Banner 图片的问题(#1)。
  • 补全 Swup 页面切换后的官方评论组件初始化,兼容官方评论组件 2.x 与 3.x,并保留插件配置、模块脚本属性及 nonce。
  • 防止同一评论初始化脚本被重复执行;Comment Next 的自定义元素挂载流程继续保留。
  • 同步更新静态资源缓存标识。

验证

  • 通过 pnpm lint、pnpm typecheck、pnpm build,安装包结构及关键资源校验通过。
  • 使用真实主题前端入口和 Swup,在本地验证文章切换、单页面、浏览器返回与重复初始化保护;官方 2.5.1 前端 SDK 使用本地模拟接口,3.x 使用官方初始化模板验证。
  • 完整 Halo 实例联调尚未执行。#3、#4 保留待原站复测,尤其是关闭 Swup 后仍异常的反馈。

Generated from v1.0.2

发布于查看详情

halo-theme-cosolar v1.1.10

类型 内容
🎨 样式 主题色系重构:单一色源 + color-mix 派生,全站强调色统一由「主题色」派生
🐛 修复 修改主题色后派生色(hover / light / bg / border)残留旧青绿、各页调色板不跟随的问题
🔧 调整 收敛各页面重复的青绿调色板,统一指向全局色变量
♻️ 重构 main.css 只保留公共样式,页面专属样式拆分为独立 CSS 文件(新增 5 个页面 CSS)
✨ 新功能 新增 Live2D 看板娘 TIPS 适配(适配 plugin-live2d,随主题静态资源发布)
✨ 新功能 「基础设置」新增「隐藏 Live2D 看板娘」开关,可全站隐藏看板娘

1、主题色系重构:单一色源 + color-mix 派生(src/css/main.css · src/fragments/head.html)

原派生色(--color-primary-hover/-light/-bg/-border)为硬编码青绿,改主题色后不跟随、残留旧色;各页还各自维护一套重复的青绿调色板。现改为:

  • 以「主题色」为唯一基色源,派生色统一用 color-mix(in srgb, var(--color-primary, 兜底) …%) 实时派生,后台一改主题色即自动扩散到 hover / 浅底 / 边框 / 发光。
  • fragments/head.html 在 :root 内以 !important 注入 --color-primary,明暗双模均由同一基色驱动;[data-theme="dark"] 仅调整派生方向(向白偏)。
  • 原先散落各处的硬编码蓝(个人中心图标、阅读页分享按钮、照片页进度条等)一并收敛到主题色家族,全站保持单一色系。

2、各页调色板收敛(docs.css · doc.css · photos.css · moments.css · links.css · login.css)

各页面原先各自维护一套重复的青绿调色板,现统一指向全局色变量(--color-primary 系列);登录页 --c-* 系列改用 color-mix 从 --c-primary 派生,网关各页注入 --c-primary,色系保持一致。

3、main.css 样式拆分(src/css/*)

原先 main.css 混杂了各页面专属样式,体积臃肿、复用边界不清。现按「公共 / 页面专属」切分:

  • main.css 仅保留公共样式:CSS 变量、Reset、背景、Container、Header、Layout Grid、Card、文章列表、标签徽章、按钮、侧边栏小组件、分页、页脚、Utility、.page-hero、.image-viewer、公共响应式。
  • 页面专属样式拆出为独立文件:index.css(首页精选/轮播)、post.css(文章详情/目录/阅读进度)、archives.css(归档时间线)、taxonomy.css(分类/标签页 + TOPIC HERO)、feeds.css(RSS 资讯三栏布局)。
  • 各页面在 <head> 的 head 插槽内引入自己的页面 CSS,与公共 main.css 一并加载。
  • 拆分过程零选择器丢失;同步把误入页面 CSS 的共享样式(.content-area、.sidebar、.sidebar[data-sticky])归位 main.css。

4、保留未改(多色语义 / 手调美术)

Hero 多段渐变兜底、页脚 6 色统计图标组、个人中心下拉紫 / 绿项、docs.css 功能徽标色与 .alert-success 等语义色,属刻意设计的多色美术,未纳入变量收敛。

5、Live2D 看板娘适配(public/assets/live2d/tips.json · settings.yaml · src/fragments/head.html)

新增静态文件 assets/live2d/tips.json,用于适配第三方插件 plugin-live2d:看板娘渲染时自动读取当前主题的该文件,鼠标悬停 / 点击主题元素(logo、导航、搜索框、文章卡片、标签、侧边栏、分页、文章工具条等)即弹出主题文案(9 组悬停 + 9 组点击)。主题提供的 TIPS 只生效 mouseover / click;未安装该插件时无任何影响;不改模板、不动 CSS。

同时在「基础设置」新增「隐藏 Live2D 看板娘」开关(hide_live2d):开启后 head.html 输出 live2d-context { display: none !important; } 隐藏样式,全站隐藏看板娘及其切换按钮;布尔条件以 ?: false 兜底,插件停用或未安装时该开关无任何副作用。

升级注意

  • 无需额外配置,升级后即生效:修改「主题色」后全站派生色(hover / 浅底 / 边框 / 发光)会同步跟随。
  • 「隐藏 Live2D 看板娘」为新配置项:已保存过主题配置的站点如需使用,请到后台「基础设置」手动勾选保存(升级主题不会自动写入已保存配置)。
发布于查看详情

新增功能

  • 支持从文章列表后台生成封面,自动完成图片生成、附件上传和封面设置:
    • 无封面时选择「AI 补充封面」。
    • 已有封面时选择「AI 生成封面」,生成后替换当前封面。
  • 新增「发布时自动生成缺失封面」设置,默认关闭。开启后,文章发布成功时自动补齐缺失封面,生成失败不影响文章发布。
  • 文章列表新增任务状态徽标,可查看生成进度、成功结果及跳过或失败原因。

体验与稳定性

  • 编辑器、文章列表和发布自动生成共用文章级任务锁,在同一 Halo 实例内避免同一文章同时重复生图。
  • 补充模式会保留生成期间已设置的封面。
  • 优化任务状态查询,仅在存在进行中任务时轮询。
  • 图片上传后释放服务端预览数据,后台未成功应用的新附件按任务结果清理。
  • 编辑器继续支持生成预览、修改附件名称、选择存储策略与分组,上传后随文章保存封面。

权限与隐私

  • 手动生成和任务状态查看统一面向超级管理员。
  • 管理员开启发布自动补封面后,也适用于普通编辑者发布的无封面文章。
  • 清理插件日志中的文章内容、提示词、画面描述及供应商原始警告,保留必要的诊断信息。
  • 生成仍通过 AI Foundation 调用所选模型服务,文章内容及提示词会按生成流程发送给对应服务商,相关调用费用由站点使用者承担。

运行要求

  • Halo >=2.26.0
  • AI Foundation >=1.0.0 且 <2.0.0
  • 已配置可用的语言模型、图片生成模型及附件存储策略
发布于查看详情

v1.0.11 更新内容

  • 修复 v1.0.10 中有评论的文章加载评论列表返回 500 的问题。原因是对 Halo 不允许为空的置顶索引执行了空值查询,现在改为直接匹配普通评论的索引值。#27
  • 保留置顶评论独立展示、正常分页、三种排序以及原有可见性规则。

使用 v1.0.10 的站点建议升级到本版本。需要 Halo 2.26.0 或更高版本。

Full Changelog: 1.0.10...1.0.11


Generated from 1.0.11

发布于查看详情

v1.0.10 更新内容

新增功能

  • 新增评论及回复的 IP 属地显示,优先使用内置 IPv4 / IPv6 离线库,支持配置在线接口、缓存时长与超时。前台仅展示属地,不返回完整 IP。#23
  • 适配「互动增强」插件,支持登录用户的头像框、勋章、称号、昵称样式,以及用户资料卡展示。可在插件设置中开关装扮展示。#15 #16

问题修复

  • 置顶评论独立展示,不再占用普通评论的分页名额,修复重复显示、分页数量不正确及空页问题。#24 #25
  • 修复在昵称、邮箱、网站和评论正文中输入 / 时触发主题全局搜索的问题,保留编辑器自身的 / 命令。#22 #25

使用说明

  • 需要 Halo 2.26.0 或更高版本。
  • 装扮展示需要安装并启用 interaction-plus 1.0.0 或更高版本;未安装或关闭时使用原有头像及名称显示。
  • IP 属地默认开启。离线库未命中或关闭离线解析时,插件后端会向配置的在线接口发送 IP 进行查询;可在「IP 属地」设置中替换接口或关闭功能。

Full Changelog: 1.0.9...1.0.10


Generated from 1.0.10

发布于查看详情

本版本将外部 AI 接入迁移到 Halo 官方 MCP Server,移除灵构自建 MCP 服务及专用密钥管理。这是破坏性升级,旧 MCP 地址与密钥不再生效,需要重新配置外部 AI 客户端。

主要变化

  • 向官方 MCP Server 提供 6 个灵构工具:组件搜索、组件参数、作品读取、创作 Skill、设计校验和待确认草稿提交。
  • MCP 统一使用站点 /mcp 地址和官方 Bearer 访问密钥,在 Halo「工具 → MCP 服务」逐项授权工具。
  • 草稿与操作记录继续按账号隔离;外部 AI 提交后仍由用户预览、载入并确认保存。
  • MCP Server 为可选依赖,未安装时仍可使用灵构工作台、内置 AI 和项目功能。
  • CD 已接入 Halo 应用市场 app-gwmrhmax,发布 GitHub Release 时自动构建并同步版本。

从 1.0.0 升级

  1. 升级灵构 UI,并安装、启用官方 MCP Server >=1.3.0 & <2.0.0。
  2. 超级管理员打开 Halo「工具 → MCP 服务」,创建官方访问密钥并选择需要的「灵构 UI」工具。旧灵构密钥及按项目授权配置不会自动迁移。
  3. 用官方页面提供的连接配置替换 AI 客户端中的旧配置,重新获取工具列表,先调用 plugin-lingui__get_guidance(topic="skill") 读取创作 Skill。

环境要求

  • Halo 2.26.0+、Java 21。
  • 必需插件:AI Foundation 1.x。
  • 外部 MCP 接入另需官方 MCP Server 1.3.0 或更高的 1.x 版本。
  • 在下方 Assets 下载 plugin-lingui-1.0.1.jar,或通过 Halo 应用市场升级。

验证

  • 后端测试、前端单元测试和类型检查通过。
  • 本地 Halo 2.26.0 + MCP Server 1.3.0 已验证工具注册、官方 MCP 握手、密钥工具白名单、Skill 读取和组件搜索,撤销测试密钥后请求被拒绝。
  • 灵构 MCP 管理页与官方 MCP 服务页已完成浏览器联调。

使用文档 · 问题反馈


Generated from v1.0.1

发布于查看详情

灵构 UI 首个正式版本:通过 AI 对话与可视化搭建,像积木一样组合交互组件,再将作品放进 Halo 文章、侧边栏、页脚或主题模板。

主要功能

  • AI 创作工作台:自然语言生成与修改作品,实时预览、全屏编辑,展示执行过程与具体错误信息。
  • 105 种可组合组件:覆盖布局、内容、表单、数据图解、媒体、导航与反馈,支持属性、参数、状态和数据绑定。
  • 主题与字体管理:提供 10 套内置主题,支持自定义配色、圆角、间距、字体,以及中文分包字体 CSS 导入。
  • API 与交互编排:支持自动请求、手动刷新、错误与重试处理、宿主 JS 回调和交互调试。
  • 项目与版本管理:分类、搜索、预览、导入导出、版本比较与历史恢复;通过项目 ID 短标签嵌入,保存后统一更新引用内容。
  • 组件市场:分别浏览组件与主题,预览后下载到我的项目,支持从已有项目准备投稿。
  • Skill + MCP:外部 AI 可查询组件、读取授权项目、校验设计与提交创作草稿,使用可撤销的灵构专用密钥,草稿由用户确认后保存。
  • 文章编辑器集成:在绿色加号或 Slash 菜单中选择项目,支持预览、切换组件及跳转编辑。

环境要求与下载

  • Halo 2.26.0+,Java 21。
  • 需要安装 AI Foundation 1.x;使用内置 AI 创作前,请先配置模型、服务商和凭据。
  • 在下方 Assets 下载 plugin-lingui-1.0.0.jar,在 Halo 后台安装并启用。
  • 安装后项目列表默认为空,可自行创作或从市场下载作品。

文档与交流

发布于查看详情

HALO 2 博客主题

Halo-Theme-Ethereal 2.0.1

一款专为 Halo 打造的 Fuwari 风格增强型主题

更新说明

欢迎使用 Ethereal 主题 v2.0.1。本次更新主要完善 Halo 生态兼容性,补齐页脚注入、插件配色与自定义路由支持,并带来通用错误页与 SEO 设置;同时优化首屏加载与卡片悬浮效果,修复分类导航滑块、打赏页深色模式等问题。

请注意,本次更新将「认证」分组更名为「杂项设置」,原「登录界面」设置不会自动迁移,升级后需重新确认,详见 设置项迁移

主题使用中遇到问题或者建议,欢迎在 Issue 中提交,也可前往 主题交流群 进行讨论

插件兼容

  • 新增 插件配色支持,插件前台组件可跟随主题明暗切换

  • 修复 页脚注入不生效:补齐页脚扩展点,后台「代码注入 → 页脚」与页脚类插件恢复工作

  • 修复 插件前台页标题重复输出的问题

页面与路由

  • 新增 通用错误页:其他错误状态统一显示状态码、提示与返回首页按钮

  • 修复 后台自定义路由前缀下归档 / 分类 / 标签链接失效的问题

SEO 与元信息

  • 新增 「杂项设置 → SEO 设置」,可统一开关 canonical 与社交分享标签

  • 修复 文章页、独立页面与六个自定义页缺失 canonical 的问题

  • 修复 首页描述与系统 SEO 描述重复的问题

  • 修复 站点图标重复输出的问题,改由 Halo 统一注入

性能与加载

  • 优化 页面内联脚本体积,首页由 135KB 降至 72KB

  • 优化 卡片封面加载,按屏幕选择 400 / 800 两档,1x 屏幕约省一半流量

  • 优化 备案图标体积,由 19.3KB 降至 1.1KB

  • 优化 归档页分类数据查询,减少服务端开销

  • 修复 封面图片带查询参数时压缩失效的问题

卡片与打赏

  • 优化 卡片悬浮效果:深色模式提亮更柔和,技能 / 日程日历 / 关于页卡片统一底色,过渡统一为 300ms

  • 修复 打赏页收款卡在深色模式下的显示问题

分类导航

  • 优化 高亮宽度的动画,避免抖动;系统减少动效时直接落位

  • 修复 滑块在点击与滚动时左右抽搐的问题

  • 修复 自定义路由前缀下分类导航高亮消失的问题

无障碍

  • 修复 Banner 纯图标链接缺少无障碍名称的问题

设置项迁移

从 2.0.0 升级到 2.0.1 后,以下设置需重新确认。

杂项设置

  • 「认证」分组更名为「杂项设置」;「登录界面」设置不会迁移,需重新选择

其它

  • 全仓按 prettier 规范化格式,精简注释与文档;构建链加入类型检查

  • 依赖升级:Astro 7.3.8、Svelte 5.57.2、Prettier 3.9.10 等

  • 依赖安全:锁定 brace-expansion、source-map-js、postcss-selector-parser 修复版

  • 更新 README

  • 版本号提升至 v2.0.1

本次更新处理的 Issue 与 PR

Issue

  • #91 缺少页脚扩展点 <halo:footer />,页脚注入类插件无法生效(v1.0.0 起遗留)

PR

  • #94 依赖升级:npm 分组 6 项更新

Full Changelog: v2.0.0...v2.0.1


Generated from v2.0.1

发布于查看详情

更新内容

  • 新增“服务”展示页面,支持服务卡片详情、微信/QQ/手机号联系方式、附件背景图和 /services 路径。
  • 优化服务页面为无外框全屏布局,移除整体边框和圆角,卡片网格横向铺满内容区域,并优化移动端间距。
发布于查看详情

修复制卡签发页面的地址串用问题:先选定一张卡片的地址后,再确认其他卡片打包,曾可能覆盖后者地址并使通知邮件发往错误邮箱。本版本让打包保留当前卡片原有地址和邮箱。

  • 地址选择改为候选预览,点击“确认绑定地址”才保存,并明确展示目标卡片编号。
  • 绑定仅处理呼号精确匹配且未打包、未发出、未签收的卡片,避免误改相似呼号及历史记录。
  • 写入期间锁定其他操作;版本冲突或部分失败时停止后续处理并报告已保存数量,审计记录原地址与新地址。
  • 新增 15 项组件回归测试,使用虚构数据验证跨卡片、卡片局、空地址、并发及失败场景。

验证:后端 230 项、前端 28 项测试与类型检查通过,完整构建及本地 Halo 2.23.2 热重载通过。

升级说明:本版本阻止新的地址串用,不会自动修复已有异常绑定或补发历史邮件。已有记录需依据申请和审计逐条核对后修正。


Generated from v2.3.35

发布于查看详情

这一版把几处和 X 官网不一致的界面细节全部对齐了 —— 所有数值都是对 X 官网实测反推出来的,不是拍脑袋调的。

布局
左栏导航行高 46px → 58px

之前导航项上下各 10px 内边距,和 X 比显得紧。X 实测是「图标 26 + 上下 16 ≈ 58px」,现在一致了,导航区更舒展。

宽屏右栏 350px → 400px

X 在宽屏(≥1300px)下用 275 / 600 / 400 的三栏分配(常规宽度才是 350),右栏内容列实际 326px。这一版在 ≥1300px 时整体对齐:右栏 400、内容列 326、容器同步加宽到 1315(仍是居中 + 左右各 20 留白)。1265–1300 之间维持原来的 350 规格,折叠断点行为完全不变。

视觉
右栏卡片改为 X 风格

卡片从「灰底无边框」(旧版 X 的样式)换成 与页面同底 + 1px 细边框 —— 这是 X 现在所有卡片的统一画法,Lights out / Dim / Light 三档配色下都更贴近。

发帖框图标:蓝 → 灰

发帖输入框下那排小图标(图片 / 话题 / 日历)原来常亮蓝色,X 上默认是灰的。现在默认灰、悬停才亮蓝(带淡蓝圆底)。

「更多」图标:三点 → 圆环三点

左栏导航的「更多」图标原来和帖子菜单一样是裸三点,X 的导航「更多」是圆环内含三点。现在换上了新图标(帖子卡片和菜单里的「···」保持原样,和 X 一致)。

交互
顶栏操作区右对齐

首页顶栏的「登录 / 注册」(以及登录后的账号头像)原来紧跟在「主页」标题右边,现在推到顶栏最右侧 —— 和 X 的顶栏布局一致,也顺带修复了详情页顶栏「返回 + 标题 + 账号」挤在一起的问题。

安装
下载 halo-theme-x-1.12.12.zip → Halo 后台 外观 → 主题 → 安装主题。要求 Halo >= 2.26.0。

本主题的绝大部分代码由 WorkBuddy(模型 DeepSeek V4.1 Flash) 生成,人工负责提出需求、审阅与验收。

发布于查看详情

新特性

  • 新增 AI 使用统计,支持查看调用次数、Token 用量、趋势及调用明细,并按插件、服务商和模型等维度筛选 by @ruibaby in #96
  • 服务商支持配置图片响应缓冲上限,可按需调大以处理包含较大 Base64 图片的生成响应 by @Akvicor in #114

功能优化

  • 使用统计页面支持自动刷新,可选择刷新间隔并记住设置 by @ruibaby in #118
  • 优化调用记录的数据质量提示,明确展示记录不完整或用量数据缺失等原因 by @ruibaby in #119

问题修复

  • 修复控制台模型测试调用在使用统计中被识别为未知插件的问题 by @ruibaby in #120

Full Changelog: v1.1.1...v1.2.0


Generated from v1.2.0

发布于查看详情

Rackora v0.9.8

修复

  • 分类页的“精选内容”卡片和文章页的系列列表恢复显示。此前判断条件引用了同一元素上 th:with 定义的变量,而 Thymeleaf 会先执行 th:if 再执行 th:with,判断时变量尚未定义;变量定义已移到外层元素,构建检查会拦截同类写法。
  • “外观 → 强调色”设置恢复生效。此前颜色变量写在 <body> 上,而主题在 <html> 上派生强调色,页面始终显示默认绿色;现在浅色模式直接使用所选颜色,深色模式自动提高亮度。以前改过强调色的站点,升级后会按当时所选的颜色显示。
  • 安装包内中英文 README 的截图、Logo 和封面改为固定到对应版本标签的地址,仓库之后调整截图不会再让已发布安装包中的图片失效。

优化

  • 主题清单声明 Halo 应用市场应用 ID(store.halo.run/app-id),便于 Console 识别已安装的 Rackora 并提示应用市场中的更新。
  • “分析”分组的总开关说明补充数据流向,并指向 README 中的隐私说明。
  • 清理重复的 CSS 规则,前台显示不变。

文档

  • README 补充隐私说明:区分主题自身行为(不设置 Cookie,只在访客本机保存明暗模式选择)与第三方统计的数据处理,列出 GA4、Microsoft Clarity、百度统计的数据类别、浏览器存储、保存与删除方式和隐私政策链接。
  • 代码高亮说明改为实际内置的 16 种语言,其他语言保持纯文本显示,不再使用“按需语言包”的说法。
  • README 截图更新为中文默认界面,分为前台页面与后台设置两组,并加入应用市场封面。

安装包:theme-rackora-0.9.8.zip

完整提交对比:v0.9.7...v0.9.8


Generated from v0.9.8

发布于查看详情

软件中心 v1.2.0

这是继 v1.0.0 后的正式发布,包含 v1.1.0 阶段新增的可选 Halo MCP Server 集成,以及自动化操作的重试、并发编辑和操作前检查改进。现提供 43 个基础工具 + 2 个默认关闭的敏感工具,覆盖软件、版本、下载源、分类、标签和专题;未安装 MCP Server 时插件仍可独立运行。相对于 v1.1.0 阶段新增 9 个查询工具,已有工具名称和必填参数保持兼容。

三项改进

1. 创建请求持久化,重复调用不会重复创建

六类创建工具均接受可选 requestId(UUID)。同一资源类型下,相同 ID 和相同输入只尝试创建一次;换用不同输入会返回 IDEMPOTENCY_CONFLICT。

  • 创建回执保存在 Halo 数据库中,跨插件重载及 Halo 进程重启保留。
  • 同一请求并发到达时,只有取得写入资格的调用创建资源,其他调用返回原回执或 OPERATION_IN_PROGRESS。
  • 资源已保存但回执未完成时,可以通过资源上的请求标记恢复回执。
  • 资源后来被修改或删除,重放旧请求只返回原创建结果,不覆盖或重建。
  • 新增 get_create_operation,查询 pending/writing/succeeded/failed/unknown 状态。

回执只保存输入摘要、目标名称和操作状态,不保存输入正文或敏感值。当前不自动清理回执;管理员清理记录或回退数据库会改变防重复保障。无法确认结果的请求保留 unknown,不自动重建。

2. 统计刷新不再必然阻止普通编辑

普通读取增加 editRevision。普通更新及发布时,除 expectedVersion 外传入 expectedEditRevision,即可在业务内容未变的情况下接受统计或元数据造成的版本变化。

实际落库仍发生版本冲突时,最多重新读取并重试两次。每次重试重新检查业务内容和引用,不覆盖其他人的业务修改。

只传 expectedVersion 时继续严格校验。敏感配置更新和删除仍使用严格版本,不能使用该宽容机制。敏感值不参与普通业务摘要;普通更新保留最新敏感配置。editRevision 表示当前内容,不是修改历史序号。

3. 发布前看准备情况,删除前看影响

新增 check_app_publication、check_topic_publication 及六类 check_*_deletion。

  • allowed 表示当前领域规则是否允许操作;ready 还要求没有准备度警告。
  • 软件发布检查已发布版本、该版本启用的下载源、目标配置及必要 Secret 是否存在;不输出 Secret 名称或值。
  • 专题发布检查条目中的软件是否可见。
  • 删除检查返回引用数量、最多 20 个名称样本,以及引用是否阻止删除;同时提示保留的专题或关联软件引用。
  • 每组下载源或专题条目最多深入检查 200 条,超限会明确提示检查不完整。

预检查是当前快照,不锁定资源,也不改变原有发布规则。它不验证远程文件能否下载或登录、验证码流程能否成功;实际执行仍重新校验。

升级与使用

  1. 在 Halo Console 上传 plugin-software-1.2.0.jar。
  2. 等待插件恢复 STARTED,客户端重新获取工具目录。
  3. 在 MCP 服务中为已有密钥勾选需要的新增查询工具;新增工具不会自动授权。
  4. 自动化创建始终携带稳定的 requestId,重试复用同一 ID 和输入;编辑读取最新详情并携带 expectedEditRevision。

新增参数均为可选。旧客户端继续可用,但不会自动获得创建去重或容忍统计变更的能力。重放创建返回的是原回执,后续编辑前需要重新读取资源。

从 v1.0.0 升级前,需先将 Halo 升级至 2.26.0 或更高版本(v1.0.0 的最低要求为 2.25.0)。源码构建使用 Java 21。当前编译使用 MCP API 1.3.0,保留 1.0.0 调用契约,可选插件依赖仍为 MCP Server >=1.0.0 & <2.0.0;不嵌入 MCP API/SDK。基础工具不依赖 AI Foundation;AI Foundation 编译 API 为 1.1.1,可选依赖范围保持 >=1.0.0-SNAPSHOT & <2.0.0。

新增内部 Extension operations.software.jiewen.run/v1alpha1/SoftwareCreateOperation 及两项引用索引,既有六类业务 GVK、Console API 和业务数据结构保持兼容。内部请求记录未向普通软件角色或匿名用户开放原始资源权限。

完整参数、工具目录和失败处理见 MCP 接入文档。1.1.0 设计背景见 原实现方案。

构建与发布维护

  • 更新 Gradle、Halo UI 和其他兼容依赖;Console 保持 IIFE 输出及现有 JS/CSS 加载方式。
  • 对齐 Node.js 24、TypeScript 5.9 和 Halo 2.26 要求的 Vue Router 5.1,避免依赖升级破坏构建兼容性。
  • GitHub Release 发布后自动构建安装包并推送至 Halo 应用市场应用 app-todmqfve;本次不自动同步 README。
  • 暂停三个生态的常规 Dependabot 版本更新 PR,改为按需手动维护;仓库安全更新设置保持原样。

验证记录

验证日期:2026-10-16。使用独立 Halo 2.26.0 容器、文件型 H2 数据库、官方 MCP Server 1.0.0,通过 /mcp Streamable HTTP 联调。

检查 结果
完整 Gradle 构建 通过,生成 1.2.0 安装包
Java 单元与契约测试 193 项通过,无失败或跳过(含提交前审查新增的 4 项)
前端测试 14 个文件、55 项通过
前端类型检查与 lint 通过
真实 MCP 联调 全部 45 个工具调用成功,61 项检查通过
JAR 内容 含 Console JS/CSS、新服务及内部模型;无 MCP API/SDK 类

真实联调覆盖六类创建/查询/编辑/删除、同一请求重放和不同输入拒绝、四个并发请求只创建一条资源、保存资源后恢复回执、插件重载和整站进程重启后的去重、删除资源后不再重建、不确定结果不重建、业务版本与统计版本冲突、发布准备及引用影响、敏感配置脱敏、密钥白名单、匿名访问拒绝,以及 MCP 停用和恢复。

单元测试另覆盖回执存储失败、取消与超时恢复、业务并发竞争、有限重试、敏感字段不进入摘要、检查数量上限及全部工具输出 Schema。联调修复了 Halo 将存储重名异常转换为 HTTP 400 异常的兼容问题:重试先读取并核验已存在请求,不依赖异常消息文字。

提交前对抗审查修复了两项边界问题:引用校验不再接受已标记删除但尚未清理的软件、分类或 Secret 等资源;专题发布预检查遇到旧数据中的空条目时返回隐藏条目警告,避免 Reactor 拒绝空元素而中断检查。4 项回归用例先复现失败,修复后通过;上述真实 MCP 联调记录来自修补前,本轮修补通过完整本地构建和回归验证,未重复执行整套真实 MCP 联调。

依赖更新后,Gradle 9.8.1 完整构建、193 项 Java 测试、55 项前端测试、lint 和类型检查再次通过。保持新 API 编译结果不变,仅将测试运行时替换为 AI Foundation API 1.0.1 / MCP API 1.0.0 后,193 项 Java 测试再次通过;安装包保留 Console JS/CSS,不包含可选插件 API 或 MCP SDK。此阶段未重复执行真实 Halo 安装、升级、编辑器 UI 和 MCP 联调。

本次未进行 PostgreSQL/MySQL 联调、生产数据压力测试、全部 MCP 1.x 版本测试或特定 AI 客户端的界面验收。跨资源工作流、批量导入和 AI 异步作业仍不在本版本范围内。

正式版本号为 1.2.0,Git 标签为 v1.2.0,安装包为 plugin-software-1.2.0.jar。发布安装包不会自动升级已安装插件的站点;站点升级需在 Halo Console 中执行。


Generated from v1.2.0

发布于查看详情

🎉 首个版本发布!

为 Halo 提供个人日记功能。日记默认写给自己,想分享的再单独分享。

✨ 功能特性

  • 写日记:后台或 /diary 都能写;日期可以补写,一天可以写多篇,标题、心情、天气都可以留空
  • 自动保存:内容随写随存,不用手动保存
  • 分享闭环:默认写给自己,「分享 / 更新分享 / 收回分享」;分享前预览确认,访客才能读到
  • 前台手帐:左侧目录、右侧正文,点一篇只换右侧正文;日历对所有人开放,访客只看到已分享的日期;筛选和页码写在地址里
  • 两种视角:有管理权限的账号看全部日记(FOR MYSELF),访客只看已分享的(SHARED PAGES)
  • 后台管理:列表沿用 Halo 文章列表——回车搜索,按状态、日期、心情、天气筛选;行尾眼睛图标表示是否已分享,有未分享修改时标题旁有状态点,「阅读」可对照访客看到的版本;勾选后可批量操作
  • 回收站:删除进回收站,可「恢复」或「永久删除」
  • 权限模型:写日记、读未分享的内容需要「暖阳日记管理」角色,超级管理员默认拥有;普通登录用户和匿名访客一样,只能读已分享的版本
  • 隐私边界:未分享的内容不出现在访客的目录、搜索、日历和单篇里,也不进入站点搜索、RSS、站点地图
  • 面向主题:前台走主题模板渲染,全站变灰一类注入 <head> 的插件可以生效

📋 环境要求

  • Halo >= 2.26.0
  • JDK 21(自行构建)

📦 安装方式

下载 plugin-warm-diary-1.0.0.jar,在 Halo 后台 → 插件 → 安装 → 上传并启用。

🔧 配置说明

  1. 写第一篇:在后台或 /diary 写日记;日期可以补写,一天可以写多篇,标题、心情、天气都可以留空
  2. 分享给访客:后台「⋯ → 分享」或前台「分享」,预览确认后访客才能读到;之后的修改要再「更新分享」
  3. 插件设置:时区与手帐便笺在插件设置里填写,留空则用服务器时区和默认便笺
  4. 菜单入口(可选):可在 Halo 菜单中自行添加入口;/diary 等路径需留给插件使用

⚠️ 注意事项

  • 权限隔离不是加密:这是站点访问权限隔离,不是端到端加密;能直接访问数据库或服务器的人仍可看到底层数据
  • 管理账号之间不隔离:拥有「暖阳日记管理」角色的账号能读所有未分享的内容,彼此之间不隔离
  • 分享是快照:分享复制出独立版本,之后的自动保存不改变它,直到再次「更新分享」

📚 文档

  • README:使用说明、权限模型、接口与开发

反馈:BBS · 暖阳日记

发布于查看详情

更灵活的 Webhook 接入

  • 可选择请求方式、添加自定义请求头,并按接收服务要求编排消息内容,连接更多通知服务。
  • 完整展示已保存的 Webhook 地址,地址、请求头和消息模板可直接查看与修改。
  • 新增“发送测试”,使用当前编辑内容立即验证接收效果,无需先保存;成功或失败都会弹窗提示,并显示接收端返回状态。

更顺手的配置体验

  • 地址与请求方式并排展示,请求头编辑更紧凑,保存与测试按钮集中排列,配置更容易检查。
  • 模板参考与编辑区同页展示,宽屏左右并排,点击即可复制占位符或示例,方便边查阅边编写;说明独立滚动,保存与测试按钮位置稳定。
  • 改善升级兼容性,继续保留个人配置和历史配置自动迁移能力。

Generated from v1.3.0

发布于查看详情

仿 X 开屏加载页(1.12.9)
打开任何页面时,先显示一整屏居中的站点标识(背景跟随当前配色),页面就绪后快速淡出 —— 就是 X App 启动画面那个感觉。

标识不写死:自动跟随「账号信息与标识」里的设置 —— X Logo / 自定义图片 / 文字 + 副标题
脚本正常时:页面就绪 150ms 后主动淡出并移除
脚本不可用时:CSS 动画 3 秒兜底,任何情况下不会把访客堵在开屏页
系统开了「减弱动效」:直接跳过开屏
开屏显示时机可选(1.12.10)
上一版加了仿 X 的开屏加载页,这一版把「什么时候显示」也做成了设置 —— 主题设置 → 布局 → 开屏显示时机:

选项 行为
仅首次访问(默认) 每个浏览器会话只在打开站点时显示一次;站内跳转、刷新都不再出现
每次加载都显示 每打开一个页面都显示(上一版的行为)
「仅首次」在 里就做完了判断(body 里的开屏元素还没解析就已经决定去留),跳过时零闪烁;浏览器存储不可用时静默退化为每次都显示,不影响进入页面。

设置结构重排(1.12.11)
设置页从 6 组整理为 8 组,每组各管一摊,找东西不用再翻长列表:

组 管什么
外观配色 配色、字号、圆角
账号信息与标识 logo、头像、资料、封面与认证
布局 栏位显示、右栏卡片、开屏
内容展示(新) 统计数、封面、时间线形态、阅读时长、加入日期
功能开关 点赞、评论、搜索、趋势、编辑资料
瞬间(新) 投稿入口、站内发布、评论组设置
导航自定义 导航项、菜单、自定义条目
地址与登录入口 登录注册入口与各页面地址
原来的「内容与交互」一坨 15 项(点赞、封面、瞬间、通知全混在一起),现在按职责拆成了三组。

升级注意
设置项的分组名是配置的存储键。这次挪过组的 12 项都做了过渡回退——升级后在你保存设置之前,行为和旧版完全一致,不用急着重新配置。

但在后台保存过一次设置之后,如果你以前改过这 12 项里的某几项(主要是:时间线形态、瞬间投稿相关、首页发帖入口、导航里的瞬间 / 通知开关),建议顺眼核对一下,个别项会以默认值显示。

安装
下载 halo-theme-x-1.12.11.zip → Halo 后台 外观 → 主题 → 安装主题。要求 Halo >= 2.26.0。

本主题的绝大部分代码由 WorkBuddy(模型 DeepSeek V4.1 Flash) 生成,人工负责提出需求、审阅与验收。

发布于查看详情

右栏可以自己加卡片了;顺带修掉两个「会跟着帖子滚走」的栏。

新增:右栏自定义卡片
主题设置 → 布局 → 右栏自定义卡片,卡片式条目,可自由增删、拖动排序,想加几张加几张。显示在右侧栏账号卡片的下方。

每张卡片三样东西:

字段 说明
标题 留空则没有标题行
内容 多行文本,换行按原样显示
链接 可留空;链接文字不填时显示「了解更多」,外链自动新窗口打开
标题、内容、链接全空的条目不会渲染 —— 所以升级之后右栏外观不会有任何变化,想用了随时加。

卡片外壳复用现有的卡片体系,和账号卡片、「正在发生」摆在一起观感一致。

修复:两处「跟着帖子滚」的横栏
① 右栏(桌面端第三栏)会跟着帖子流一起滚走,滚两屏右边就空了。

根因:.x-app 是 align-items: flex-start 的 flex 容器,右栏外壳 .x-rail__inner 只有内容那么高 → 里面 sticky 的包含块跟着变矮 —— 粘了,但一滚就到底。修法是给外壳补 align-self: stretch,让它撑到与主栏等高。

② 作者页「帖子」tab 栏也会跟着滚。主页、瞬间页的 tabs 都长在顶栏内部、跟随整体固定,唯独作者页这条独立在资料区之外,压根没做吸顶。现在它粘在顶栏下沿(与归档页的年份标题同一套路),滚过资料区后就一直可见。

这次怎么验证的
先在线上站点「注入修复样式」做 A/B,滚动到多个位置对比坐标;再用改后的真实 CSS 替换线上样式、逐页滚动核对:右栏恒 0 不动,作者页 tab 栏滚到 54px 后停住,左栏 / 顶栏 / 归档年份栏不受影响。

新增的卡片功能走真实 Thymeleaf 渲染测试(弹层工程在 .probe/tplcheck):全空条目过滤、链接文字回退、多行换行都验证过,最后把渲染结果注入线上右栏截图确认了视觉。

顺带查清了一个一直没坐实的技术点:Halo 的 theme.config 实际是 JsonNode,但 Halo 给模板求值注册了 JsonPropertyAccessor,所以设置项用 item.field 这种点号写法是官方支持的 —— 自定义导航、账号菜单一直就这么工作的。

安装
下载 halo-theme-x-1.12.8.zip → Halo 后台 外观 → 主题 → 安装主题。要求 Halo >= 2.26.0。

本主题的绝大部分代码由 WorkBuddy(模型 DeepSeek V4.1 Flash) 生成,人工负责提出需求、审阅与验收。

发布于查看详情

此版本要求 Halo ≥ 2.27.0。

新特性

  • 支持订阅商品,提供套餐与周期选择、试用及套餐切换,并在购物车、结算和支付页面展示订阅信息
  • 支持游客下单、支付和查看订单,可通过邮箱重新获取订单访问链接
  • 支持手机浏览器中的微信 H5 支付

功能优化

  • 批量加载页脚菜单,减少菜单查询次数
  • 商品购买数量适配库存和单笔限购,购物车自动排除询价商品参与结算
  • 完善结算失败重试、提交状态和支付查询超时提示

问题修复

  • 修复移动端商品详情页横向溢出的问题

开发者相关

  • 适配 Halo 页面布局接口,插件前台页面可复用主题布局
发布于查看详情

Rackora v0.9.7

本次调整

  • 新安装默认使用简体中文,主题界面语言默认为“简体中文”,网站语言默认为 zh-CN。
  • 已安装站点保留原有语言设置,不受本次默认值调整影响。
  • 主题详情中的描述恢复为英文。

使用说明

  • 兼容 Halo 2.20.0 及以上版本。
  • 如需英文界面,请在主题“基础”设置中将主题界面语言设为 English,并将网站语言改为 en-US。

前台页面

home-light
home-dark
home-mobile
about
archives
category
post
tags

后台设置

console-theme-detail
settings-basic
settings-appearance
settings-sidebar
settings-post
settings-plugins
settings-seo
settings-analytics
settings-ads
settings-filing

发布于查看详情

体验改进

  • Webhook 正文现在可以按个人需求编排:在用户中心填写 JSON 模板后,可把通知标题、正文、接收人、主题信息和扩展属性组合成适合自己系统的请求格式。
  • 模板支持占位符和类型保留,既能生成简单的标题消息,也能直接传递结构化主题与属性;设置页同时提供可复制的字段示例,降低接入成本。
  • Webhook 配置按用户独立保存,用户数量增长不会让单个配置对象持续膨胀;旧版本配置会在插件启动时自动迁移,升级过程无需重新录入地址。
  • 用户删除后会自动回收关联的 Webhook 配置,重新注册同名用户也不会继承历史地址或模板。

Generated from v1.2.0

发布于查看详情

此版本要求 Halo 2.27.0 或更高版本。

新特性

  • 支持复制评论和回复的固定链接,打开链接可直接查看对应讨论 by @ruibaby in #246
  • 支持拥有评论管理权限的用户在前台编辑评论和回复 by @ruibaby in #247
  • 支持将回复设为私有 by @ruibaby in #258

功能优化

  • 优化 Console 评论图片的尺寸限制,保持图片原始比例 by @ruibaby in #259
  • 将评论管理菜单中的“隐藏 / 取消隐藏”统一为“设为私有 / 设为公开” by @ruibaby in #260

开发者相关

  • 新增 --halo-cw-primary-contrast-color,支持自定义主色按钮的文字颜色 by @SinonJZH in #257
  • 新增 --halo-cw-content-img-max-width,支持限制评论内容中的图片宽度 by @ruibaby in #259

Full Changelog: v3.3.2...v3.4.0


Generated from v3.4.0

发布于查看详情
页
条 / 页