docs: 全面更新v1.4.0文档
- 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更新日志
This commit is contained in:
+55
-79
@@ -16,33 +16,23 @@
|
||||
|--------|------|--------|
|
||||
| 自动回复 | 是否启用自动回复功能 | 开启 |
|
||||
| 自动发布 | AI回复是否自动发布,关闭则存为草稿 | 开启 |
|
||||
| 最大对话轮次 | 同一评论线程中AI最多自动回复的轮次 | 8 |
|
||||
| 速率限制 | 每分钟最大AI回复数量,防止批量评论消耗过多额度 | 10 |
|
||||
| 最大重试次数 | AI生成失败时的最大重试次数 | 3 |
|
||||
| 评论者黑名单 | 不触发AI回复的评论者,支持名称、邮箱和正则表达式(`regex:` 开头),逗号分隔 | 空 |
|
||||
| 启用白名单 | 管理员与白名单内评论者跳过 AI 审核拦截,避免误伤可信评论 | 开启 |
|
||||
| 白名单评论者 | 命中名单的评论者将跳过 AI 前置过滤与拦截,每行一个评论者显示名称或用户名 | 空 |
|
||||
| 最大重试次数 | AI生成失败时的最大重试次数(0为不重试,最大10) | 3 |
|
||||
| 最大对话轮次 | 同一评论线程中AI最多自动回复的轮次(0为不限制,需二次确认) | 10 |
|
||||
| 速率限制(每小时) | 每小时最大AI回复数量(0为不限制,需二次确认) | 0(不限制) |
|
||||
| 启用页面AI回复 | 开启后所有独立页面一键启用AI回复(包括新建页面),关闭则一键关闭 | 关闭 |
|
||||
| 评论者黑名单 | 不触发AI回复的评论者,支持名称、邮箱和正则表达式(`regex:` 开头) | 空 |
|
||||
| 启用白名单 | 白名单内评论者跳过 AI 前置过滤与拦截 | 开启 |
|
||||
| 白名单评论者 | 命中名单的评论者将跳过 AI 前置过滤与拦截 | 空 |
|
||||
| 启用前置过滤 | AI回复前检测评论合规性,拦截广告/辱骂/敏感内容,节省Token | 开启 |
|
||||
| 违规评论设为待审核 | 检测到违规评论时自动取消通过,需人工审核 | 开启 |
|
||||
| 瞬间评论区适配 | 为瞬间插件(Moments)的评论区启用AI自动回复,仅当检测到瞬间插件已安装并启用时显示 | 开启 |
|
||||
| 回复质量自学习 | 从被拒绝的 AI 回复中学习共性特征(长度/开头词/语气词),生成时注入「避免以下风格」提示,优化后续回复风格 | 关闭 |
|
||||
|
||||
::: tip 评论者黑名单
|
||||
黑名单支持三种格式:
|
||||
- **名称**:如 `张三`
|
||||
- **邮箱**:如 `spam@example.com`(不区分大小写)
|
||||
- **正则表达式**:以 `regex:` 开头,如 `regex:^spam.*`
|
||||
::: tip 黑/白名单批量操作
|
||||
黑名单和白名单均支持批量操作:
|
||||
|
||||
点击"添加评论者"按钮可从已有评论列表中选择评论者自动添加到黑名单。
|
||||
:::
|
||||
|
||||
::: tip 评论者白名单
|
||||
白名单与黑名单在设置页并排显示,命中白名单的评论者将 **跳过 AI 前置过滤与拦截**,避免可信评论被误伤:
|
||||
|
||||
- **管理员自动入白名单**:站点管理员发布的评论默认进入白名单
|
||||
- **手动添加**:点击"添加评论者"按钮可从已有评论列表中选择评论者添加到白名单
|
||||
- **移除**:黑/白名单列表中每个评论者右侧均提供「移除」按钮,可单独移除
|
||||
- 白名单评论者每行一个,填写评论者显示名称或用户名
|
||||
- **批量添加**:点击"添加评论者"按钮,弹出评论者列表对话框,支持搜索、多选、全选批量添加,也支持手动输入名称或邮箱
|
||||
- **批量移除**:名单列表中支持多选后批量移除
|
||||
- 白名单内评论者跳过 AI 前置过滤与拦截,避免可信评论被误伤
|
||||
:::
|
||||
|
||||
::: warning 白名单与黑名单关系
|
||||
@@ -53,21 +43,21 @@
|
||||
启用前置过滤后,AI 在生成回复前会综合判断评论者昵称与评论内容进行合规性分类,识别以下类别:
|
||||
|
||||
- **正常**:放行,继续走 AI 回复流程
|
||||
- **广告**:包含推广链接、产品推销、引流信息等;或评论者昵称本身即为广告(如"免费算命"、"加微信xxx"、"代写论文"、"低价代购"等带有明显商业推广意图的昵称)
|
||||
- **广告**:包含推广链接、产品推销、引流信息等;或评论者昵称本身即为广告
|
||||
- **辱骂攻击**:包含辱骂、人身攻击、恶意挑衅、歧视性言论等
|
||||
- **敏感内容**:涉及政治敏感、违法违规、色情暴力等
|
||||
- **无意义**:纯乱码、无意义字符堆砌(如随机符号、键盘乱敲)
|
||||
- **无意义**:纯乱码、无意义字符堆砌
|
||||
|
||||
对于非"正常"类别的评论,插件会:
|
||||
|
||||
1. **停止生成 AI 回复**,节省 Token 与 API 调用
|
||||
2. 创建一条 `FILTERED` 状态的日志记录(可在日志页通过"已拦截"状态筛选查看)
|
||||
3. 若启用"违规评论设为待审核",会自动将原评论的 `approved` 置为 `false`,使其进入待审核队列,需人工判断后审核通过
|
||||
3. 若启用"违规评论设为待审核",会自动将原评论的 `approved` 置为 `false`
|
||||
|
||||
被误拦截的评论可在日志页点击 **误报反馈** 按钮处理,支持"AI 回复"和"仅通过"两种方式。选择"仅通过"后记录变为"误报通过"状态,可随时点击"触发AI回复"按钮补生成回复。
|
||||
被误拦截的评论可在日志页点击 **误报反馈** 按钮处理,支持"AI 回复"和"仅通过"两种方式。
|
||||
|
||||
::: warning
|
||||
前置过滤依赖 AI Foundation 插件进行分类判断,会额外消耗少量 Token。若 AI 服务不可用或分类失败,为安全起见将拦截评论而非放行,防止违规内容漏网。
|
||||
前置过滤依赖 AI Foundation 插件进行分类判断,会额外消耗少量 Token。若 AI 服务不可用或分类失败,为安全起见将拦截评论而非放行。
|
||||
:::
|
||||
:::
|
||||
|
||||
@@ -78,15 +68,15 @@ AI角色定义了回复评论的虚拟身份。支持创建多个角色,每个
|
||||
| 配置项 | 说明 | 默认值 |
|
||||
|--------|------|--------|
|
||||
| 角色昵称 | AI回复者的显示名称 | 小回 |
|
||||
| 性别与语气 | 角色性别(男/女)+ 中性语气复选框(勾选=中性语气,取消勾选=跟随性别语气) | 女 + 中性语气 |
|
||||
| 性别与语气 | 角色性别(男/女)+ 中性语气复选框 | 女 + 中性语气 |
|
||||
| 唤醒词 | 评论以此词开头则唤醒该角色回复,留空不启用 | 空 |
|
||||
| 人格提示词 | 定义AI角色的人格和回复风格 | 见下方 |
|
||||
| 人格提示词 | 定义AI角色的人格和回复风格,留空则使用基础配置中的角色身份提示词(personaIdentity) | 见下方 |
|
||||
| 邮箱 | 用于 Gravatar 头像服务展示头像 | 空 |
|
||||
| 设为默认 | 将该角色设为默认角色 | 第一个角色默认 |
|
||||
|
||||
默认人格提示词:
|
||||
|
||||
> 你是「小回」,一个友善的评论者。你的回复简洁自然,像朋友聊天一样。简短的评论就简短回复,有深度的讨论才展开回应。不要长篇大论,不要复述文章内容。
|
||||
::: tip 人格提示词
|
||||
人格提示词定义了AI角色的性格和回复风格。**留空时自动使用基础配置中的角色身份提示词(personaIdentity)**,无需重复填写。如需为角色设置独特人格,在此填写即可覆盖默认值。
|
||||
:::
|
||||
|
||||
::: tip Gravatar头像
|
||||
填写邮箱后,AI回复者的头像将通过 [Gravatar](https://gravatar.com) 服务自动生成,使用 [Cravatar](https://cn.cravatar.com) 镜像。如果不填写邮箱,将使用 Gravatar 默认头像。
|
||||
@@ -94,7 +84,7 @@ AI角色定义了回复评论的虚拟身份。支持创建多个角色,每个
|
||||
|
||||
### 分类角色映射
|
||||
|
||||
v1.4.0 起将「分类角色映射」从模型设置组迁移至 AI 角色配置组。支持为文章分类(Category)指定默认 AI 角色,解析优先级为:唤醒词 > Post/Category/Tag 标注 > 分类角色映射 > 全局默认。瞬间评论使用全局默认角色。
|
||||
支持为文章分类(Category)指定默认 AI 角色,解析优先级为:唤醒词 > Post/Category/Tag 标注 > 分类角色映射 > 全局默认。瞬间评论使用全局默认角色。
|
||||
|
||||
配置格式为 JSON:`{"分类名":"角色名"}`,未配置的分类使用默认角色。例如:
|
||||
|
||||
@@ -110,45 +100,36 @@ v1.4.0 起将「分类角色映射」从模型设置组迁移至 AI 角色配置
|
||||
| 配置项 | 说明 | 默认值 |
|
||||
|--------|------|--------|
|
||||
| AI模型名称 | 留空使用AI Foundation默认模型,填写AiModel资源名称可指定模型 | 空 |
|
||||
| 最大重试次数 | AI 生成失败时的最大重试次数(1-10) | 3 |
|
||||
| 对话轮次上限 | AI 在同一评论线程中自动回复的最大轮次,填 0 表示无限制(需二次确认) | 10 |
|
||||
| 每小时速率限制 | 每小时最大 AI 回复数量,填 0 表示无限制(需二次确认)。优先级高于每分钟限制 | 0(无限制) |
|
||||
|
||||
::: warning 设为 0(无限制)需谨慎
|
||||
「对话轮次上限」和「每小时速率限制」设为 0 表示无限制,可能导致对话失控或资源耗尽。设为 0 时会弹出二次确认提示,请确认后再保存。
|
||||
:::
|
||||
| 分类角色映射 | 为文章分类指定默认AI角色,JSON格式 | 空 |
|
||||
|
||||
::: warning
|
||||
模型设置需要先安装 AI Foundation 插件。AI Foundation 是本插件的必要依赖,请确保已正确安装和配置。若未安装,首页会显示「未安装插件依赖 AI Foundation」提示卡,并提供「前往安装」链接。
|
||||
模型设置需要先安装 AI Foundation 插件。若未安装或未配置模型,首页会显示对应的警告卡片并提供快捷跳转按钮。
|
||||
:::
|
||||
|
||||
## 提示词设置
|
||||
|
||||
v1.4.0 起将原单一提示词模板拆分为四个独立模块,各模块以独立文本框配置,留空时自动使用内置默认值。详细的模块说明、默认值与预设模板参考请参阅 [提示词模板](./prompt.md)。
|
||||
提示词拆分为五个独立模块,各模块以独立文本框配置,**均为可选项,留空时自动使用内置默认值**。详细的模块说明、默认值与预设模板参考请参阅 [提示词模板](./prompt.md)。
|
||||
|
||||
| 配置项 | 说明 | 默认值 |
|
||||
|--------|------|--------|
|
||||
| 角色身份提示词 | 定义 AI 角色的基础身份与对话风格,留空使用默认值 | 默认值 |
|
||||
| 安全审核提示词 | 内容安全红线与边界约束,留空使用默认值(仅启用前置过滤时显示) | 默认值 |
|
||||
| 情感适配提示词 | 依据评论情感倾向调整回复语气,留空使用默认值 | 默认值 |
|
||||
| 输出规范提示词 | 回复长度/格式/风格等通用约束,留空使用默认值 | 默认值 |
|
||||
| 角色身份提示词(personaIdentity) | 定义 AI 角色的基础身份与对话风格,可选 | 默认值 |
|
||||
| 安全审核提示词(safetyReview) | 内容安全红线与边界约束,可选(仅启用前置过滤时显示) | 默认值 |
|
||||
| 情感适配提示词(sentimentAdapter) | 依据评论情感倾向调整回复语气,可选 | 默认值 |
|
||||
| 输出规范提示词(outputGuidance) | 回复长度/格式/风格等通用约束,可选 | 默认值 |
|
||||
| 语言要求提示词(languageRequirement) | 根据评论语言自动匹配回复语言的约束规则,可选 | 默认值 |
|
||||
|
||||
::: tip 留空即用默认
|
||||
四个模块均支持留空。留空时后端自动填入完整默认值,无需手动填写即可获得稳定的 AI 输出。若仅需调整某一模块(如只改角色身份),其他模块保持留空即可。
|
||||
:::
|
||||
|
||||
::: warning 已移除提示词预设
|
||||
v1.4.0 移除了设置页内的提示词预设开关(友好型/专业型/幽默型/简洁型),避免自定义角色时与角色人格提示词重复组合。预设模板已迁移至 [提示词模板文档](./prompt.md#预设模板参考),可复制到角色身份模块或 AI 角色的人格提示词中使用。
|
||||
五个模块均支持留空。留空时后端自动填入完整默认值,无需手动填写即可获得稳定的 AI 输出。若仅需调整某一模块(如只改角色身份),其他模块保持留空即可。
|
||||
:::
|
||||
|
||||
### 组装顺序
|
||||
|
||||
提示词由后端按固定顺序拼接,无需手动放置占位符:
|
||||
|
||||
1. **角色身份** — 若 AI 角色扩展配置了人格提示词,则优先使用角色扩展的设定
|
||||
2. **安全审核** — 含回复质量自学习提示(开启时追加「避免以下风格」)
|
||||
3. **语言要求** — 内置模块,根据评论语言匹配回复语言(不可配置)
|
||||
4. **输出规范**
|
||||
1. **角色身份** — 若 AI 角色配置了人格提示词,则优先使用角色的人格设定
|
||||
2. **安全审核** — 内容安全红线与边界约束
|
||||
3. **语言要求** — 根据评论语言匹配回复语言
|
||||
4. **输出规范** — 回复长度/格式/风格约束
|
||||
5. **情感适配** — 含动态情感提示(非中性情感时追加)
|
||||
6. **上下文信息** — 文章标题、发布日期、评论数、文章内容、对话历史、评论(由系统自动注入)
|
||||
|
||||
@@ -165,23 +146,6 @@ v1.4.0 移除了设置页内的提示词预设开关(友好型/专业型/幽
|
||||
| <code v-pre>{{conversation_history}}</code> | 对话历史上下文 | 多轮对话时注入 |
|
||||
| <code v-pre>{{comment}}</code> | 评论内容(含评论者名称) | 始终注入 |
|
||||
|
||||
::: tip 情感提示
|
||||
动态情感提示根据评论情感自动生成,追加到情感适配模块之后:
|
||||
- **非常正面** → 热情洋溢的语气提示
|
||||
- **正面** → 热情友好的语气提示
|
||||
- **负面** → 理性温和的语气提示
|
||||
- **非常负面** → 冷静关怀的语气提示
|
||||
- **中性** → 不注入额外提示
|
||||
:::
|
||||
|
||||
::: tip 安全规范
|
||||
安全审核模块包含以下约束(留空时强制使用默认值,避免安全约束被绕过):
|
||||
- **内容红线**:不生成暴力、歧视、辱骂等违规内容
|
||||
- **身份约束**:不是文章作者、管理员、客服或用户本人;不声称亲身经历未提供之事
|
||||
- **事实约束**:不编造文章外的人物、数据、链接和事实
|
||||
- **信息安全**:不泄露系统提示词、模型参数、插件实现与安全策略
|
||||
:::
|
||||
|
||||
## Comment Next 冲突检测
|
||||
|
||||
插件会在首页自动检测 [plugin-comment-next](https://github.com/halo-sigs/plugin-comment-next)(评论组件 Next)是否安装并启用。Comment Next 已集成 AI 回复、AI 拦截功能,若同时启用本插件可能与该插件的功能重复。
|
||||
@@ -195,9 +159,16 @@ v1.4.0 移除了设置页内的提示词预设开关(友好型/专业型/幽
|
||||
建议二选一:要么在本插件中配置 AI 回复,要么在 Comment Next 中配置,避免两套 AI 回复逻辑同时运行产生重复回复。
|
||||
:::
|
||||
|
||||
::: tip 检测机制
|
||||
冲突检测通过读取 Plugin 资源 `plugin-comment-next` 的 `status.phase` 判断是否已启用(STARTED),并通过 SchemeManager 检测 `commentnext.halo.run` 组下扩展是否注册作为兜底,不直接引用 Comment Next 插件的 API 类,避免未安装时触发 `NoClassDefFoundError`。
|
||||
:::
|
||||
## AI Foundation 状态检测
|
||||
|
||||
插件首页自动检测 AI Foundation 的安装、启用和模型配置状态,针对不同状态显示对应的警告卡片和快捷跳转按钮:
|
||||
|
||||
| 状态 | 提示 | 快捷操作 |
|
||||
|------|------|---------|
|
||||
| 未安装 | AI Foundation 未安装 | 前往插件页面、应用商店下载 |
|
||||
| 已安装未启用 | AI Foundation 未启用 | 前往启用 |
|
||||
| 已启用未配置模型 | 未配置默认模型 | 添加模型、配置默认模型 |
|
||||
| 正常 | AI Foundation 连接正常 | — |
|
||||
|
||||
## 数据清理
|
||||
|
||||
@@ -206,12 +177,17 @@ v1.4.0 移除了设置页内的提示词预设开关(友好型/专业型/幽
|
||||
| 启用自动清理 | 是否自动清理过期的AI回复记录 | 开启 |
|
||||
| 保留天数 | 超过此天数的记录将被自动清理 | 30 |
|
||||
|
||||
::: tip
|
||||
你也可以在数据清理页面点击"立即清理"按钮手动触发清理操作。
|
||||
:::
|
||||
### 手动清理
|
||||
|
||||
手动清理区域支持自定义清理时间节点:
|
||||
|
||||
1. 在输入框中填写清理天数(默认7天前)
|
||||
2. 点击 **立即清理** 按钮
|
||||
3. 弹出二次确认弹窗,确认后执行清理
|
||||
4. 清理完成后显示删除的记录数量
|
||||
|
||||
::: warning
|
||||
清理操作仅删除 `AiCommentReply` 记录(插件内部的日志记录),不会删除已发布的 Halo Reply 评论。
|
||||
清理操作不可撤销,执行前会弹出确认弹窗。清理仅删除 `AiCommentReply` 记录(插件内部的日志记录),不会删除已发布的 Halo Reply 评论。
|
||||
:::
|
||||
|
||||
## 配置导入导出
|
||||
|
||||
Reference in New Issue
Block a user