55 lines
3.6 KiB
Markdown
55 lines
3.6 KiB
Markdown
# 插件介绍
|
||
|
||
AI回评(Comment AI Autopilot)是一个 Halo 博客系统的插件,能够自动为博客评论生成AI回复。
|
||
|
||
## 核心功能
|
||
|
||
- **自动回复** — 监听新评论,自动调用AI生成回复,支持多轮对话上下文
|
||
- **多 AI 角色** — 支持创建多个 AI 角色,每个角色有独立的昵称、人格提示词、性别、语气风格和 Gravatar 头像,可为不同文章指定不同角色
|
||
- **唤醒词** — 评论以唤醒词开头可唤醒指定角色回复,支持自定义唤醒词,可在未启用AI回评的页面使用唤醒词召唤AI
|
||
- **性别与语气** — AI角色支持性别配置(男/女)和中性语气风格,AI回复时保持对应性别身份
|
||
- **多语言适配** — 根据评论语言自动用对应语言回复
|
||
- **情感分析** — 分析评论情感倾向(非常正面/正面/中性/负面/非常负面),根据情感调整回复语气
|
||
- **草稿模式** — AI回复先存为草稿,管理员审核后再发布
|
||
- **失败重试** — AI生成失败时自动重试,指数退避策略
|
||
- **批量操作** — 草稿模式下支持批量通过/拒绝/删除
|
||
- **文章/页面级开关** — 在文章编辑器中直接控制是否启用AI回复,文章默认开启,页面默认关闭
|
||
- **评论者黑名单** — 屏蔽指定评论者,不触发AI回复,支持名称、邮箱和正则表达式
|
||
- **手动触发** — 在评论管理页面对历史评论手动触发AI回复
|
||
- **安全审核** — AI生成的内容经过两阶段安全审核(安全检查 + 质量评分),不合规内容自动拒绝
|
||
- **Prompt 预设** — 内置友好型、专业型、幽默型、简洁型预设风格,可多选组合
|
||
- **对话轮次限制** — 同一评论线程中限制 AI 最多回复轮次,防止无限对话
|
||
- **速率限制** — 每分钟最大 AI 回复数量,防止批量评论消耗过多额度
|
||
- **日志筛选搜索** — 按状态、情感筛选,关键词搜索
|
||
- **数据清理** — 自动清理超过指定天数的旧记录
|
||
- **AI Foundation 集成** — 通过 Halo 官方推荐的 `ExtensionGetter` 获取 AI 服务,需安装 AI Foundation 插件
|
||
|
||
## 工作流程
|
||
|
||
```
|
||
新评论 → 唤醒词检查 → 过滤检查 → 情感分析 → 构建Prompt → AI生成 → 安全审核 → 发布/草稿
|
||
↓ (失败)
|
||
重试 → ... → 最终失败
|
||
```
|
||
|
||
1. **新评论到达** — Reconciler 监听到新评论创建事件
|
||
2. **唤醒词检查** — 检查评论是否以某个角色的唤醒词开头,匹配则唤醒对应角色
|
||
3. **过滤检查** — 检查文章/页面是否启用AI回复、评论者是否在黑名单中(唤醒词触发时绕过页面级启用检查)
|
||
4. **情感分析** — 调用AI分析评论情感倾向
|
||
5. **构建Prompt** — 结合AI角色人格、情感提示、文章内容、评论上下文构建Prompt
|
||
6. **AI生成** — 调用AI模型生成回复内容
|
||
7. **安全审核** — 对生成内容进行两阶段审核(安全检查 + 质量评分 1-5 分映射到 0-100)
|
||
8. **发布/草稿** — 根据设置自动发布或存为草稿等待审核
|
||
9. **重试** — 如果AI生成失败,系统会自动重试(最多 maxRetryCount 次),每次重试间隔递增
|
||
|
||
## 前置要求
|
||
|
||
- Halo 2.25+
|
||
- AI Foundation 插件(必须) — 本插件通过 `ExtensionGetter` 调用 AI Foundation 提供的 `AiModelService` 扩展点
|
||
|
||
## 技术栈
|
||
|
||
- **后端**:Java + Spring WebFlux + Reactive
|
||
- **前端**:Vue 3 + @halo-dev/components
|
||
- **AI**:通过 AI Foundation 插件集成
|