# 插件介绍

AI回评（Comment AI Autopilot）是一个 Halo 博客系统的插件，能够自动为博客评论生成AI回复。

## 核心功能

- **自动回复** — 监听新评论，自动调用AI生成回复，支持多轮对话上下文
- **多 AI 角色** — 支持创建多个 AI 角色，每个角色有独立的昵称、人格提示词、性别、语气风格和 Gravatar 头像，可为不同文章指定不同角色，人格提示词留空时使用基础配置的角色身份提示词
- **唤醒词** — 评论以唤醒词开头可唤醒指定角色回复，支持自定义唤醒词，可在未启用AI回评的页面使用唤醒词召唤AI
- **性别与语气** — AI角色支持性别配置（男/女）和中性语气风格，AI回复时保持对应性别身份
- **多语言适配** — 根据评论语言自动用对应语言回复，语言要求提示词可自定义
- **情感分析** — 分析评论情感倾向（非常正面/正面/中性/负面/非常负面），根据情感调整回复语气
- **草稿模式** — AI回复先存为草稿，管理员审核后再发布
- **失败重试** — AI生成失败时自动重试，最大重试次数可配置（0-10次，默认3次）
- **批量操作** — 草稿模式下支持批量通过/拒绝/删除
- **文章/页面级开关** — 在文章编辑器中直接控制是否启用AI回复，文章默认开启，页面默认关闭；支持全局页面AI回复开关一键启用/禁用所有页面（包括新建页面）
- **评论者黑/白名单** — 支持按名称、邮箱屏蔽/信任指定评论者，支持批量添加和批量移除，白名单内评论者跳过前置过滤
- **前置过滤（合规检测）** — AI回复前对评论进行合规性分类，自动拦截广告/辱骂/敏感/乱码内容，节省Token；可选将违规评论设为待审核状态
- **误报反馈** — 被误拦截的评论可进行误报反馈，支持"AI回复"和"仅通过"两种处理方式，"仅通过"后可随时补触发 AI 回复
- **手动触发** — 在评论管理页面对历史评论手动触发AI回复
- **安全审核** — AI生成的内容经过安全审核，不合规内容自动拒绝
- **模块化提示词** — 拆分角色身份、安全审核、情感适配、输出规范、语言要求5个独立模块，各模块均为可选，留空使用默认值
- **对话轮次限制** — 同一评论线程中限制 AI 最多回复轮次，0为不限制，默认10轮
- **速率限制** — 每小时最大 AI 回复数量，0为不限制，防止批量评论消耗过多额度
- **日志筛选与实时刷新** — 按状态、情感、角色筛选，关键词搜索；实时刷新偏好自动保存（默认开启10秒间隔）
- **对话上下文查看** — 在日志页面查看完整对话上下文，支持引用摘要展示和 Gravatar 头像显示
- **数据清理** — 自动清理超过指定天数的旧记录，手动清理支持自定义时间节点（默认7天前），二次确认防误操作
- **配置导入导出** — 支持将插件配置导出为 JSON 文件，方便备份和迁移
- **智能状态检测** — 自动检测 AI Foundation 安装/启用/模型配置状态并给出快捷跳转；检测 Comment Next 插件冲突并提供配置页跳转
- **AI Foundation 集成** — 通过 Halo 官方推荐的 `ExtensionGetter` 获取 AI 服务，需安装 AI Foundation 插件

## 工作流程

```
新评论 → 唤醒词检查 → 过滤检查 → 前置过滤（合规检测） → 情感分析 → 构建Prompt → AI生成 → 安全审核 → 发布/草稿
                                                          ↓ (失败)
                                                        重试 → ... → 最终失败
```

1. **新评论到达** — Reconciler 监听到新评论创建事件
2. **唤醒词检查** — 检查评论是否以某个角色的唤醒词开头，匹配则唤醒对应角色
3. **过滤检查** — 检查文章/页面是否启用AI回复、评论者是否在黑名单中（唤醒词触发时绕过页面级启用检查）
4. **前置过滤（合规检测）** — 若启用，AI 对评论内容进行合规性分类（正常/广告/辱骂攻击/敏感内容/无意义）。违规评论将停止后续流程，可选自动设为待审核状态
5. **情感分析** — 调用AI分析评论情感倾向
6. **构建Prompt** — 结合AI角色人格、情感提示、文章内容、评论上下文构建Prompt
7. **AI生成** — 调用AI模型生成回复内容
8. **安全审核** — 对生成内容进行两阶段审核（安全检查 + 质量评分 1-5 分映射到 0-100）
9. **发布/草稿** — 根据设置自动发布或存为草稿等待审核
10. **重试** — 如果AI生成失败，系统会自动重试（最多 maxRetryCount 次），每次重试间隔递增

## 前置要求

- Halo 2.25+
- AI Foundation 插件（必须） — 本插件通过 `ExtensionGetter` 调用 AI Foundation 提供的 `AiModelService` 扩展点

## 技术栈

- **后端**：Java + Spring WebFlux + Reactive
- **前端**：Vue 3 + @halo-dev/components
- **AI**：通过 AI Foundation 插件集成
