FIT2CLOUD

问题修复

  • 修复从 Halo 1.5 / 1.6 导入数据时,缺少页面评论数据会导致瞬间评论未被导入的问题
  • 修复从 WordPress 导入数据时,纯数字匿名评论作者导致解析失败的问题

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


Generated from v2.0.1

发布于查看详情

1.1.1

二次元少女风格的 Halo 2.x 博客主题。本次为多页面视觉升级、问题修复与工程优化。

✨ 页面美化

  • 标签页重做为「标签星空」:标签按文章数决定大小、自定义色或糖果色、散布浮动,并支持鼠标视差流动。
  • 友链页深度美化:圆形头像(无 logo 用首字母渐变兜底)、活泼动效、随机欢迎语、申请友链卡;侧栏友链增加「更多」入口。
  • 归档页改为活泼竖向时间线(渐变彩线、呼吸节点、逐条入场)。
  • 分类页美化(糖果色条、悬停动效、逐块入场)。
  • 归档 / 分类 / 友链 / 关于 页头统一为「呼吸光环」风格,关于页光环加樱花装饰。

🐛 修复

  • 站外链接跳转确认:倒计时秒数设为 0 时,现在「弹出确认页后即可立即点击跳转」。
  • 文章内 Mermaid 流程图恢复正常渲染:主题内置 mermaid(不再依赖插件前端资源路径),并支持切换明暗模式时自动重新着色。
  • 底部悬浮控件(音乐、回到顶部、看板娘缩小按钮)改为根据页脚高度自动上移,滚动到底部时停靠在页脚内侧。
  • 悬浮音乐控件在移动端默认隐藏(手机访问存在兼容性问题)。
  • 修正顶栏与页面标题中爱心图标偏小的问题。

♻️ 优化

  • 新增 browserslist 配置,浏览器厂商前缀(含 Safari 的 backdrop-filter、sticky 等)改由 autoprefixer 统一自动补全。
  • 移除未使用的 postcss-nested 依赖;移除过时的 IMPORTANT_README.txt,构建说明统一以 README 为准。

✅ 适配

Halo 2.14.0 及以上版本。


完整说明见仓库 README。


Generated from v1.1.1

发布于查看详情

新增顶部“声场”音乐播放列表,支持顺序播放、列表切换及播放状态同步。
新增精致的文章分享面板,支持复制链接、二维码和系统分享。
新增视频发布时自动提取首帧封面的基础能力。
新增声场播放列表及音乐缓存相关主题设置项。
重新设计评论表单布局、交互状态和移动端显示效果。

优化音乐封面预加载与切歌衔接,减少切换歌曲时的封面闪烁。
优化无歌词歌曲的播放入口,避免歌词缺失时无法播放。
优化 iPhone 系统分享按钮的触发稳定性。
优化评论预览、回复及异步加载体验。
优化瞬间图片加载状态,修复部分图片裁切和顶部异常留白问题。
优化 iOS 视频播放前的首帧预览兼容性。
优化首页深色模式按钮与回到顶部按钮的独立显隐逻辑。
优化 PJAX 页面切换后的播放器、分享面板和媒体组件初始化。
优化图片查看器、提示信息和多项细节动画。

重构声场面板交互与动画,优化桌面端和移动端展开体验。
视频尺寸改为根据横屏、方形和竖屏比例自动适配。
改进封面视频加载、回退策略和浏览器兼容性。

修复音乐瞬间与声场播放器同时使用时的状态冲突、歌词闪烁及错误选中问题。
修复瞬间视频轻微黑边问题。

发布于查看详情

Full Changelog: v1.5.4...v1.6.0

feat:新增句子相似度检查功能

该提交新增了完整的句子相似度检查功能:

  1. 添加 SimilarityConfig 及其服务接口
  2. 实现基于余弦相似度和 Jaccard 相似度算法的相似度检查服务
  3. 支持定时自动检查任务
  4. 新增后端管理接口及 UI 页面
  5. 增加权限控制与插件设置
  6. 更新相关文档及角色模板

Generated from v1.6.0

发布于查看详情

halo-theme-cosolar v1.0.3

✨ 新功能

文章缺省封面图:

  • 新增 default_post_cover 配置项,文章未设置封面时自动显示默认图片
  • 内置 default_post_cover.png 作为兜底,也可在后台自定义上传

🔧 优化

  • 字体设置、图标设置移入「主题样式」分组,设置项更集中
  • 分组名称调整:样式设置 > 主题样式,精选文章 > 精选轮播
  • 重写 README,分步骤讲解每一组配置的使用场景

🐛 修复

  • 修复文章详情页默认封面图不显示的问题(th:if 与 th:with 优先级问题)
  • 修复 @{...} 嵌套在 ${...} 内导致的 SpEL 解析错误
  • 修复博主名字右上角创作者角标的显示逻辑
发布于查看详情

新增与优化,建议升级

  • 新增世界频道首屏聚合,减少首屏多接口并发请求。
  • 友链管理页改用聚合接口加载核心数据,移除分散请求链路,提高加载速度。
  • 星链资讯页面优化数据加载链路,减少重复请求,修复部分 RSS 来源列表重复展示和加载不稳定问题。
  • 世界频道新增历史阅读位置提示,可快速回到上次阅读位置;同时优化未读提示、@ 提醒、自定义表情包、成员列表、右键 @TA、引用消息等交互。
发布于查看详情

halo-theme-cosolar v1.0.2

✨ 新功能

侧边栏新增模块:

  • 公告栏 — 在博主信息下方展示公告内容,支持 HTML 富文本,可插入链接和图片
  • 热门标签(词云) — 替代旧列表模式,标签字体大小随文章数自动变化,带浮动起伏动画和悬停放大效果
  • 公众号二维码 — 在侧边栏展示微信公众号二维码图片,可自定义图片和下方文字

博主信息卡片增强:

  • 背景图模式下,遮罩层颜色和透明度现可在后台独立配置
  • 博主栏文字颜色可自定义(浅色/深色模式分别配置)
  • 深色模式遮罩默认透明度提升至 0.45,阅读体验更佳

社交图标更新:

  • 掘金、CSDN、知乎图标更新为官方新版 logo,更清晰现代

🐛 修复

  • 修复博主名字右上角创作者角标的显示逻辑

📖 文档

  • 重写 README,分步骤讲解每一组配置的使用场景
  • 侧边栏各模块说明同步更新

⚡ 升级提醒

升级后建议进入 主题设置 > 侧边栏设置,查看新增的公告栏、标签云和公众号二维码配置项,默认均为关闭状态,按需开启即可。

Snipaste_2026-07-10_15-12-09

发布于查看详情

v1.0.3

新增

  • 同步完成后自动反向清理:删除 Halo 中图床已不存在的失效附件

优化

  • 同步 API 增加显式登录鉴权,未登录返回 401
  • 同步异常时直接输出精确错误原因,不再显示"正向同步完成 — 成功 0 张…"等无意义汇总
  • 前端样式改用 CSS 自定义属性,支持 Halo 主题变量
发布于查看详情

功能优化

  • 优化后台瞬间列表「跳转到前台」按钮样式

问题修复

  • 修复超过 200 条瞬间时搜索索引只同步第一页的问题 by @ruibaby in #188
  • 修复关闭附件库后再次打开状态未重置的问题 by @ruibaby in #189
  • 修复没有发布瞬间权限的用户仍看到瞬间通知设置项的问题
  • 修复瞬间作者不存在时 RSS 输出与主题渲染报错的问题 by @Tim0x0 in #191

Full Changelog: v1.16.0...v1.16.1


Generated from v1.16.1

发布于查看详情

What's Changed

新功能

  • 新增访客配色选择器. 可在 全局样式 -> 启用访客配色切换 开启

修复

  • 修复默认模式为 "跟随系统" 时覆盖访客已保存主题模式的问题
  • 修复错误页面的 "返回首页" 按钮无法正确跳转的问题

样式

  • 新增纯黑白 paper 配色
  • 优化 ink 配色的文字对比度
  • 更新内置像素字体

杂项

  • 调整主题设置顺序及帮助说明
  • 修正 Makefile 构建依赖与清理逻辑
  • 升级构建依赖
  • 优化配色样式结构, 减少重复定义

Full Changelog: 2.4.0...2.5.0


Generated from 2.5.0

发布于查看详情

优化

  • 图谱只展示一个 Article Insight Graph,不再做多个摘要视图、TL 列表、DL 卡片页或摘要 Tab。
  • 用户互动不再作为图谱节点生成,改为节点浮层里的操作按钮,图谱结构更干净。
  • 前台支持图谱后台生成轮询,生成完成后自动刷新展示,无需用户手动刷新页面。
  • 节点标题做短标题展示,完整标题进入详情浮层,减少长标题导致的重叠和拥挤。
  • 优化洞察图谱 UI:透明画板、自适应布局、折叠态、移动端适配、深色模式适配。
  • 后台预览样式与前台图谱渲染逻辑保持一致,减少前后台视觉偏差。

Full Changelog: 4.0.3...4.0.4


Generated from 4.0.4

发布于查看详情

v1.0.2

  • 重构:包路径从 run.halo.oneimg 迁移至 io.github.alonenannan.oneimg
  • 优化:附件上传 RestTemplate → WebClient,支持响应式非阻塞
  • 文档:更新 README 目录结构与技术架构说明
发布于查看详情

功能优化

  • RAG 知识库表单新增常用 Embedding 维度预设,并支持搜索选择和自定义输入。

问题修复

  • 修复 RAG 检索来源中空元数据字段可能被带入引用信息的问题。
  • 修复高维向量批量索引时可能触发响应缓冲区溢出的问题,索引会按有效批量自动拆分并重试。
发布于查看详情
  • 适配 Halo 2.25.3 控制台前端依赖,修复新版 Halo 下可能出现的控制台加载异常。
  • 增强实时通知链路:支持 WebSocket、SSE 与事件补偿拉取自动切换。
  • 修复世界频道消息气泡中星系名称显示不准确的问题。
发布于查看详情

详情请参阅更新日志(在 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.

发布于查看详情

新增

  • 新增 洞察图谱 功能,用于将文章内容结构化为 TL 主题节点和 DL 深挖节点。
  • 新增洞察图谱独立设置项,支持控制:是否启用洞察图谱
  • 是否在文章页显示洞察图谱
  • 是否访问文章时自动生成
  • 控制台新增洞察图谱页面,可选择文章并预览已生成的图谱。
  • 控制台预览改为 Vue 本地渲染图谱,支持节点点击查看详情。
image

Full Changelog: 4.0.2...4.0.3


Generated from 4.0.3

发布于查看详情

新增个人资料卡页面
完善了文章页面
后台新增资料卡设置
后台新增限制微信/QQ 内置浏览器访问设置
后台新增移动端显示比例设置
后台桌面内容宽度设置

发布于查看详情

修复:长图折叠功能多项缺陷

  • 包裹容器居中:长图折叠容器与主题图片保持一致居中,不再错位偏左
  • 折叠态渐变遮罩:折叠时图片底部新增渐变遮罩,提示下方仍有内容
  • sticky 失效降级:若主题导致 sticky 失效,自动降级为 absolute 定位
  • 折叠判断与展开动画优化:折叠判定由图片原始像素高度改为页面实际渲染高度,修复窄列中图片被 CSS 缩放后仍被包裹、折叠态与原图无差异的问题
发布于查看详情

新增

  • 黑/白名单批量操作 — 支持多选、全选、批量添加/移除评论者,弹窗支持从历史评论者多选和手动输入
  • 全局页面AI回复开关 — 一键启用/禁用所有独立页面的AI回复(包括新建页面),默认关闭
  • 语言要求提示词模块 — 新增第五个提示词模块 languageRequirement,可自定义多语言回复规则
  • 已拦截数统计 — 首页概览卡片新增已拦截数统计(已失败和待审核之间)
  • AI Foundation 智能状态检测 — 区分未安装/未启用/未配置模型三种状态,提供对应快捷跳转按钮
  • 手动清理自定义时间节点 — 手动清理支持自定义清理天数(默认7天前),二次确认弹窗防误操作
  • 实时刷新偏好持久化 — 日志页实时刷新开关和刷新间隔通过 localStorage 自动保存,默认开启10秒间隔
  • 配置导入导出 — 支持将插件配置(ConfigMap + AI角色)导出为 JSON 文件,方便备份和迁移

改进

  • “提示词"改为"人格提示词” — AI角色编辑弹窗中的提示词改名为人格提示词,留空时使用基础配置的 personaIdentity
  • 配置项重构 — 最大重试次数(0为不重试,最大10,默认3)、最大对话轮次(0为不限制,默认10)、速率限制(0为不限制,默认0/h)移至基本设置,滑条改为输入框,模型设置中删除重复项
  • 提示词均为可选项 — 五个提示词模块均标注"(可选)",留空使用默认值
  • 白名单文案修正 — 删除"管理员自动加入白名单"的显示文案(实际不支持自动加入)
  • 手动清理区域样式优化 — 红色危险主题卡片式布局,输入框组与按钮高度对齐
  • 分类角色映射迁移 — 从模型设置组迁移至 AI 角色配置组(persona)
  • 瞬间评论 group 校验 — Moment 评论判断增加 group 双重校验,避免误判同名资源

移除

  • 回复质量自学习功能 — 因正常情况下不会被拒绝且已有自动审核,移除 ReplyLearningService 及所有相关引用
  • 提示词预设开关 — 移除设置页内的提示词预设开关(友好型/专业型/幽默型/简洁型),预设模板保留在文档中

Bug 修复

  • 修复配置导入 400 Bad Request — 导入时清除 persona 的 labels、annotations 等只读 metadata 字段
  • 修复所有注册用户绕过白名单过滤 — WhitelistService 中 isRegisteredUser 改为 isAdminUser,只检查 super-role 和 role-admin
  • 修复 getAdminList 误标管理员 — 改为只匹配 role-admin 角色的用户
  • 修复手动输入评论者无法添加 — addManualEntry 方法实际将条目加入选中列表
  • 修复手动输入框回车触发表单提交 — 添加 .prevent 修饰符
  • 修复 AI Foundation 状态显示不正确 — 未配置模型时不再错误显示"连接正常"
  • 修复 Comment Next 冲突提醒不显示 — 增强检测逻辑支持多种插件名称模式
  • 修复 AI Foundation 插件跳转路径 — 从 /console/plugins/plugin-ai-foundation 改为 /console/plugins/ai-foundation
  • 修复前端导入错误提示不显示 — 显示实际错误信息而非通用的"导入失败"
  • 修复 categoryPersonaMap 配置分组不一致 — 新增 persona 配置组,前端正确读写
发布于查看详情

1.0.9

二次元少女风格的 Halo 2.x 博客主题。本次为功能新增与问题修复。

✨ 新增

  • 适配 Halo「文本绘图」插件,支持渲染 Mermaid 流程图,并跟随明暗模式与主题色自动重新着色。(感谢 @pandyzhou 贡献 PR #7)
  • 补充 Halo 插件扩展注入点(<halo:head/> / <halo:footer/>),提升与各类 Halo 插件的兼容性。

🐛 修复

  • 用户菜单「退出登录」改用标准 POST + CSRF 方式:直接登出、不再弹确认页、不再 403。
  • 修复留言墙页面的层级问题:音乐控件遮挡发布窗口、发布窗口遮挡顶栏菜单。
  • 修复头像卡个人签名为空时可能出现的控制台报错。

✅ 适配

Halo 2.14.0 及以上版本。


完整说明见仓库 README。


Generated from v1.0.9

发布于查看详情
  • 新增插件迁移状态基线,持久化记录运行版本、最近成功版本、数据结构版本、已应用迁移和待迁移项。
  • 新增控制台迁移状态查询与预检查 API,为后续跨大版本和小版本数据迁移提供入口。
  • 补充迁移状态权限节点、RBAC 角色模板、后端 API 合同、产品定义和结构化清单文档。
  • 版本号递增至 2.3.23。

Generated from v2.3.23

发布于查看详情

新特性

  • 支持通过 [!code fold:start] / [!code fold:end] 标记折叠代码块,并支持未闭合标记的尾部折叠 by @ruibaby in #31

功能优化

  • 调整 Console UI 资源输出目录以适配 Halo 2.25 插件资源结构 by @ruibaby

开发者相关

  • 升级 Halo 平台依赖至 2.25,并将插件最低 Halo 版本要求调整为 >=2.25.0 by @ruibaby
  • 升级 Gradle、Halo 插件开发工具、Rsbuild、Shiki 等构建和前端依赖 by @ruibaby

Full Changelog: v1.3.2…v1.4.0


Generated from v1.4.0

发布于查看详情

Full Changelog: v1.5.1...v1.5.2

feat(hitokoto-hub): 新增连续提交上限配置与提交配置接口

  1. 新增submissionBatchLimit提交配置项,限制单IP冷却周期内连续提交次数
  2. 添加获取提交配置的公共API端点,用于前端动态隐藏提交按钮
  3. 更新RBAC权限规则,新增sentence-submission/config资源权限
  4. 优化提交冷却逻辑,支持按连续提交次数限流
  5. 更新前端模板,根据配置自动隐藏提交按钮
  6. 完善后台设置表单的条件显示与帮助文案

Generated from v1.5.2

发布于查看详情

Full Changelog: v1.5.0...v1.5.1

  • 新增AI生成日志实体字段与管理接口
  • 实现访客提交与AI日志的删除功能
  • 优化前端列表状态展示与删除交互
  • 更新README文档与权限配置
  • 调整前端弹窗z-index层级

Generated from v1.5.1

发布于查看详情

主要功能

  • 文档库管理:创建、编辑、删除文档库,支持描述与封面
  • 树形编排:在 Console 中拖拽调整目录树与同级顺序,支持父子层级与排序权重
  • Markdown 编辑:独立 Vditor 编辑器,支持从 Halo 附件库插入图片、附件与站内文档链接
  • 前台文档站点:提供 /docs、/docs/{librarySlug}、/docs/{librarySlug}/{docSlug} 页面,含侧边目录树与可配置布局的文档库首页
  • 阅读增强:正文大纲、滚动高亮、同库标题短链接跳转、移动端折叠目录,并跟随 Halo 主题切换
  • 搜索与 SEO:已发布文档接入 Halo 搜索,并输出页面级 SEO 元信息
  • 公共访问接口:仅暴露已发布文档的只读 API,避免草稿泄露
  • 备份与恢复:文档设置页支持导出 / 加载设置,快照含插件设置、文档库与文档 Markdown 内容
  • 自定义代码注入:支持在全局、文档库、单篇文档三个层级注入自定义 head / body 代码(HTML / CSS / JS),按 全局 → 文档库 → 文档 顺序叠加
  • 扩展点机制:对外开放 DocContentHandler(正文后处理)与 DocDetailModelHandler(阅读页 Model 注入)两个扩展点
  • AI 辅助编写:文档设置页提供「后台代码片段」与「扩展插件开发」提示词一键复制
发布于查看详情

首次公开版本

  • 基于 Halo AI Foundation 统一管理 Chat、Embedding、Rerank 和 Query Rewrite 模型能力
  • 提供 RAG 智能问答、AI 搜索、文章摘要、交互脑图与编辑器写作辅助
  • 提供意图路由、效果评测、内容缺口运营智能体及模型用量审计
  • 使用内置 Lucene 混合检索,无需额外部署向量数据库
  • 补齐应用市场要求的仓库、问题反馈、主页、许可证与自定义 Logo 元数据

安装要求

Halo >= 2.25.0,必须先安装并启用 Halo AI Foundation。

升级与迁移

这是应用市场首个公开版本。从早期 ai-assistant 插件升级时,插件会迁移兼容数据;Embedding 模型或向量维度变化后需要重建索引。

注意事项

模型调用可能产生第三方费用,站点内容会发送给管理员配置的模型服务商。

发布于查看详情

新增

  • 新增世界频道。
  • 支持已接入星系在同一世界频道内实时交流。
  • 支持消息发送、撤回、举报、禁言提示、自定义表情包、成员列表、成员详情、最近文章展示等能力。
  • 支持世界频道首次使用协议确认,由服务端下发协议内容。
  • 支持世界频道错误提示优化,违规内容、禁言、频率限制、表情包上传失败、撤回超时等场景会显示明确提示。

修复

  • 修复关系图首次渲染后球体不在视图中心的问题。
  • 修复关系图需要手动点击「重置」后才能看到完整球体的问题。
  • 修复关系图未点击渲染前仍可能看到图谱残影的问题。
  • 修复关系图节点提示展示“已接入 / 未接入”状态造成干扰的问题。

优化

  • 关系图改为手动点击「开始渲染」后再加载,避免进入页面后自动渲染造成性能消耗。
  • 关系图节点渲染上限提升至 5000。
  • 简化关系图「开始渲染」按钮样式。
发布于查看详情

1.0.7

二次元少女风格的 Halo 2.x 博客主题。本次为功能新增与体验优化。

✨ 新增

  • 导航栏右上角新增用户入口:未登录显示「登录」按钮,已登录显示头像并可展开用户菜单(控制台 / 个人中心 / 退出登录)。(感谢 @pandyzhou 贡献 PR #6)
  • 新增「顶栏-登录入口地址」设置,默认 /console,可按需改为 /login 等。

💄 优化

  • 用户菜单点击退出改为直接登出,不再经过系统确认页;下拉在移动端支持点击展开/收起,且不再遮挡顶栏。
  • 移除页脚的登录入口显示及其相关设置项(统一由顶栏用户入口承担)。

✅ 适配

Halo 2.14.0 及以上版本。


完整说明见仓库 README。


Generated from v1.0.7

发布于查看详情

halo-theme-cosolar 是一款为 Halo 2.20+ 打造的现代博客主题,专为技术写作者设计。它把"内容"放回舞台中央 —— 干净的排版、克制的动效、合理的留白,让代码与文字都能舒适呼吸。同时在小屏与移动端做了完整自适应:贴底毛玻璃操作栏、抽屉式目录、自动隐藏的侧边栏,让手机阅读体验与桌面端同样顺滑。

设计亮点

  • 🎨 青绿美学 — 默认主色 #10B981,可在后台一键换色,全站按钮 / 链接 / 标签 / 进度条联动
  • 🌗 暗色模式 — 跟随系统 / 强制浅色 / 强制暗色三档可切,导航与操作栏毛玻璃风格
  • 🖼️ 精选轮播 — 首页顶部卡片轮播,支持手动指定、自动播放、置顶回退
  • 🗂️ 分类导航 + 热门标签 + 近期更新 — 侧边栏模块化组件,可单独开关
  • 📚 文章目录(TOC) — 桌面端右侧悬浮跟随,移动端抽屉式弹出,1px 极细滚动条
  • 📊 阅读进度条 — 顶部 2px 彩色渐变,实时反映阅读位置
  • 🖱️ 图片查看器 — 文章图片点击放大,支持滚轮缩放 / 拖动 / 双击复位 / ESC 关闭,零依赖
  • 👍 点赞 / 评论 / 分享 / 回顶 — 文章页底部贴底毛玻璃横条,5 按钮平分宽度
  • 📱 移动端自适应 — ≤768px 侧边栏自动隐藏,导航汉堡菜单展开,操作栏贴底
  • ⚡ Vite 构建 — TypeScript + vite-plugin-halo-theme,产物精简,按模板分块

Snipaste_2026-07-05_08-53-53

发布于查看详情

修复Bug

  • 修复首页“生活回想”图片浮层描述直接显示瞬间插件富文本标签的问题,避免出现 <p style=""> 等 HTML 片段。
发布于查看详情

修复内容:

  1. src/assets/utils/toc.ts setActiveHeading 重写:

    • 分离 class 切换与滚动逻辑
    • 检查 active link 是否在 .toc 容器可视区域内
    • 检查 .toc 容器本身是否在视口内
    • 仅当 link 不可见且容器可见时才调用 scrollIntoView
    • 触摸设备仍跳过 scrollIntoView
  2. src/assets/styles/main.css 为 .toc 添加滚动上下文:

    • max-height: calc(100vh - 12rem)
    • overflow-y: auto 使其成为独立滚动容器
    • overscroll-behavior: contain 防止滚动链
    • OKLCH 滚动条样式与全局一致
发布于查看详情

⚠️兼容性升级至 Halo 2.25.0,不再支持更早版本


🛡️ 更新详情

  • 优化全局文章页面footer与内容适配空间

  • 部分feature组件回退1.2版本配置

  • 修复缩约图部分引入错误

  • 修复其它的一些小bug

发布于查看详情

修复

  • 修复 iPhone Safari 从地址栏首次打开网站时,视频封面偶尔无法播放的问题。
  • 优化页面从 document-hidden 切换到可见状态后的封面视频启动时机,避免 Safari 媒体加载器未准备好导致视频一直等待并回退到封面图。

优化

  • 增加视频封面恢复启动的调试日志,便于排查移动端浏览器的可见性和视频加载问题。
发布于查看详情

性能优化

  • 优化信息流评论 SSR 查询量,减少首页/瞬间页评论与回复的首屏查询压力。
  • 信息流图片改用 Halo 缩略图,九宫格、头像、音乐封面加载更轻量,点开大图仍查看原图。
  • 发布器与调试模块改为按需加载,普通访客不再提前下载发布相关脚本。
  • 优化音频卡片背景模糊实现,降低毛玻璃效果的渲染开销。

修复

  • 修复评论「展开」时短暂跳动的问题,展开全量评论时先离屏构建完整列表,再一次性替换。
  • 修复截断评论展开后全量昵称、回复、待审核状态与评论数量同步显示的问题。
发布于查看详情

详情请参阅更新日志(在 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.

发布于查看详情
  • 在封面区新增“强制 HTTPS 访问”开关。(开启后,HTTP 访问会自动跳转到 HTTPS,可减少 QQ/iOS 内置浏览器中视频封面声音异常、混合内容等兼容问题。)
发布于查看详情
  • 修复从首页进入文章页时,文章页偶尔短暂显示首页封面区域的问题。
  • 修复从文章页返回首页时,PJAX 恢复原浏览位置前会先跳到其它位置的问题。
  • 优化 PJAX 后退恢复逻辑,快照命中和重新拉取页面两种情况都会更稳定地恢复滚动位置。
  • 增加 PJAX 滚动恢复调试日志,便于排查极端情况下的返回定位问题。
发布于查看详情
  • 优化桌面端大屏显示效果:内容区、正文、卡片、顶栏、页脚、预载入页和悬浮按钮会随屏幕宽度连续适配,大屏阅读不再显得过细过长。

  • 优化音乐播放体验:顶部唱片按钮播放中支持根据当前音乐封面主色进行轻微变色,并加入更自然的颜色注入动画。

  • 优化音乐状态同步:改善音乐瞬间卡片、音乐播放器卡片和顶部唱片按钮在播放、暂停、切歌、PJAX 返回后的状态一致性。

  • 优化 Plus 点赞昵称加载:点赞昵称不再等待授权状态后才拉取,支持短缓存和批量请求,刷新页面时点赞昵称显示更及时。

  • 优化 PJAX 进入/返回稳定性,减少快速切换页面时的异常刷新和状态丢失。

  • 优化首屏预载入逻辑:点赞昵称预加载不再阻塞页面预载入结束,首屏进入更顺滑。

  • 调整音乐卡片、文章页、信息流、发布弹窗、归档弹窗等界面细节,使整体比例在不同桌面尺寸下更协调。

  • Plus 用户请确保 Morpho Plus 插件已更新到最新版。

发布于查看详情

v1.0.9 → v1.1.0 更新日志

🐛 Bug 修复

  • PJAX 导航后链接退化:replaceWith 替换 DOM 后未重新绑定点击事件,导致后续导航退化为整页加载
  • Alpine.js 不启动:条件启动导致从首页 PJAX 到文章页后所有 Alpine 组件失效
  • 暗色模式表格边框:缺少 --tw-prose-th-borders / --tw-prose-td-borders
  • package.json 尾逗号:导致 CD 构建失败
  • 文章卡片标题层级:<h1> 改为 <h2>,修复一页多 <h1> 的文档层级问题
  • 图标按钮缺 aria-label:搜索、用户菜单、返回顶部补上无障碍标签
  • 代码块颜色不跟随主题:硬编码改为 color-mix 从 --earthquake-surface 派生
  • 表格移动端溢出:添加 overflow-x: auto
  • 缺少键盘焦点样式:添加 focus-visible 全局样式

🚀 优化

  • 去掉内置高亮库:不内置 highlight.js / shiki,改为依赖 plugin-shiki,包体积 630KB → 325KB
  • 代码块 CSS 变量化:fuwari 风格 --codeblock-bg,暗色亮色独立控制
  • 注释清理:17 个文件去除冗余注释,源码 -7.2KB
  • 删除未用文件:article-layout.html、site-stats.html、qrious.min.js、image-preview.ts、github-markdown.css
  • 截图全量 WebP:2.6MB → 742KB
  • 热门文章数量:范围 1-9

🏗️ 架构

  • 侧边栏 Widget 动态加载:恢复 v1.0.9 原始动态拼接方案,th:if / th:unless 互斥保证不重复渲染

📄 文档

  • README 重写:WebP 截图、特性更新、plugin-shiki 依赖说明

🏷️ 版本

  • 1.0.9 → 1.1.0
发布于查看详情

重要变更

此版本移除了模型配置,统一使用 Halo 官方提供的 AI Foundation,所以在升级之后所有模型需要在 AI Foundation 配置,并且功能模型选择都需要重新设置。基于 AI Foundation 的好处:

  1. 提升模型厂商的兼容性,解决之前无法配置模型 API 后缀的问题
  2. 后续仅需在 AI Foundation 中统一管理模型,不用在各个插件中额外配置

建议升级步骤

  1. 安装 AI Foundation 插件并启用
  2. 在 AI Foundation 页面配置所需模型
  3. 检查 AI 助手插件配置,在开启的 AI 功能中重新设置模型
发布于查看详情

style(css): 更新文章标题样式并添加图标标记

  • 在 .gitignore 中添加 /.playwright-mcp/ 忽略目录
  • 替换原有的标题索引计数器为 SVG 图标标记系统
  • 为所有标题级别 (h1-h6) 添加自定义 SVG 图标和标记样式
  • 移除原有的数字计数器显示,改用视觉化的图标标记
  • 调整标题的内边距和定位以适应新的图标系统
  • 定义新的 CSS 变量控制图标大小、间距和颜色渐变效果

feat(content): 添加表格内容增强功能并更新主题版本

  • 新增 content-tables.ts 模块处理表格样式增强
  • 添加表格标题、边框、滚动条等样式定义
  • 实现表格包装器重用逻辑优化
  • 更新主题版本号至 1.0.0-beta9
  • 优化表格渲染性能和视觉效果
  • 添加对 Halo 编辑器表格的支持识别

Full Changelog: 1.0.0-beta8...1.0.0-beta9


Generated from 1.0.0-beta9

发布于查看详情

新增

  • 新增助手运行模式配置:
    • 纯宠物
    • RAG + Agent
    • RAG
    • Agent
  • 支持在不启用 RAG 的情况下单独使用 Agent 对话。
  • RAG 索引任务新增「强制停止」和「强制重新索引」操作。
  • PetDex 支持反向代理域名配置,方便国内服务器加载宠物资源。
  • 支持将宠物资源保存到 Halo 附件库,可配置附件分组和存储策略。
  • RAG 索引支持按文档批量处理,降低大知识库重建时的超时风险。
  • 支持导入后仅对本次导入文档执行增量索引。

优化

  • 纯宠物模式下不再打开对话面板,并根据模式展示不同宠物气泡文案。
  • RAG 索引进度提示更清晰,展示当前批次、分块数量和执行状态。
  • Embedding 调用增加批量大小、并发数、重试次数和单批超时配置。
  • RAG 索引任务最多重试 3 次,避免异常时一直重建。
  • 对 Embedding 模型不支持、认证失败、模型或接口不存在等配置类错误,直接终止任务,不再无效重试。
  • Agent 工具调用链路增加更完整的日志上下文,便于定位模型工具流兼容问题。

修复

  • 修复关闭 RAG 后 Agent 无法单独使用的问题。
  • 修复 RAG 索引异常时任务状态可能持续停留在运行中的问题。
  • 修复插件停止或重载时 RAG 索引任务仍可能继续更新状态的问题。
  • 修复部分场景下 RagIndexTask 扩展索引不可用导致后台反复报错的问题。
  • 修复 PetDex 资源在国内环境加载不稳定的问题。
    Full Changelog: 4.0.1...4.0.2

Generated from 4.0.2

发布于查看详情

序白 Alba 1.3.0 重大更新:更强、更美、更易用

一句话概括:从「可配置的主题」进化为「可视化搭建的设计系统」
适用版本:Halo 2.25.0+ | 发布时间:2026 年 7 月


🎉 给您带来的核心价值

维度 升级前 (1.2) 升级后 (1.3) 您的收益
搭建效率 看文档、对照代码、反复试错 后台直接看缩略图选布局 配置时间缩短 70%+
页面表现 固定几种模板 17+ 种布局组合随心搭 覆盖 90% 落地页场景
移动体验 单一抽屉菜单 7 种移动菜单样式 手机端像 App 一样顺滑
视觉冲击 静态页面 动态背景 + 60fps 动画 访客停留时长显著提升
加载速度 全量加载 300KB+ 按需加载,首屏 < 1.5s SEO 更友好,跳出率更低

✨ 核心新功能一览

1. 首屏 Hero 区:3 种风格,一键切换

风格 效果预览 适合场景
经典便当 网格轮播 + 右侧快捷入口 内容型站点、博客、资讯
全景画框 沉浸式大图 + 动态标题 作品集、摄影、设计展示
分屏视界 左右分屏联动切换 SaaS 官网、产品落地页、双栏对比

💡 后台操作:主题设置 → Hero 模块 → 直接点缩略图选中即可,所见即所得

2. 特色区块:10 种专业布局,拖拽式搭建

布局类型 视觉特点 典型用途
基础图文 左图右文/浏览器模拟器 功能介绍、产品展示
卡片列表 两种卡片风格随意切 服务清单、优势罗列
磁贴轮播 大图配右侧标签切换 版本更新、案例轮播
网格布局 左大图右网格卡片 团队介绍、合作伙伴
分类橱窗 两级嵌套分类卡片 产品矩阵、课程目录
团队展示 头像/Logo 两种模式 关于我们、核心成员
画廊/跑马灯 评价轮播/无缝滚动 客户见证、品牌动态
行动召唤(CTA) 色块+多按钮 注册引导、下载入口
问答手风琴 经典/网格两种样式 常见问题、帮助中心
博客列表 内嵌 4 种文章样式 首页最新动态、专题聚合

🎯 零代码搭建:后台「Feature 模块」→ 添加区块 → 选缩略图 → 填内容 → 保存即时生效

3. 移动端体验:像原生 App 一样丝滑

  • 7 种菜单样式:从极简「返回首页」到复杂「矩阵/磁贴/卡片广告」
  • 双 Tab 导航:探索发现 / 用户中心,底部固定不遮挡
  • 触控优化:惯性滚动、防抖点击、手势友好
  • 响应式图片:自动适配 Retina/高 DPI 屏幕

4. 文章页全面进化

新能力 说明
3 种文章模板 经典/轴心分栏/时间轴 —— 换个风格像换主题
侧边栏 5 合 1 订阅区/目录/小组件/图片广告/文字广告随意切
评论双模式 主题精美样式 / Halo 原生样式 任选
分享重构 一键复制 + 微信二维码 + 精美弹窗动画
点赞/收藏/分享 固定侧边栏 + 悬浮按钮,交互不漏埋点

5. 动态背景:让页面「活」起来

  • 琥珀潮汐 —— 暖色粒子流,适合品牌、创意类站点
  • 流雾银辉 —— 冷色雾效,适合科技、极简风格
  • 一键开关,低配设备自动降级为静态色块

6. 归档/分类/标签页:专业级内容浏览

页面 新增布局 亮点
文章归档 3 种 时光轴/详情卡片/原版
分类目录 列表 2 种 + 详情 3 种 支持封面图、子分类展开、文章计数
标签云 列表 2 种 + 详情 3 种 7 天新增计数、热门 Top 10

📋 升级指引(给站长/运营)

⚠️ 重要提示

1.3.0 配置系统完全重写,旧版配置无法自动迁移
升级后需重新在后台配置一次,建议预留 30-60 分钟

升级步骤

  1. 备份现有配置:后台 → 主题设置 → 导出配置(保存 JSON 文件)
  2. 升级 Halo:确保版本 ≥ 2.25.0
  3. 安装新版主题:上传 theme-alba-1.3.0.zip 或从应用市场更新
  4. 按顺序重新配置(建议顺序):
    • 🌐 全局设置 → 网站信息、Logo、动态背景、配色
    • 🎬 Hero 模块 → 选 3 种风格之一,上传轮播图
    • ✨ Feature 区块 → 点击「添加区块」→ 选缩略图 → 填内容
    • 📝 Blog 模块 → 选 4 种列表样式之一
    • ❓ Q&A 模块 → 选经典/网格,录入常见问题
    • 🧩 Widget 模块 → 便当数列/胶囊悬浮(页脚替代品)
    • 📱 Mobile 菜单 → 选 7 种样式之一
    • 📚 归档/分类/标签 → 各选喜欢的布局
    • 📖 文章配置 → 侧边栏样式、评论模式
    • 🦶 Footer → 页脚内容(支持 HTML)

常见问题

问题 解答
旧配置会丢吗? 可能会,Halo 只保留旧版同名元数据配置,需提前导出配置,后续可切回 1.2.0 恢复
需要懂代码吗? 完全不需要,全程可视化点击配置
会影响收录/SEO 吗? 不会,HTML 结构更语义化,加载更快,对 SEO 有利
手机端会乱吗? 1.3.0 专门强化了移动端,7 种菜单任选一款即可完美适配
可以先试用吗? 建议在测试站/本地先体验,确认无误再上线

🎯 适用场景推荐

您的站点类型 推荐配置组合
个人博客/技术博客 Hero: 经典便当 + Feature: 基础图文/卡片列表 + Blog: 列表样式
企业官网/产品落地页 Hero: 分屏视界 + Feature: CTA/网格/团队 + Widget: 胶囊悬浮
作品集/设计师/摄影 Hero: 全景画框 + Feature: 画廊/磁贴 + 文章: 轴心模版
知识库/文档/帮助中心 Hero: 经典便当 + Feature: 问答/分类橱窗 + 归档: 时光轴
资讯/新闻/内容聚合 Hero: 经典便当 + Feature: 博客列表/卡片 + 侧边栏: 订阅区

📊 性能对比(实测数据)

指标 1.2.0 1.3.0 提升
首屏加载 (LCP) ~2.8s ~1.3s 53% ↓
交互就绪 (TTI) ~3.5s ~1.8s 49% ↓
累积布局偏移 (CLS) 0.12 0.02 83% ↓
移动端性能分 72 94 +22 分
首包体积 303KB ~85KB 72% ↓

测试环境:Halo 2.24 / 2核2G / 启用 CDNginxgzip + 静态资源CDN


序白 Alba 1.3.0 —— 让搭建网站像搭积木一样简单,让访客体验像用 App 一样流畅。

ThemeNets 创意驱动新视界

发布于查看详情

详情请参阅更新日志(在 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.

发布于查看详情

v4.0.0

Tip

此版本为重大更新,插件正式更名为「智阅全能AI助手」。

当前版本依赖 AI 基座 插件,请先安装并启用 AI 基座,并配置可用模型。

Warning

此版本为破坏性更新,升级后需要重新配置插件。

v4 对前台助手、RAG 知识库、Agent 能力、对话配置和部分样式配置进行了重构。旧版本配置可能无法完全兼容,请升级后进入插件设置重新检查并保存配置。

使用知识库能力前,建议重新导入资料或执行一次重建索引。

新增

  • RAG 索引支持按文档批量处理,可配置每批文档数量,降低大知识库重建索引时的超时风险。
  • RAG 支持增量索引,导入文章或文档后可只索引本次新增内容,无需每次全量重建。
  • 前台助手新增显示模式:宠物 + 对话、仅显示宠物。
  • 宠物气泡文案支持按显示模式分别配置。
  • AI 助手访问模式扩展为 4 种:匿名对话、匿名对话 + Agent、登录对话、登录对话 + Agent。
  • PetDex 新增反代域名配置,支持国内服务器通过反向代理加载 PetDex 资源。
  • PetDex 新增附件库本地化配置,可选择 Halo 附件分组和存储策略,导入宠物时自动将资源保存到附件库。

优化

  • PetDex 宠物库、控制台预览和前台展示统一使用反代或本地化后的资源地址。
  • PetDex 反代支持同路径代理和 {url} / {encodedUrl} / {path} 模板。
  • 仅宠物模式下隐藏对话入口和问答相关交互,避免用户误触打开对话框。
  • RAG 索引任务状态和处理流程更适合大批量文档场景。

修复

  • 修复仅宠物模式下仍可能打开对话框的问题。
  • 修复宠物模式切换后气泡文案不够匹配的问题。
  • 修复部分国内环境无法直接加载 PetDex 远程资源的问题。

注意事项

  • 开启 PetDex 附件库本地化后,新导入的宠物会自动使用本地附件资源。
  • 已导入的旧 PetDex 宠物需要重新导入,或重新保存一次,才会转换为附件库资源。

Full Changelog: 4.0.0...4.0.1


Generated from 4.0.1

发布于查看详情

更新内容

  • 修复 JSON 注入 script 标签导致的存储型 XSS。
  • 修复外部日历 URL 无校验导致的 SSRF。
  • 修复本地条目无界重复展开导致的 DoS。
  • 修复 CSS 样式属性颜色值注入。
  • 修复已禁用日程可通过直接名称引用访问。

Generate from v3.3.0

发布于查看详情
  • 优化 AI 自动审核判断,用户名、来源身份、站点等信息会纳入审核上下文。
  • 管理员/可信用户的评论不再被 AI 拦截;友情链接申请等可信场景不会误入拦截。
  • 新增 AI 拦截记录的手动复核通过能力:通过后评论/回复恢复已审核,并清理对应拦截记录。
  • 修复后台评论编辑器展示不完整、表情面板尺寸和回复弹窗定位异常的问题。
  • 修复举报记录详情弹窗点击详情后无法打开的问题。

Full Changelog: 1.0.4...1.0.5


Generated from 1.0.5

发布于查看详情

v4.0.0

Tip

此版本为重大更新,插件正式更名为「智阅全能AI助手」。

当前版本依赖 AI 基座 插件,请先安装并启用 AI 基座,并配置可用模型。

Warning

此版本为破坏性更新,升级后需要重新配置插件。

v4 对前台助手、RAG 知识库、Agent 能力、对话配置和部分样式配置进行了重构。旧版本配置可能无法完全兼容,请升级后进入插件设置重新检查并保存配置。

使用知识库能力前,建议重新导入资料或执行一次重建索引。

新增

  • 新增前台宠物助手,支持小窗与全屏会话。
  • 新增 RAG 知识库问答能力,可基于站内资料回答访客问题。
  • 新增站点 Agent 能力,可结合站内检索、页面内容和知识库协同输出。
  • 新增文章、页面、文档、Markdown、富文本和本地文件导入。
  • 新增批量文件导入,默认使用文件名作为标题。
  • 新增会话记录与 AI 调用日志。
  • 新增知识库导入任务状态、删除中状态和列表分页。

优化

  • 优化前台小窗和全屏对话 UI。
  • 优化助手名称、头像、欢迎语和主题配色读取逻辑。
  • 优化 Markdown 内容渲染。
  • 优化 Agent 与 RAG 的协作逻辑,避免重复输出。
  • 优化知识库导入交互,降低批量导入复杂度。
  • 优化后台列表样式,更贴近 Halo Console 标准体验。
  • 优化重建索引交互,将其作为高风险操作单独提示。

修复

  • 修复图片展示不完整的问题。
  • 修复部分列表缺少分页的问题。
  • 修复删除状态缺少刷新监听的问题。
  • 修复部分任务状态展示不准确的问题。
  • 修复资源 ID 展示不友好的问题。
  • 修复前台助手未正确展示插件配置头像的问题。
  • 修复 Agent 检索结果与 RAG 回答重复输出的问题。

升级说明

v4.0.0

Tip

此版本为重大更新,插件正式更名为「智阅全能AI助手」。

当前版本依赖 AI 基座 插件,请先安装并启用 AI 基座,并配置可用模型。

Warning

此版本为破坏性更新,升级后需要重新配置插件。

v4 对前台助手、RAG 知识库、Agent 能力、对话配置和部分样式配置进行了重构。旧版本配置可能无法完全兼容,请升级后进入插件设置重新检查并保存配置。

使用知识库能力前,建议重新导入资料或执行一次重建索引。

新增

  • 新增前台宠物助手,支持小窗与全屏会话。
  • 新增 RAG 知识库问答能力,可基于站内资料回答访客问题。
  • 新增站点 Agent 能力,可结合站内检索、页面内容和知识库协同输出。
  • 新增文章、页面、文档、Markdown、富文本和本地文件导入。
  • 新增批量文件导入,默认使用文件名作为标题。
  • 新增会话记录与 AI 调用日志。
  • 新增知识库导入任务状态、删除中状态和列表分页。

优化

  • 优化前台小窗和全屏对话 UI。
  • 优化助手名称、头像、欢迎语和主题配色读取逻辑。
  • 优化 Markdown 内容渲染。
  • 优化 Agent 与 RAG 的协作逻辑,避免重复输出。
  • 优化知识库导入交互,降低批量导入复杂度。
  • 优化后台列表样式,更贴近 Halo Console 标准体验。
  • 优化重建索引交互,将其作为高风险操作单独提示。

修复

  • 修复图片展示不完整的问题。
  • 修复部分列表缺少分页的问题。
  • 修复删除状态缺少刷新监听的问题。
  • 修复部分任务状态展示不准确的问题。
  • 修复资源 ID 展示不友好的问题。
  • 修复前台助手未正确展示插件配置头像的问题。
  • 修复 Agent 检索结果与 RAG 回答重复输出的问题。

升级说明

  • 要求 Halo >= 2.25.0。
  • 需要安装并启用 AI 基座 插件。
  • 升级后必须重新检查并保存插件配置。
  • 使用知识库能力前,建议重建索引或重新导入资料。
  • 要求 Halo >= 2.25.0。
  • 需要安装并启用 AI 基座 插件。
  • 升级后必须重新检查并保存插件配置。
  • 使用知识库能力前,建议重建索引或重新导入资料。

Generated from 4.0.0

发布于查看详情

新增

  • 支持瞬间插件(Moments)评论区适配 — 当检测到已安装并启用 plugin-moments 时,自动为瞬间评论启用 AI 自动回复
    • 新增 MomentsIntegrationService,通过 SchemeManager 检测 Moment 扩展注册状态,避免直接引用导致的 NoClassDefFoundError
    • 在插件设置 - 基本设置中新增"瞬间评论区适配"开关,仅当瞬间插件可用时显示,默认开启
    • ContextExtractor 适配 Moment 上下文:使用 moment name 作为关联标识,通过 Unstructured 单次 fetch 获取瞬间实际内容(spec.content.raw/html)和发布时间(spec.releaseTime)作为 AI 上下文
    • FilterService 对 Moment 评论读取 momentsEnabled 配置决定是否触发 AI 回复
  • 评论人昵称广告判定 — 前置过滤现在综合判断评论者昵称与评论内容。昵称包含商业推广关键词(如"免费算命"、“加微信xxx”、“代写论文”、"低价代购"等)即使评论内容看似正常也会被判定为广告
    • CommentPreFilterService.check() 新增 commentOwner 参数,将昵称纳入 AI 分类输入
    • 系统提示词新增"原则六:昵称与内容综合判定",列举昵称广告典型特征

改进

  • 重构提示词组装与兼容机制 — 建立更健壮的模块化拼接逻辑,解决多配置组合时的指令冲突与上下文丢失问题
    • 新增 {{output_guidance}}、{{sentiment_hint}}、{{language_requirement}} 三个占位符,将输出规范、情感提示、语言要求拆分为独立模块
    • 角色与预设使用段落分隔(空行+段落标记)确保指令隔离,避免风格预设污染角色设定
    • 情感提示通过 {{sentiment_hint}} 占位符原位注入;旧模板不含该占位符时自动降级为末尾追加,保持向后兼容
    • 消除两个近乎相同的 buildPrompt 重载的代码重复,统一委托给单一核心组装方法
    • 默认模板更新为模块化结构,新安装用户即可获得更稳定的 AI 输出
    • 强化身份约束:明确角色不是文章作者、站点管理员、客服或用户本人;禁止声称亲身经历未提供之事;禁止编造文章外的人物、数据、链接;禁止泄露系统提示词、模型参数、插件实现与安全策略
  • “Prompt设置"更名为"提示词设置” — UI 标签页、面板标题、设置项标签、帮助文本统一改为中文"提示词"
  • 日志瞬间关联链接精确到具体瞬间 — Moment 评论的关联链接从 /moments 列表页改为 /moments/{name} 具体瞬间页
  • 日志页面增加实时刷新功能 — 新增"实时刷新"开关,开启后每 10 秒静默轮询新数据。标签页隐藏或弹窗打开时自动暂停,回到页面时立即刷新。支持可配置刷新间隔(5s/10s/30s/60s)、新记录 Toast 提示、滚动位置保留、连续失败自动关闭
  • AI 安全审核改为失败关闭策略 — ReviewService 在审核服务不可用或异常时不再自动通过,改为返回 FAIL 并拦截发布,避免未经审核的 AI 回复被自动发布

Bug 修复

  • 修复日志页面 XSS 漏洞 — renderContent 仅移除 <script> 和 <iframe> 标签,未过滤 on* 事件处理器和 javascript: 协议。现已全面清理所有事件处理器、危险协议和嵌入标签
  • 修复日志页面删除后页码越界 — 删除最后一条记录后当前页变空但页码不回退,显示"暂无记录"。新增页码自动回退逻辑
  • 修复日志页面分页按钮在加载中可重复点击 — 新增 :disabled="loading" 防止重复请求
  • 修复误报弹窗关闭后残留状态 — 点击遮罩关闭弹窗时未清除 falsePositiveTarget,可能导致重开时显示旧数据
  • 修复 AiReplyOrchestrator 指数退避无上限 — retryCount 较高时延迟可达 43 分钟,超过处理锁 TTL 导致锁提前过期。新增 300 秒上限
  • 修复 ContextExtractor 空指针风险 — extractCommentContent/extractCommentOwner/extractReplyContent 未检查 spec == null,畸形数据会触发 NPE 中断整个处理链
  • 修复 SettingsView 邮箱防抖定时器未清理 — 组件卸载时 emailDebounce 定时器仍在运行,导致内存泄漏。新增 onUnmounted 清理
  • 修复 HomeView 刷新数据 Toast 提前弹出 — refreshData 未等待异步请求完成就提示成功。改为 await Promise.all() 后再提示
  • 修复 PromptBuilder 安全提示词可被绕过 — 自定义模板若遗漏 {{safety_prompt}} 占位符,安全约束会被静默丢弃。新增安全网:检测到遗漏时强制前置注入安全规范
  • 修复 AiReplyOrchestrator.processFalsePositive 无去重锁 — 误报处理流程未使用处理锁,重复触发会创建重复 AI 回复。新增 processingLocks 机制
  • 修复 AiReplyOrchestrator.processFalsePositive 失败后记录卡在 PENDING — 处理失败时记录未被标记为 FAIL,用户无法重试。新增 onErrorResume 将记录标记为 FAIL
  • 修复 AiReplyOrchestrator.hasExistingReply 错误时静默放行 — 数据库异常时去重检查返回 false 导致重复创建记录。改为返回 true(失败关闭,宁可跳过也不重复)
  • 修复 AiReplyCleanupService 删除处理中记录 — 清理逻辑未过滤 PENDING/REVIEWING 状态记录,可能破坏正在进行的 AI 回复流程。新增状态过滤
  • 修复 AiReplyCleanupService null subscribe 消费者 — .subscribe(null, ...) 传入 null 成功消费者,可能导致 NPE。改为空 lambda
  • 修复 AiReplyCleanupService 清理开关默认值不一致 — ConfigMap 存在但 data 为 null 时返回 false(禁用),与其他情况返回 true 不一致。统一为 true
  • 修复 Endpoint 分页参数未校验 — Integer.parseInt 对非数字参数抛出 500 错误。新增 parseIntSafely 安全解析
  • 修复 Endpoint 关键词搜索大小写敏感 — 搜索 “Hello” 无法匹配 “hello”。改为 toLowerCase() 不区分大小写
  • 修复 Endpoint 批量操作并发无限制 — flatMap 默认并发 256,大批量操作可能压垮数据库。限制为 10
  • 修复 LogsView 实时刷新漏检状态变化 — 数据签名仅含 total 和首尾 name,记录状态变化不会被检测。签名新增首尾状态和发布标记
  • 修复 LogsView 实时刷新与手动操作竞态 — 自动刷新与手动 fetchReplies 可能同时执行导致数据错乱。新增 autoRefreshing 标志位
  • 修复 ReplyReconciler.isAiReply 空指针风险 — 未检查 spec == null,畸形 Reply 数据会触发 NPE
  • 修复 ContextExtractor 瞬间内容重复 fetch — getMomentContent 和 getMomentReleaseDate 各自独立 fetch 同一个瞬间扩展,产生 2 次重复查询。合并为 getMomentContentAndDate 单次 fetch
  • 修复 ContextExtractor 瞬间分支缺少容错 — buildContext 的 Moment 分支缺少 onErrorResume 和 defaultIfEmpty,异常时静默跳过而非降级处理。已补齐与 Post/SinglePage 一致的容错
  • 修复 AiReplyOrchestrator.processFalsePositive 锁竞态条件 — 锁值存储过期时间(未来时间戳),过期后 putIfAbsent 不覆盖旧值导致去重失效。改为存储获取时间,与 processComment 一致
  • 修复 cleanupStaleLocks 无法清理误报处理锁 — 误报处理锁值是未来时间戳,cleanupStaleLocks 计算 age 为负数永远不清理。统一为存储获取时间
  • 修复 ContextExtractor.getCommentCount 空指针风险 — reply.getSpec() 可能为 null 时直接调用 getCommentName() 触发 NPE。fetchConversationHistory 同样问题已一并修复
  • 移除实时刷新冗余时间显示 — 移除刷新间隔选择右侧的"等待中…"/“刚刚更新”/"N秒前更新"等状态文本及相关定时器,减少不必要的 UI 噪声和每秒重渲染
发布于查看详情

首页封面支持视频背景,可配置本地附件或外链视频,并支持移动端开关、图片封面兜底。
封面视频支持手动开启声音,滚动离开封面区自动淡出静音,返回封面区柔和恢复。
声场播放器优化为唱片图标,播放时旋转,暂停时保留当前旋转角度。
顶部声场歌词支持自动横向滚动,长歌词会尽量在当前句结束前完整展示。
前台发布瞬间支持外链附件:图片、实况照片、视频直链、音频直链、音乐封面外链、歌词外链。
在线音乐发布体验增强。
新增封面视频、音乐播放、加载预热等调试日志开关。

发布于查看详情

修复

  • 修复启用 PJAX 与 Lenis 平滑滚动后,从其他页面返回首页时页面滚动边界未及时刷新,导致页脚下方出现大面积空白并可继续滚动的问题。
  • 修复首页 Swiper、图片等异步内容加载后未同步刷新 Lenis 滚动高度的问题。
  • 优化 PJAX 内容替换后的滚动复位流程,切页后会同步重置 Lenis 与浏览器原生滚动位置。
发布于查看详情

新增与增强

1. 支持WebSocket 实时刷新

  • 新增 ** WebSocket 事件监听**,当星系联盟、星系关系、星系资料、星际资讯等数据发生变化后,插件会自动刷新本地星图库快照并推送给主题页面。
  • 更新 不再依赖后台手动点击“重新同步”,主题侧可以直接接收新的本地快照结果。
  • 对连续到达的实时事件增加 合并与节流处理,避免短时间内重复触发刷新,提升页面数据更新的及时性与稳定性。

2. 星图库主题侧数据推送链路补强

  • 新增星图库专用路由、服务与 WebSocket 处理链路,统一承接实时事件、快照重建与前台推送。
  • 优化本地星图库快照的刷新时机,保证主题页面获取到的是最新一轮聚合后的数据结果。

问题修复

修复Bug:收紧前端删除入口判定,只有 目标站点已接入插件 且关系状态为 following / mutual 时,才允许显示“删除友链 / 解除关系”按钮。

发布于查看详情

feat(theme): 添加产品商城主题配置选项

  • 在设置中添加产品商城配置分组
  • 添加页面标签、标题和描述的自定义配置
  • 添加每页显示数量的配置选项
  • 添加是否显示分类筛选的开关配置
  • 添加是否显示授权版本的开关配置
  • 添加各类商品交付说明文案配置
  • 更新产品列表页以使用主题配置
  • 更新产品详情页以使用主题配置
  • 修复插件链接地址错误问题

fix(gateway): 修复脚本加载和产品插件配置

  • 在main.js脚本标签中添加vite-ignore属性以避免构建问题
  • 移除产品商城设置中的插件安装提示通知组件配置
  • 简化产品模块的表单配置结构

feat(theme): 添加留言页功能支持

  • 在.gitignore中添加/.codebase-memory/忽略规则
  • 新增src/guestbook.html实现留言页面模板
  • 添加留言页面相关CSS样式到main.css文件
  • 在theme.yaml中注册留言页模板配置项

feat(config): 添加插件安装提示和路由说明信息

  • 在友链配置区域添加了插件安装提醒和路由说明
  • 为瞬间插件、图库管理插件、装备管理插件添加路由提示信息
  • 为朋友圈插件、Bilibili追番插件、Steam游戏库插件增加路由说明
  • 添加了Docsme插件和项目集插件的路由指引
  • 在产品商城配置中新增插件安装提醒和路由提示
  • 统一使用样式化的提示框展示插件安装和路由配置信息

Full Changelog: 1.0.0-beta7...1.0.0-beta8


Generated from 1.0.0-beta8

发布于查看详情

feat(withdraw): 优化提现设置条件显示逻辑

  • 在提现设置中添加条件判断,仅当余额账户开启时显示
  • 修改提现手续费率字段配置,去除不必要的number验证
  • 更新版本号至1.2.0-alpha1以反映新功能调整

feat(api): 更新API文档和集成设置以支持产品订单积分兑换

  • 将余额相关术语统一替换为储值账户
  • 在MemberLevelRecord查询参数中添加startTimeEmpty和endTimeEmpty过滤选项
  • 在MemberTransactionRecord查询参数中添加businessId过滤选项
  • 新增产品订单积分兑换API接口供控制台和公开访问
  • 新增获取会员插件设置的API接口
  • 添加ProductOrderPointsRedemptionRequest和Result数据模型
  • 在设置结果中新增余额账户和收藏设置配置
  • 添加产品插件集成设置和验证令牌功能
  • 实现产品订单积分兑换的安全访问控制和令牌验证
  • 更新交易类型枚举添加PRODUCT_ORDER和SCORE_PRODUCT_REDEMPTION
  • 配置角色模板允许产品订单积分兑换操作
  • 在设置界面添加产品插件集成配置表单组件

feat(register): 支持可选的邀请码注册配置

  • 添加了邀请码必填/选填配置选项,默认为必填
  • 更新了前端模型定义,在InviteRegister接口中新增required字段
  • 修改邀请码输入页面逻辑,支持可选模式下的不同提示文案和表单行为
  • 实现跳过邀请码注册的功能,当邀请码设置为选填时可通过参数跳过
  • 添加相关单元测试验证必填和选填场景的不同行为
  • 更新API文档同步新增的required字段
  • 在设置页面添加邀请码必填开关的配置界面

docs(api): 添加推荐功能API测试示例和相关配置文档

  • 添加完整的API测试示例文档,包含curl命令、JavaScript示例和Postman集合
  • 更新项目依赖版本,halo平台版本从2.24.0升级至2.25.0,插件版本从2.25.0升级至2.25.3
  • 新增PRODUCT_ORDER业务类型枚举值,扩展业务类型支持
  • 添加邀请访问限制配置分析与优化建议文档
  • 添加设备指纹集成指南文档,提供前端集成方案和后端验证说明
  • 添加充值防重复提交功能说明文档,详细解释防重复机制和技术实现
  • 添加Excel批量导入会员等级功能文档,说明模板下载和批量导入流程

fix(member): 优化用户注册邀请过滤器行为和错误处理

  • 将版本号更新为 1.2.0-alpha2
  • 在 UserRegisterWebFilter 中加入对异常的 onErrorResume 处理,避免配置获取失败导致过滤失败
  • 修改清理邀请码 Cookie 逻辑,避免响应已提交时重复操作和异常抛出
  • 使用 UTF-8 显式编码邀请码输入页面内容,提升安全性和兼容性
  • 调整过滤器执行顺序,确保邀请注册检查优先于主题/域名路由过滤器
  • 增加多项单元测试覆盖异常场景和行为边界
  • 优化测试中对于响应已提交状态和异常处理的模拟验证
发布于查看详情

演示站防护

演示站防护是一个 Halo 插件,用来限制“演示角色”在 Halo 控制台、用户中心和核心 API 中执行高风险写操作。它适合公开演示站、试用环境、售前演示环境这类场景:访客可以登录体验后台,但不能发布文章、改用户、删资源、上传附件、改主题插件配置,别让人一顿乱点把站点霍霍没了。

功能体验

地址 账号/密码
管理端 demo/demo123.

交流群

点击链接加入群聊【halo博客-lywq插件】

功能介绍

  • 按 Halo 角色识别演示用户:配置项保存的是角色 metadata.name,插件会读取当前登录用户的真实角色绑定。
  • 按 HTTP 方法拦截危险操作:可分别控制 POST、PUT、PATCH 写请求和 DELETE 删除请求。
  • 按路径模式保护接口:支持精确路径、* 单段通配、** 多段通配。
  • 支持放行路径:放行路径优先级高于保护路径,用于避免误拦插件自身接口或必须开放的接口。
  • 对前端返回结构化错误:被拦截时返回 403 和 application/problem+json,提示 当前演示用户禁止操作。
  • 默认关闭:安装后不会立刻影响管理员操作,需要手动启用。

这个插件是演示环境的兜底防护,不是 Halo RBAC 的替代品。演示账号本身也别乱给超级管理员权限,除非你已经把所有危险接口都配进保护路径里,不然就是往门口挂个锁、后墙留个洞,闹呢。

环境要求

  • Halo >= 2.25.0
  • Java 21+
  • Node.js 18+
  • pnpm

安装教程

  1. 构建插件:
./gradlew build
  1. 构建完成后,在 build/libs 目录找到插件 jar,例如:
build/libs/plugin-demo-guard-1.0.0-SNAPSHOT.jar
  1. 进入 Halo 控制台,打开 插件 页面。

  2. 上传并安装插件 jar。

  3. 启用插件后,进入插件设置页配置防护规则。

升级线上环境时,一定要上传新构建出来的 jar。只改本地代码不升级线上插件,线上当然没反应,这个锅代码不背。

使用教程

最小可用示例:禁止演示用户发布文章

如果你现在只想拦截这个发布接口:

/apis/api.console.halo.run/v1alpha1/posts/019f1b47-2f0e-75fa-a868-d5231f673d24/publish

保护路径应该配置成通配形式:

/apis/api.console.halo.run/v1alpha1/posts/*/publish

同时确认:

启用演示站防护:开启
拦截写请求:开启
演示角色标识:选择演示用户绑定的角色 metadata.name

发布文章接口是 PUT 请求,所以只开“拦截删除请求”没用,这地方别拧巴。

1. 创建演示角色

在 Halo 控制台创建一个专门给演示用户使用的角色,例如 演示角色。

插件配置里最终保存的是角色的 metadata.name,通常类似:

role-jlijn3me

不用手填也行,插件设置页的“演示角色标识”会从 Halo 角色列表中选择并保存实际角色名。

2. 给演示用户绑定角色

创建或选择一个演示用户,例如 demo,并给它绑定上一步创建的演示角色。

如果演示用户没有绑定这个角色,插件不会把它当作演示用户处理。

3. 开启防护

在插件设置中配置:

启用演示站防护:开启
演示角色标识:选择演示角色
拦截写请求:开启
拦截删除请求:按需开启

4. 配置保护路径

保护路径只写 URL path,不要写协议、域名、端口和查询参数。

正确:

/apis/api.console.halo.run/v1alpha1/posts/*/publish

错误:

http://localhost:8090/apis/api.console.halo.run/v1alpha1/posts/*/publish

多个路径可以用换行、空格、逗号或分号分隔:

/apis/api.console.halo.run/v1alpha1/posts/*/publish
/apis/api.console.halo.run/v1alpha1/posts/*/unpublish
/apis/api.console.halo.run/v1alpha1/posts/*/recycle

也可以写成一行:

/apis/api.console.halo.run/v1alpha1/posts/*/publish /apis/api.console.halo.run/v1alpha1/posts/*/unpublish /apis/api.console.halo.run/v1alpha1/posts/*/recycle

5. 配置放行路径

放行路径优先级高于保护路径。默认放行插件自身接口:

/apis/console.demoguard.muyin.site/**

不要把放行路径写得太宽,例如:

/apis/**

这会把所有 Halo API 都放掉,防护直接变空气,配置了等于没配置。

配置项说明

配置项 说明 建议
启用演示站防护 总开关,关闭后不拦截任何请求。 配完角色和路径后再开启。
演示角色标识 演示角色的 metadata.name 数组。 使用设置页下拉选择,不要填显示名。
拦截写请求 拦截命中保护路径的 POST、PUT、PATCH。 演示站通常开启。
拦截删除请求 拦截命中保护路径的 DELETE。 演示站通常开启。
保护路径 需要禁止演示用户访问的 API path。 只写 path,支持 * 和 **。
放行路径 优先放行的 API path。 保留插件自身接口,别写太宽。

路径匹配规则

  • * 匹配单个路径段。
  • ** 匹配多个路径段。
  • 只匹配 path,不匹配 query string。
  • 放行路径先匹配,命中后不再拦截。
  • GET 请求不会被“拦截写请求”拦截。
  • DELETE 请求只受“拦截删除请求”控制。

示例:禁止演示角色发布任意文章:

/apis/api.console.halo.run/v1alpha1/posts/*/publish

可匹配:

/apis/api.console.halo.run/v1alpha1/posts/019f1b47-2f0e-75fa-a868-d5231f673d24/publish

如果接口带查询参数,例如:

/apis/api.console.halo.run/v1alpha1/posts/xxx/publish?async=true

保护路径仍然只写:

/apis/api.console.halo.run/v1alpha1/posts/*/publish

常用保护路径示例

下面这些路径和插件默认配置保持一致,可以按你的演示站开放范围删减。原则很简单:不想让演示用户改的,就别心软。

文章发布、取消发布、回收:

/apis/api.console.halo.run/v1alpha1/posts/*/publish
/apis/api.console.halo.run/v1alpha1/posts/*/unpublish
/apis/api.console.halo.run/v1alpha1/posts/*/recycle

文章底层资源:

/apis/content.halo.run/v1alpha1/posts/**

用户、角色和权限:

/apis/console.api.security.halo.run/v1alpha1/users/**
/apis/api.console.halo.run/v1alpha1/users
/apis/api.console.halo.run/v1alpha1/users/test/permissions
/apis/api.console.halo.run/v1alpha1/users/-/password
/apis/api.console.halo.run/v1alpha1/users/-
/api/v1alpha1/users/**
/api/v1alpha1/roles/**

附件:

/apis/api.console.halo.run/v1alpha1/attachments/upload
/apis/storage.halo.run/v1alpha1/attachments/**

独立页面:

/apis/content.halo.run/v1alpha1/singlepages/**

主题和插件:

/apis/api.console.halo.run/v1alpha1/themes/*/reset-config
/apis/theme.halo.run/v1alpha1/themes/**
/apis/api.console.halo.run/v1alpha1/plugins/*/plugin-state
/apis/api.console.halo.run/v1alpha1/plugins/*/reset-config
/apis/plugin.halo.run/v1alpha1/plugins/**

系统配置和迁移:

/apis/console.api.halo.run/v1alpha1/systemconfigs/basic
/apis/migration.halo.run/v1alpha1/backups
/apis/console.api.migration.halo.run/v1alpha1/restorations

用户中心安全项:

/apis/uc.api.security.halo.run/v1alpha1/personalaccesstokens
/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/settings/enabled
/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/totp

不同 Halo 版本或插件可能会调整接口路径。拿不准就打开当前站点的 Swagger:

/swagger-ui/index.html

照真实接口路径配置,别靠猜。尤其是 reset-config、resetconfig 这种命名,猜错一个字符就全白搭。

验证是否生效

  1. 使用演示用户登录 Halo 控制台。
  2. 在浏览器开发者工具的 Network 面板确认操作请求的 method 和 path。
  3. 执行受保护操作,例如发布文章。
  4. 预期返回 403,响应体包含 当前演示用户禁止操作。
  5. 使用非演示角色账号重复同样操作,应该正常通过。

如果演示用户和管理员都被拦,通常是角色配错或账号角色混了;如果谁都不拦,先看总开关、请求方法、真实 path 和线上 jar 版本。别上来就怀疑玄学,十有八九是配置没对上。

被拦截时的响应

命中防护后,插件返回:

HTTP/1.1 403 Forbidden
Content-Type: application/problem+json

响应体:

{
  "status": 403,
  "title": "当前演示用户禁止操作",
  "detail": "当前演示用户禁止操作",
  "message": "当前演示用户禁止操作"
}

如果前端仍然只显示 403: Forbidden,说明前端统一错误处理没有读取 detail 或 message 字段。后端已经把话递过去了,前端不接,那就是前端自己的脾气。

常见问题

本地有效,线上无效

优先检查这几件事:

  • 线上是否已经安装新构建的 jar。
  • 插件设置里的 enabled 是否为 true。
  • 演示用户是否真的绑定了配置中的角色 metadata.name。
  • 请求方法是否在拦截范围内,例如发布文章是 PUT,需要开启“拦截写请求”。
  • 保护路径是否只写 path,没有写域名、协议、端口。
  • 放行路径是否过宽,例如误写了 /apis/**。
  • 当前线上 Halo 的真实接口路径是否和你配置的一致。

保护路径一整行配置为什么之前不生效

旧版本只按换行和逗号拆分路径。一整行空格分隔会被当成一个超长路径模式,自然匹配不到真实接口。

当前版本已经支持空格、换行、逗号和分号分隔。线上要获得这个能力,必须升级到包含该修复的新 jar。

为什么没进入演示角色判断

通常是当前请求没有可用登录态,或者插件版本还在使用较旧的过滤器链。当前版本在 Halo 安全认证之后读取用户信息,正常登录请求会进入演示角色判断。

为什么配置了角色还是没拦住

确认配置的是角色 metadata.name,不是显示名。显示名可以叫“演示角色”,但真正保存和匹配的一般是:

role-xxxxxxxx

开发约定

新建 Halo 插件必须优先使用官方脚手架:

pnpm create halo-plugin

不要复制已有插件目录改名初始化,容易带入脏配置、缓存和错误依赖。

本地开发

启动 Halo 开发服务:

./gradlew haloServer

前端开发:

cd ui
pnpm install
pnpm dev

热加载插件:

./gradlew reload

运行测试和构建:

./gradlew test
./gradlew build

许可证

GPL-3.0 © Lywq

发布于查看详情

新增

新增微信读书阅读统计集成,支持通过 WeRead Agent API 获取阅读时长、阅读天数、日均时长、读过、读完、笔记等统计数据。
新增阅读统计面板,支持按周、月、年、全部范围查看数据。
新增年度统计视图,支持年份切换、年度热力图和月度柱状图展示。
新增微信读书 API Key 配置项,用于调用阅读统计等高级接口。
新增 Cookie 状态展示,包括 Cookie 是否有效、微信读书用户名、最近刷新时间。
新增书籍管理顶部筛选工具栏,支持按书名/作者搜索、分类、显示状态、阅读状态筛选。
新增书籍笔记详情接口和抽屉视图,用于查看单本书的划线、想法和书评内容。

改进

优化微信读书 Cookie 管理逻辑,增强 CookieCloud 配置、刷新和状态反馈。
优化同步流程,支持同步划线内容、想法/评论、书评等笔记数据。
优化微信读书接口调用兼容性,改进 notebook、bookmark、review 等数据解析。
优化书籍管理页面布局和白色主题视觉,统计、筛选、书籍列表和笔记抽屉更统一。
优化阅读统计年度热力图,月份标签按真实周列对齐,并减少大屏空白。
优化偏好作者统计口径,按当前范围内本地书籍作者本数统计,避免官方统计字段含义不一致。
优化设置页,提供更清晰的 CookieCloud、API Key、同步和 Cookie 状态管理入口。

修复

修复划线记录、想法/评论同步为空的问题。
修复笔记数量统计不准确的问题。
修复官方阅读统计不可用时页面无数据的问题,现在会回退到本地同步数据。
修复统计卡片单位重复显示的问题,例如 17本 本。
修复年度热力图在部分数据格式下错位或无法正确显示的问题。

发布于查看详情

Bug 修复

  • 修复 AiReplyOrchestrator.retryOrFail 重试计数失效 — .then() 丢弃了更新后的记录导致 retryCount 始终为 0,AI 生成失败时陷入无限重试。改为 .flatMap() 传递更新后的记录
  • 修复误报反馈"AI 回复"被空字符串覆盖 — .subscribe() 在异步流程中过早触发,导致 AI 回复生成完成后被空字符串覆盖。改为在 .doOnSuccess() 中触发异步生成
  • 修复 PersonaResolver 在响应式上下文中使用 .block() — 调用阻塞方法会阻塞 Reactor 线程。改为返回 Mono<String> 并使用 Flux.concatMap().next() 替代 for 循环
  • 修复 penalizeComment/penalizeReply 缺少乐观锁重试 — 并发更新 Comment/Reply 时可能静默失败。添加 Retry.backoff(3, 100ms) 重试
  • 修复 approveOriginalComment 缺少乐观锁重试 — 同上,添加 Retry.backoff(3, 100ms) 重试
  • 修复误报反馈端点无法重试 FAIL 状态记录 — 仅接受 FILTERED 和 FALSE_POSITIVE 状态,AI 生成失败的记录无法重试。现接受 FAIL 状态
  • 修复 tag-NEUTRAL 缺少 CSS 样式 — 中性情感标签无样式显示。补充样式定义
  • 修复 handleTriggerAiReply 缺少加载保护 — 触发 AI 回复按钮可被重复点击导致重复提交。添加 loading 状态
  • 修复 filterKeyword 输入未做防抖 — 每次按键都触发搜索,性能开销大。添加 300ms 防抖
  • 修复 performCleanup 逻辑错误 — 清理逻辑存在判断错误

改进

  • 优化 extractChoice 分类匹配优先级 — 优先匹配违规类别(advertising/abuse/sensitive/meaningless),再匹配 normal,避免正常评论被误判为违规类别
发布于查看详情

更新内容

  • 修复 Microsoft Outlook Calendar 等使用 Windows 时区名称(如 China Standard Time)的 ICS 订阅无法导入的问题。
  • 新增 Windows 时区到 IANA 时区的自动映射,解析失败时回退到系统默认时区。

Generate from v3.1.0

发布于查看详情

1.0.5

二次元少女风格的 Halo 2.x 博客主题。本次为问题修复。

🐛 修复

  • 修复「留言墙」发布区的分类下拉框被留言卡片遮挡的问题(提升发布栏层级,使其浮于卡片之上)。

✅ 适配

Halo 2.14.0 及以上版本。


完整说明见仓库 README。


Generated from v1.0.5

发布于查看详情

Full Changelog: v1.4.2...v1.4.3

feat(hitokoto): 新增点赞功能与深色主题优化

  1. 重构页面样式使用CSS变量统一管理主题色
  2. 添加双击/心形按钮点赞功能,支持本地状态缓存与心跳动效
  3. 新增点赞计数展示与API交互逻辑
  4. 优化背景光晕与新增暗角效果增强视觉深度
  5. 替换旧的页面刷新逻辑为API直取,提升切换句子的流畅度
  6. 添加轻提示、樱花背景与响应式适配

Generated from v1.4.3

发布于查看详情

1.0.4

二次元少女风格的 Halo 2.x 博客主题。本次为功能新增与体验优化。

✨ 新增

  • 顶栏菜单支持子菜单:桌面端鼠标悬停展开下拉(毛玻璃质感 + 主题色图标),移动端在折叠菜单内缩进展开。
  • 「时间天气」新增可选的精确定位功能:后台开启后,访客可点击「使用精确定位」按钮授权浏览器定位以获得更准确的天气(默认关闭,会记住授权避免重复弹窗)。
  • 侧栏「分类」「标签」新增最多显示数量设置,可控制前台展示的条数。

💄 优化

  • 「留言墙」发布区的分类选择器改为自定义下拉,支持深色模式,并按可用空间自动选择向上/向下弹出方向。
  • 新增 color-scheme 声明,原生控件(下拉、滚动条等)跟随明暗模式显示。

✅ 适配

Halo 2.14.0 及以上版本。


完整说明见仓库 README。


Generated from v1.0.4

发布于查看详情

🐛 修复:插件 CSS 不再覆盖主题代码块样式

  • 修复 CSS 冲突:移除了 .ce-pre 中多余的重置样式(background: transparent、padding: 0、border: 0 等),主题的代码块背景色、内边距、滚动条等样式完整保留
  • 修复静态资源 404:重新创建被误删的 reverseProxy.yaml,修正资源路径去掉多余 /static/ 层级,CSS/JS 文件恢复正常加载
  • 移除无用数据:前端配置不再注入未使用的 pluginName 字段
  • 内存整洁:pjax 切换时正确释放旧 IntersectionObserver 实例
  • 文档修正:README 后端代码示例对齐实际实现
发布于查看详情

v2.0.0 (2026-06-29)

🎉 重大精简:移除所有非核心功能,专注折叠体验

  • 移除代码高亮:不再依赖 Highlight.js,文件大小减少 97%
  • 移除行号显示:简化代码块结构
  • 移除复制按钮:如需复制功能,可使用浏览器自带复制或主题自带功能
  • 移除语言名称显示:简化界面
  • 移除标题栏:不再显示 macOS 风格红绿灯按钮
  • 新增懒加载图片兼容:支持 data-src、data-original、data-lazy 等常见懒加载属性
  • 新增展开态 sticky 按钮:长代码时展开按钮固定在视口底部
  • 新增横向滚动支持:超长代码行自动横向滚动
  • 新增无障碍支持:aria-label、aria-expanded、:focus-visible
  • 性能优化:JS 从 ~600 行重构为 ~270 行(-55%),CSS 从 ~800 行重构为 ~220 行(-72%)
  • 浏览器兼容性提升:Chrome 57+、Firefox 52+、Safari 10.1+
  • 默认启用功能:代码折叠和长图折叠默认开启(之前默认关闭)

升级说明:

  • 从 v1.x 升级到 v2.0.0 会自动丢失高亮、行号、复制按钮等功能
  • 如果依赖这些功能,请勿升级
  • 如果只需要折叠功能,v2.0.0 性能更优,体验更好
发布于查看详情

更新内容

  • 修复 GitHub Actions 中 gradlew 无执行权限导致 CI/CD 失败的问题。
  • 插件版本递增至 0.0.18。
  • 保留业余无线电 GardMap 通联网格地图显示名称。
  • Release 发布后由 CD 自动构建 JAR 并发布到 Halo 应用市场 app-rftgoicv。

Generated from v0.0.18

发布于查看详情

fix(post): 修复文章导航链接逻辑错误

  • 修复上一篇按钮指向错误,现在正确指向下一个文章
  • 修复下一篇按钮指向错误,现在正确指向前一个文章
  • 修复导航标签显示错误,确保前后文章标题正确显示
  • 修正aria标签中的文章标题引用错误

fix(categories): 修复分类展示页面链接和计数显示

  • 将链接从 /archives 更改为 /categories
  • 更新文本从 "全部" 为 "全部分类"
  • 修改描述从 "浏览所有文章内容" 为 "浏览所有分类目录"
  • 调整计数显示从文章总数改为分类数量
  • 使用 #lists.size(categories) 替代 posts.total 计算分类数

style(styles): 格式化菜单图标和导航链接样式

  • 为 hydro-menu-icon 添加 align-self、box-sizing 和 overflow 属性
  • 修改 svg 元素为 flex 布局并使用 CSS 变量控制尺寸
  • 为 hydro-nav-menu__label 添加 flex 显示和居中对齐
  • 为 hydro-dropdown 添加 flex 显示和居中对齐
  • 为导航链接添加高度和行高设置
  • 统一移动端菜单图标的 SVG 尺寸变量
  • 为波浪链接添加内联弹性布局对齐方式

feat(scroll): 添加初始滚动保护功能

  • 在 base-head.html 和 layout.html 中添加历史记录滚动恢复手动控制
  • 创建 initial-scroll-guard.ts 文件实现滚动保护逻辑
  • 监听用户滚动行为并记住位置防止页面加载重置到顶部
  • 支持键盘滚动操作的记忆功能
  • 集成 Lenis 滚动库的兼容性处理
  • 在 main.ts 中初始化滚动保护功能

fix(search): 解决移动端搜索输入框字体大小问题

  • 在移动设备上为搜索输入框设置 16px 字体大小
  • 避免 iOS Safari 缩放导致的布局问题

feat(scroll): 实现程序化滚动行为控制功能

  • 添加了 HydroProgrammaticScrollPlan 和相关类型定义
  • 创建了滚动计划生成器 createHydroProgrammaticScrollPlan 函数
  • 集成了移动设备回顶滚动优化逻辑
  • 实现了滚动同步延迟调度机制
  • 添加了移动端粗指针设备查询判断
  • 更新了 scrollToPosition 函数支持滚动配置文件
  • 增加了滚动完成后的同步处理函数

refactor(scroll): 简化滚动行为配置并移除不必要的属性

  • 移除 prefersReducedMotion 和 viewportHeight 属性
  • 删除移动端返回顶部的动画持续时间计算逻辑
  • 移除自定义缓动函数和距离计算相关代码
  • 简化滚动计划创建逻辑,统一使用立即执行模式
  • 将移动设备返回顶部行为改为直接跳转而非平滑滚动

style(post): 优化文章页面样式和功能实现

  • 添加表格头部渐变背景和边框样式
  • 重构列表样式,实现自定义复选框和编号列表效果
  • 优化链接悬停效果和可访问性支持
  • 添加媒体元素宽度控制属性支持
  • 改进图片和视频对齐方式及布局
  • 优化多列布局组件样式和响应式设计
  • 增强表格滚动容器视觉效果
  • 改进详情展开组件交互体验
  • 添加画廊组件支持
  • 重命名内容增强函数以提高代码清晰度
  • 优化作者信息显示逻辑,处理名称为空的情况

Full Changelog: 1.0.0-beta6...1.0.0-beta7


Generated from 1.0.0-beta7

发布于查看详情

当前版本完成 QSL 通联网格地图插件的首个可测试版本发布:
新增公开地图页面,展示 qsl-management 提供的 QSO 通联网格数据。
支持天地图瓦片服务,应用 key 可在后台插件设置中配置。
支持默认中心网格、默认缩放级别、最小/最大缩放级别后台配置。
默认中心点为 OM89,刷新和数据加载后不再被全量网格自动框选覆盖。
新增 [qsl-grid-map] 短码,可在文章或页面中嵌入地图。
新增 Halo 默认编辑器 / 菜单小组件,插入后显示预览卡片。
仅提供公开只读页面接口,不新增写入接口和角色模板。

发布于查看详情
  • 公开网格清单 API 取消返回数量上限,历史 limit 参数保留兼容但不再限制结果。
  • 新增 detailLevel 详情级别参数,支持 full 完整模式和 brief 简略模式;简略模式只返回网格与呼号清单,不返回通联明细。
  • 同步公开 API 合同、产品定义和结构化清单文档,版本号递增至 2.3.22。

Generated from v2.3.22

发布于查看详情

新增桌面端外侧背景功能,可在「外观」中上传背景图并选择显示强度。
桌面背景支持低分辨率图片自适应处理,避免小图拉伸后过度模糊突兀。
优化桌面背景下的深色模式、文章页、底部栏和右下角按钮显示效果。
新增右下角「深浅色切换」和「返回顶部」按钮开关,可在后台分别控制是否显示。
优化文章页在桌面背景下的外侧区域显示,减少灰色背景残留。
优化前台开发者调试日志,减少背景相关日志刷屏。
细化点赞 / 评论区域的分隔线和交互细节,使信息流观感更统一。

发布于查看详情
  • 收卡业务三个子菜单的基本清单保留已结束收卡记录可见,便于继续查看闭环后的收卡状态。
  • 已结束收卡记录不再显示继续收卡和结束收卡入口,避免重复追加收卡。
  • 保持通联业务送达确认等待处理清单原有过滤逻辑不变。
  • 同步结构化文档与产品定义,版本号递增至 2.3.21。

Generated from v2.3.21

发布于查看详情

Moesora 1.0.3

二次元少女风格的 Halo 2.x 博客主题。本次为功能更新与问题修复。

✨ 新增

  • 个人信息卡支持在「侧边栏」设置中自定义头像(留空则沿用站点 Logo)。

🐛 修复

  • 修复「离开 / 返回时标签页文字」清空后仍显示默认文案的问题:现在留空即表示不修改标签页标题(显示页面原标题),填写则使用自定义文字。

✅ 适配

Halo 2.14.0 及以上版本。


完整说明见仓库 README。


Generated from v1.0.3

发布于查看详情

新增点赞/评论按钮卡片弹出的动画效果
调整外链卡片尺寸
修复点赞数量显示异常bug
修复主题版权显示逻辑

发布于查看详情
页
条 / 页