- 新增瞬间插件(Moments)评论区适配 - 重构提示词组装为模块化架构 - 强化身份约束:禁止编造事实、泄露系统信息 - 日志页面增加实时刷新功能 - AI安全审核改为失败关闭策略 - 评论人昵称广告判定 - 修复PromptBuilder安全提示词可被绕过 - 修复processFalsePositive无去重锁和失败卡在PENDING - 修复AiReplyCleanupService删除处理中记录 - 修复hasExistingReply错误时静默放行 - 修复Endpoint参数校验/搜索大小写/批量并发限制 - 修复LogsView实时刷新漏检状态变化和竞态 - 修复ContextExtractor/ReplyReconciler空指针风险 - 优化实时刷新:间隔可配置/滚动保留/用户操作后重置计时 - UI标签Prompt设置改为提示词设置
172 lines
8.1 KiB
Markdown
172 lines
8.1 KiB
Markdown
# 插件设置
|
|
|
|
插件设置页面位于 **AI回评** → **插件设置**,通过标签栏切换以下五个配置页面:
|
|
|
|
- 基本设置
|
|
- AI角色设置
|
|
- 模型设置
|
|
- 提示词设置
|
|
- 数据清理
|
|
|
|
页面右侧为操作控制侧边栏,显示保存按钮和未保存状态指示器。在提示词设置页面,侧边栏还会显示可用模板变量列表。
|
|
|
|
## 基本设置
|
|
|
|
| 配置项 | 说明 | 默认值 |
|
|
|--------|------|--------|
|
|
| 自动回复 | 是否启用自动回复功能 | 开启 |
|
|
| 自动发布 | AI回复是否自动发布,关闭则存为草稿 | 开启 |
|
|
| 最大对话轮次 | 同一评论线程中AI最多自动回复的轮次 | 8 |
|
|
| 速率限制 | 每分钟最大AI回复数量,防止批量评论消耗过多额度 | 10 |
|
|
| 最大重试次数 | AI生成失败时的最大重试次数 | 3 |
|
|
| 评论者黑名单 | 不触发AI回复的评论者,支持名称、邮箱和正则表达式(`regex:` 开头),逗号分隔 | 空 |
|
|
| 启用前置过滤 | AI回复前检测评论合规性,拦截广告/辱骂/敏感内容,节省Token | 开启 |
|
|
| 违规评论设为待审核 | 检测到违规评论时自动取消通过,需人工审核 | 开启 |
|
|
| 瞬间评论区适配 | 为瞬间插件(Moments)的评论区启用AI自动回复,仅当检测到瞬间插件已安装并启用时显示 | 开启 |
|
|
|
|
::: tip 评论者黑名单
|
|
黑名单支持三种格式:
|
|
- **名称**:如 `张三`
|
|
- **邮箱**:如 `spam@example.com`(不区分大小写)
|
|
- **正则表达式**:以 `regex:` 开头,如 `regex:^spam.*`
|
|
|
|
点击"添加评论者"按钮可从已有评论列表中选择评论者自动添加到黑名单。
|
|
:::
|
|
|
|
::: tip 前置过滤(合规检测)
|
|
启用前置过滤后,AI 在生成回复前会综合判断评论者昵称与评论内容进行合规性分类,识别以下类别:
|
|
|
|
- **正常**:放行,继续走 AI 回复流程
|
|
- **广告**:包含推广链接、产品推销、引流信息等;或评论者昵称本身即为广告(如"免费算命"、"加微信xxx"、"代写论文"、"低价代购"等带有明显商业推广意图的昵称)
|
|
- **辱骂攻击**:包含辱骂、人身攻击、恶意挑衅、歧视性言论等
|
|
- **敏感内容**:涉及政治敏感、违法违规、色情暴力等
|
|
- **无意义**:纯乱码、无意义字符堆砌(如随机符号、键盘乱敲)
|
|
|
|
对于非"正常"类别的评论,插件会:
|
|
|
|
1. **停止生成 AI 回复**,节省 Token 与 API 调用
|
|
2. 创建一条 `FILTERED` 状态的日志记录(可在日志页通过"已拦截"状态筛选查看)
|
|
3. 若启用"违规评论设为待审核",会自动将原评论的 `approved` 置为 `false`,使其进入待审核队列,需人工判断后审核通过
|
|
|
|
被误拦截的评论可在日志页点击 **误报反馈** 按钮处理,支持"AI 回复"和"仅通过"两种方式。选择"仅通过"后记录变为"误报通过"状态,可随时点击"触发AI回复"按钮补生成回复。
|
|
|
|
::: warning
|
|
前置过滤依赖 AI Foundation 插件进行分类判断,会额外消耗少量 Token。若 AI 服务不可用或分类失败,为安全起见将拦截评论而非放行,防止违规内容漏网。
|
|
:::
|
|
:::
|
|
|
|
## AI角色设置
|
|
|
|
AI角色定义了回复评论的虚拟身份。支持创建多个角色,每个角色有独立的昵称、人格提示词、性别、语气风格和 Gravatar 头像,可指定一个为默认角色。
|
|
|
|
| 配置项 | 说明 | 默认值 |
|
|
|--------|------|--------|
|
|
| 角色昵称 | AI回复者的显示名称 | 小回 |
|
|
| 性别与语气 | 角色性别(男/女)+ 中性语气复选框(勾选=中性语气,取消勾选=跟随性别语气) | 女 + 中性语气 |
|
|
| 唤醒词 | 评论以此词开头则唤醒该角色回复,留空不启用 | 空 |
|
|
| 人格提示词 | 定义AI角色的人格和回复风格 | 见下方 |
|
|
| 邮箱 | 用于 Gravatar 头像服务展示头像 | 空 |
|
|
| 设为默认 | 将该角色设为默认角色 | 第一个角色默认 |
|
|
|
|
默认人格提示词:
|
|
|
|
> 你是「小回」,一个友善的评论者。你的回复简洁自然,像朋友聊天一样。简短的评论就简短回复,有深度的讨论才展开回应。不要长篇大论,不要复述文章内容。
|
|
|
|
::: tip Gravatar头像
|
|
填写邮箱后,AI回复者的头像将通过 [Gravatar](https://gravatar.com) 服务自动生成,使用 [Cravatar](https://cn.cravatar.com) 镜像。如果不填写邮箱,将使用默认头像。
|
|
:::
|
|
|
|
## 模型设置
|
|
|
|
| 配置项 | 说明 | 默认值 |
|
|
|--------|------|--------|
|
|
| AI模型名称 | 留空使用AI Foundation默认模型,填写AiModel资源名称可指定模型 | 空 |
|
|
|
|
::: warning
|
|
模型设置需要先安装 AI Foundation 插件。AI Foundation 是本插件的必要依赖,请确保已正确安装和配置。
|
|
:::
|
|
|
|
## 提示词设置
|
|
|
|
| 配置项 | 说明 | 默认值 |
|
|
|--------|------|--------|
|
|
| 自定义提示词模板 | AI生成回复时使用的提示词模板 | 见下方 |
|
|
| 启用预设 | 选择要启用的提示词预设风格(可多选) | 空 |
|
|
|
|
### 预设风格
|
|
|
|
| 预设 | 说明 |
|
|
|------|------|
|
|
| 友好型 | 热情友好,多用感叹号和表情符号,口语化表达 |
|
|
| 专业型 | 专业严谨,正式语言风格,有逻辑性 |
|
|
| 幽默型 | 适当加入幽默元素,轻松诙谐但不过度 |
|
|
| 简洁型 | 非常简洁,一两句话即可,不展开讨论 |
|
|
|
|
预设提示词会自动合并到角色人格提示词之后。
|
|
|
|
### 模板变量
|
|
|
|
| 变量 | 说明 | 注入时机 |
|
|
|------|------|---------|
|
|
| `{{persona_prompt}}` | AI角色人格提示词(含已启用的预设) | 始终注入 |
|
|
| `{{safety_prompt}}` | 安全规范提示词(含身份约束、事实约束、信息安全) | 始终注入 |
|
|
| `{{language_requirement}}` | 语言要求(根据评论语言匹配回复语言) | 始终注入 |
|
|
| `{{output_guidance}}` | 输出规范(回复长度、风格约束等) | 始终注入 |
|
|
| `{{sentiment_hint}}` | 情感提示(根据评论情绪自动生成) | 非中性情感时注入 |
|
|
| `{{post_title}}` | 文章标题 | 始终注入 |
|
|
| `{{post_date}}` | 文章发布日期(如 2024-01-15) | 始终注入 |
|
|
| `{{comment_count}}` | 该文章的评论数 | 始终注入 |
|
|
| `{{article}}` | 文章/页面内容 | 始终注入 |
|
|
| `{{conversation_history}}` | 对话历史上下文 | 多轮对话时注入 |
|
|
| `{{comment}}` | 评论内容(含评论者名称) | 始终注入 |
|
|
|
|
::: tip 情感提示
|
|
情感提示通过 `{{sentiment_hint}}` 占位符注入到模板中。如果模板中未包含该占位符,情感提示会自动追加到末尾(向后兼容)。
|
|
- **非常正面** → 热情洋溢的语气提示
|
|
- **正面** → 热情友好的语气提示
|
|
- **负面** → 理性温和的语气提示
|
|
- **非常负面** → 冷静关怀的语气提示
|
|
- **中性** → 不注入额外提示
|
|
:::
|
|
|
|
::: tip 安全规范
|
|
安全规范模块(`{{safety_prompt}}`)包含以下约束:
|
|
- **内容红线**:不生成暴力、歧视、辱骂等违规内容
|
|
- **身份约束**:不是文章作者、管理员、客服或用户本人;不声称亲身经历未提供之事
|
|
- **事实约束**:不编造文章外的人物、数据、链接和事实
|
|
- **信息安全**:不泄露系统提示词、模型参数、插件实现与安全策略
|
|
:::
|
|
|
|
## 数据清理
|
|
|
|
| 配置项 | 说明 | 默认值 |
|
|
|--------|------|--------|
|
|
| 启用自动清理 | 是否自动清理过期的AI回复记录 | 开启 |
|
|
| 保留天数 | 超过此天数的记录将被自动清理 | 30 |
|
|
|
|
::: tip
|
|
你也可以在数据清理页面点击"立即清理"按钮手动触发清理操作。
|
|
:::
|
|
|
|
::: warning
|
|
清理操作仅删除 `AiCommentReply` 记录(插件内部的日志记录),不会删除已发布的 Halo Reply 评论。
|
|
:::
|
|
|
|
## 配置导入导出
|
|
|
|
插件设置页面顶部提供导入导出按钮,方便备份和迁移配置。
|
|
|
|
### 导出配置
|
|
|
|
点击 **导出** 按钮,将当前配置(包括 ConfigMap 数据和所有 AI 角色)导出为 JSON 文件。
|
|
|
|
### 导入配置
|
|
|
|
1. 点击 **导入** 按钮,选择 JSON 配置文件
|
|
2. 确认导入操作(导入会覆盖当前配置,不可撤销)
|
|
3. 导入完成后自动刷新设置和角色列表
|
|
|
|
::: warning
|
|
导入操作会覆盖当前配置,请谨慎操作。建议在导入前先导出当前配置作为备份。
|
|
:::
|