- 修复草稿模式下仍自动发布评论的Bug - 新增草稿模式下编辑AI回复内容功能 - 新增3个Prompt预设(技术解答型/鼓励型/知识科普型) - 新增多语言回复指令 - 新增日志页面时间范围筛选 - 新增AI角色排序功能 - 新增配置导入/导出功能 - 修复processingLocks内存泄漏 - 修复OptimisticLockingFailureException缺少重试 - 修复publishReply空Mono导致审核挂起 - 移除近7日回复趋势卡片 - 版本号更新至0.0.0-ygkszvd - 全面更新插件文档
1.8 KiB
1.8 KiB
自动回复
自动回复是插件的核心功能,当有新评论发布时,插件会自动触发AI生成回复。
工作原理
插件通过 Halo 的 Reconciler 机制监听评论和回复的创建事件:
- CommentReconciler — 监听新评论,触发首次AI回复
- ReplyReconciler — 监听新回复,当回复者不是AI角色时,触发对话式AI回复
去重机制
为避免重复回复,插件实现了多层去重防护:
- 内存锁 — 使用
ConcurrentHashMap防止同一评论并发处理 - 数据库检查 — 处理前查询是否已存在
AiCommentReply记录 - 发布前检查 — 创建 Reply 前再次确认不存在重复
历史评论过滤
插件启动时间之前的评论不会触发自动回复,避免安装插件后对大量历史评论批量回复。
对话式回复
当评论者回复AI的评论时,插件会自动提取对话上下文(最近5条回复),让AI的回复更连贯自然。
配置项
| 配置项 | 说明 | 默认值 |
|---|---|---|
| 自动回复 | 是否启用自动回复功能 | 开启 |
| 自动发布 | AI回复是否自动发布,关闭则存为草稿 | 开启 |
| 最大对话轮次 | 同一评论线程中AI最多自动回复的轮次 | 8 |
| 速率限制 | 每分钟最大AI回复数量 | 10 |
| 最大重试次数 | AI生成失败时的最大重试次数 | 3 |
重试机制
当AI生成失败(如服务不可用、生成空内容、审核不通过)时,插件会自动重试:
- 每次重试递增
retryCount - 重试间隔采用指数退避策略:第1次等5秒,第2次等15秒,第3次等30秒
- 超过最大重试次数后标记为最终失败(FAIL)
- 重试期间记录状态为 PENDING
::: tip 重试次数由 最大重试次数 配置项控制,默认为3次。 :::