- index.md: 更新特性卡片(移除自学习,新增页面开关/状态检测/批量操作) - introduction.md: 更新核心功能列表(5模块提示词/页面开关/批量操作/智能检测) - settings.md: 重写设置文档(新配置项/白名单批量操作/页面开关/状态检测/手动清理) - prompt.md: 四模块改为五模块(新增语言要求),移除自学习引用,标注可选 - persona.md: 添加人格提示词留空使用基础配置说明 - filter.md: 添加全局页面开关和白名单批量操作说明 - cleanup.md: 添加手动清理时间节点和二次确认说明 - auto-reply.md: 更新配置项表格(重试/轮次/速率限制) - faq.md: 更新AI Foundation状态检测和清理问题 - CHANGELOG.md: 重写v1.4.0更新日志
2.9 KiB
2.9 KiB
自动回复
自动回复是插件的核心功能,当有新评论发布时,插件会自动触发AI生成回复。
工作原理
插件通过 Halo 的 Reconciler 机制监听评论和回复的创建事件:
- CommentReconciler — 监听新评论,触发首次AI回复
- ReplyReconciler — 监听新回复,当回复者不是AI角色时,触发对话式AI回复
去重机制
为避免重复回复,插件实现了多层去重防护:
- 内存锁 — 使用
ConcurrentHashMap防止同一评论并发处理 - 数据库检查 — 处理前查询是否已存在
AiCommentReply记录 - 发布前检查 — 创建 Reply 前再次确认不存在重复
历史评论过滤
插件启动时间之前的评论不会触发自动回复,避免安装插件后对大量历史评论批量回复。
唤醒词机制
唤醒词允许用户在评论中通过特定词语唤醒指定AI角色回复,即使该页面未启用AI回评。
工作方式
- 用户发表以唤醒词开头的评论(如"小回小回你好")
- 插件检测到唤醒词匹配,自动唤醒对应角色
- 唤醒词后的内容作为实际评论内容传递给AI
- AI生成回复时自动获取上下文(文章内容、对话历史等)
唤醒词特点
- 跨页面唤醒:在未启用AI回评的页面也能使用唤醒词召唤AI
- 二级评论支持:回复中同样可以使用唤醒词
- 独立唤醒:每个角色有独立的唤醒词,可以唤醒不同角色
- 绕过限制:唤醒词触发时绕过页面级启用检查和"必须是回复给AI"的检查,但仍检查黑名单
配置唤醒词
在 AI回评 → 插件设置 → AI角色设置 中,为每个角色配置唤醒词。唤醒词留空则不启用该角色的唤醒功能。
::: tip 唤醒词建议设置为容易记忆且不易与正常评论混淆的词语。 :::
对话式回复
当评论者回复AI的评论时,插件会自动提取对话上下文(最近5条回复),让AI的回复更连贯自然。
配置项
| 配置项 | 说明 | 默认值 |
|---|---|---|
| 自动回复 | 是否启用自动回复功能 | 开启 |
| 自动发布 | AI回复是否自动发布,关闭则存为草稿 | 开启 |
| 最大重试次数 | AI生成失败时的最大重试次数(0为不重试,最大10) | 3 |
| 最大对话轮次 | 同一评论线程中AI最多自动回复的轮次(0为不限制) | 10 |
| 速率限制(每小时) | 每小时最大AI回复数量(0为不限制) | 0(不限制) |
重试机制
当AI生成失败(如服务不可用、生成空内容、审核不通过)时,插件会自动重试:
- 每次重试递增
retryCount - 重试间隔采用指数退避策略:第1次等5秒,第2次等15秒,第3次等30秒
- 超过最大重试次数后标记为最终失败(FAIL)
- 重试期间记录状态为 PENDING
::: tip 重试次数由 最大重试次数 配置项控制,默认为3次。 :::