FastComments.com

内容审核

审核

FastComments 为所有可用的产品方案提供了一套强大的讨论审核功能。

本指南将首先介绍各种工具,然后对常见用例和注意事项进行详细说明。


审核员 Internal Link

版主是特殊用户,仅能访问您 FastComments 帐户的“审核评论”页面。

他们不能添加或移除其他版主或编辑审核设置。不过,他们对评论数据 显示在“审核评论”页面上,并且可以在单个评论级别上执行管理员可以执行的所有操作。他们也可以 执行批量操作。

他们无法访问数据管理工具(导入/导出/迁移评论)。

移除审核员 Internal Link

要删除一名版主,在“编辑版主”页面,只需点击 "删除"。

他们将立即无法继续管理你的评论,并会收到一封电子邮件通知他们 他们已被移除。

注意,如果你只是想更新他们的电子邮件,你可以点击 "编辑" 来完成。更推荐这样做,因为 他们的统计数据不会被删除。

可以使用以下示例语法搜索评论:

  • 模糊词搜索: cats love
  • 精确短语匹配: I love cats.
  • 精确完整评论匹配: exact="I love cats."
    • 只匹配整个评论文本完全等于该值的评论(区分大小写),而不是仅包含该文本的评论。
  • 按页面标题: page:"Page Title"
    • 支持自动完成。
  • 按页面 URL: page:"https://example.com/some-page"
    • 支持自动完成。
  • 按站点/域名: site:mysite.com or domain:othersite.com
  • 按用户: user:"Bob"
    • 支持自动完成。

您可以通过分享审核页面的页面 URL,将搜索结果与其他版主或管理员共享。搜索字段 的值将在您点击 "Go" 后包含在浏览器的 URL 中。



使用 FastComments,版主可以共享指向版主仪表板的链接,该链接可直接跳转到带有某些筛选条件的特定页面。

例如,以下使用场景:

  • 版主 A 打开评论审核仪表板
  • 版主 A 按“需要审核的评论”进行筛选
  • 版主 A 搜索文本为“我的公司名称”的评论
  • 在搜索结果的第二页,版主 A 发现了有趣的内容。
  • 版主 A 可以分享该页面的链接给版主 B。
  • 版主 B 可以看到版主 A 的操作。

审核操作 Internal Link

在 FastComments 中,管理员和版主可以对每条评论执行多种操作,具体包括:

  • Deleting that comment
  • Delete that comment + Ban the user (Permanent or Shadow, more details later)
  • Edit that comment
  • Adjust the votes of that comment
  • Mark that comment Reviewed or Not Reviewed
  • Mark that comment Approved or Not Approved
  • Mark that comment as Spam or Not Spam
  • 查看来自相同的 IP address 的所有评论 *1.
  • Reset the Flag Count on a comment.

例如,要保留一条评论但将其隐藏,我们可以简单地将其标记为 Not Approved。

此外,管理员和版主可以置顶评论,但只能在评论线程中执行此操作。

以上所有操作也可以通过键盘快捷键完成。详情请参见 键盘快捷键 一节。

*1 我们不会为此功能存储原始 ip addresses。

删除评论 Internal Link

在删除评论时需要考虑几件事。

  1. 原始撰写该评论的用户会看到什么。
  2. 该评论的任何回复会发生什么。

当您删除一条评论时,该评论对原始撰写它的用户而言也会消失。

此外,该评论会从任何正在阅读该评论的用户的屏幕上移除。

如果该评论有回复,以及这些回复的回复,它们也会立即被删除。线程中的父评论将被保留。

来自评论组件的审核操作 Internal Link

A subset of moderation actions can be taken directly from the comment thread itself, without having to go to the Comment Moderation page.

When you are logged in, click the edit button in the top right of a comment. You should have the following options as a moderator:

  • 置顶 该评论
  • 删除 该评论
  • 删除 该评论 + 封禁该用户(永久封禁或影子封禁(Shadow),稍后有更多细节)
  • 编辑 该评论
  • 锁定 或 解锁 该评论(更多细节见下文)
  • 将该评论标记为 已批准(显示)或 未批准(隐藏)
  • 将该评论标记为 垃圾评论 或 非垃圾评论

锁定评论

锁定单条评论会阻止对其进行任何新的回复,同时在解锁之前也会阻止该评论被编辑或删除。这适用于所有人,包括管理员和版主。如果你需要编辑或移除被锁定的评论,请先解锁,进行更改,然后根据需要重新锁定。

被锁定的评论右上角会出现一个锁形图标,读者可以一目了然地看到该线程已关闭。在评论组件和公共 API 中,被锁定的评论会隐藏“编辑”和“删除”菜单项(如果对被锁定的评论调用 PATCH 和 DELETE,将返回 code: 'locked')。

有两个有意的例外会绕过锁定,因为否则会留下孤立的数据:当用户删除其整个帐户时(不管锁定状态如何,其评论都会被清理),以及当版主在封禁用户时选择“删除该用户的所有评论”选项时(清理操作会清除锁定)。

关闭评论线程

版主和管理员可以通过在评论区域顶部的三点菜单中选择 Close Thread 来锁定或关闭评论线程(需登录)。他们可以在任何时候稍后选择 Re-Open Thread 来重新开放评论。

关闭评论线程会阻止新的评论,但仍允许投票,并允许用户在需要时删除他们的评论。

关闭和重新打开评论线程会立即影响所有正在查看该线程的用户。

你也可以通过为该页面创建专门的自定义规则,将线程标记为只读,从而移除投票和删除选项。

实时更新

所有这些操作都会立即更新其他用户的评论线程,无需他们重新加载页面。然而,像隐藏评论或将其标记为垃圾评论这样的版主操作,并不会从 版主的 屏幕上移除该评论,以便在需要时他们可以快速撤销该操作。为了表明该评论被隐藏,它会与其他评论相比被高亮显示(高亮颜色取决于移除的原因)。

For example, given users A (commenter), B (Moderator 1), and C (Moderator 2).

...

and the following scenario:

  1. User B (Moderator 1) 隐藏了一条评论。
  2. 对于 User A (commenter),该评论会被立即隐藏。
  3. 对于 User C (Moderator 2),该评论会被立即隐藏。
  4. 对于发起更改的用户,User B (Moderator 1),该评论仍然显示在他们的屏幕上,但会以已移除的方式高亮显示。他们可以选择撤销该操作,若撤销,其他用户将再次实时看到更新。

实时审核 Internal Link

管理页面上的所有操作都是实时。

如果有人正在查看评论线程,而你批准了先前未被批准的评论,该评论会自动出现在他们的视图中。

编辑、删除和标记为垃圾评论也是如此。

实时新评论通知

管理页面还会在有符合当前筛选条件的新评论到达时提醒你。横幅会出现在顶部的 评论列表,显示有多少条新评论在等待。点击横幅会在不刷新整个页面的情况下将它们内联加载。

此功能适用于所有筛选条件 —— 如果你只在查看垃圾评论,你只会收到关于新垃圾评论的通知。如果你在搜索包含特定短语的评论,只有匹配的评论会触发通知。

如果你的连接暂时中断,系统在重新连接后会自动补上你错过的任何评论。

使用通配符封禁用户 Internal Link


可以使用通配符禁止使用特定电子邮件提供商的用户。

例如,如果您发现来自 @bademail.com 的所有评论都是垃圾评论,您可以通过在添加被禁止用户时的电子邮件输入字段中输入 "*@bademail.com" 来直接禁止整个电子邮件提供商。

请注意电子邮件中 @ 前面的 "*"。

Subdomains

域名封禁同样适用于该域名的所有子域。封禁 *@bademail.com 也会封禁 someone@mail.bademail.com 和 someone@eu.mail.bademail.com,因此无需为每个子域单独添加封禁。

如果您只想封禁特定子域,请改为输入该子域,例如 *@mail.bademail.com。此封禁不会影响 someone@bademail.com。

Banning a Domain From a Comment

您无需手动输入模式。当您在“审核评论”页面从评论中封禁用户时,封禁对话框中有一个 "Ban All @domain Users" 复选框,可为评论者的电子邮件域创建相同的 *@domain 封禁。

Supported Patterns

唯一受支持的通配符形式是用单个 * 替代完整的用户名部分,后跟 @ 和域名。其他形式在保存时会被拒绝:

  • *@*.bademail.com 并不需要,因为 *@bademail.com 已经覆盖了子域。
  • name*@bademail.com 和 *bademail.com 不受支持。

批量操作 Internal Link

在进行审核时,有时会有一系列我们希望一次性执行的操作。例如,你可能会发现一 系列评论,需要删除、标记为垃圾评论、取消批准或仅标记为已审核。与其在每条评论上逐个点击“删除”和“确认” 不如用一种更好的方法。

在每条评论旁边都有一个复选框,我们可以点击它来开始一个批量操作。接着可以选择一个批量操作并确认它。

在执行批量操作时,你会看到进度,并且可以 ctrl+z 撤销任何批量操作。批量操作也可以 被暂停、停止或恢复。

选择可见范围之外的评论

如果你勾选“全选”复选框,它默认只会选择页面上可见的评论,但它会 为你提供一个选项,以选择服务器上与筛选条件匹配的所有评论。因此,即使你需要批准、删除等 数百万条评论,你也可以通过几次点击完成。

垃圾评论检测 Internal Link

默认情况下,FastComments 附带可训练的垃圾评论检测。

当您审核评论,并将其标记为 垃圾评论,或将自动识别为 垃圾评论 的评论标记为 非垃圾 时,垃圾检测系统会从这些操作中学习,以更准确地判定您希望视为垃圾的内容。

被标记为 垃圾评论 的评论不会被自动批准,因此在明确标注为 非垃圾 之前不会显示。

可以在 评论审核设置 页面禁用垃圾评论检测。

不同的垃圾检测器

FastComments 支持三种检测垃圾的方式:

  1. 一个持续训练的朴素贝叶斯分类器(Naïve-Bayes),跨所有 FastComments.com 租户共享。
  2. 一个持续训练的朴素贝叶斯分类器(Naïve-Bayes),该分类器仅限于您的租户。
  3. 使用 ChatGPT 4。

每个人都可以使用共享和隔离的朴素贝叶斯分类器。

如果您使用 Flex 计费方案,则可以在 评论审核设置 页面选择 ChatGPT 4 选项,因为它按使用的令牌计费。

信任因子

FastComments 会根据用户在特定站点上的信任度来调整垃圾过滤器。

例如,如果管理员为他们的许多评论置顶,那么他们很可能是非常值得信赖的用户。或者,如果他们在站点上是长期成员并拥有大量评论,那么他们的信任因子也可能很高。

SSO

SSO 用户发表的评论可能会被视为垃圾评论,并会作为垃圾进行检查。例外情况是该 SSO 用户的电子邮件与具有下列一种或多种权限的租户用户相同:

  • Account Owner
  • Super Admin
  • Comment Moderator Admin

具有这些权限的 SSO 用户的评论将不会被进行垃圾检测。

重复消息

FastComments 会检测并阻止重复消息。它还会检测非常相似的重复消息以帮助防止垃圾评论。这一功能无法被禁用,因为它可以防止我们的平台被用于滥用。如果您的信任因子较高,在执行重复消息防护时会考虑这一点。

评论日志 Internal Link

FastComments 自动跟踪每条评论的详细事件,以提供对审核决策和系统操作的透明度。这些日志帮助您了解为何评论被批准、被标记为垃圾信息或其状态被更改。

访问评论日志

要查看特定评论的日志:

  1. 在您的 FastComments 仪表板中进入 Moderate Comments 页面
  2. 找到您想要检查的评论
  3. 点击评论操作栏中的 View Logs 按钮(时钟图标)
  4. 将弹出一个对话框,显示该评论的完整事件历史

每条日志条目显示:

  • When - 事件的时间戳
  • Who - 触发事件的用户或系统(如适用)
  • What - 动作或事件的类型
  • Details - 其他上下文信息,例如前后值、引擎名称或相关数据

评论日志事件

每条评论在其生命周期中会维护一系列事件日志。以下是被跟踪的事件类型:

匿名化事件

  • Anonymized - 评论内容被清除,用户标记为已删除
  • RestoredFromAnonymized - 评论从匿名化状态恢复

审批事件

  • ApprovedDueToPastComment - 因用户之前有已批准的评论而批准(包括对过去评论的引用)
  • ApprovedIsAdmin - 因用户是管理员而批准
  • NotApprovedRequiresApproval - 评论需要人工审批
  • NotApprovedLowTrustFactor - 因用户信任因子低而未批准(包括信任因子值)

个人资料评论审批事件

这些事件专用于用户个人资料上的评论:

  • ApprovedProfileAutoApproveAll - 因个人资料所有者启用了所有评论的自动批准而自动批准
  • ApprovedProfileTrusted - 因评论者被信任而批准(包括建立信任的评论引用)
  • NotApprovedProfileManualApproveAll - 因个人资料所有者启用了手动批准而需要人工审批
  • NotApprovedProfileNotTrusted - 因评论者未被信任而未批准
  • NotApprovedProfileNewUser - 因评论者是新用户而未批准

垃圾信息检测事件

  • IsSpam - 被检测引擎标记为垃圾信息(包括作出决定的引擎)
  • IsSpamDueToBadWords - 因不当词汇过滤器而标记为垃圾信息
  • IsSpamFromLLM - 被 AI/LLM 引擎标记为垃圾信息(包括引擎名称、响应和令牌计数)
  • IsSpamRepeatComment - 因重复性而标记为垃圾信息(包括检测到的引擎)
  • NotSpamIsOnlyImage - 因仅包含图片而未标记为垃圾信息
  • NotSpamIsOnlyReacts - 因仅包含表情而未标记为垃圾信息
  • NotSpamNoLinkOrMention - 因没有可疑链接或提及而未标记为垃圾信息
  • NotSpamPerfectTrustFactor - 因用户信任度高而未标记为垃圾信息
  • NotSpamTooShort - 因过短无法分析而未标记为垃圾信息
  • NotSpamSkipped - 垃圾信息检查被跳过
  • NotSpamFromEngine - 被检测引擎判定为非垃圾信息(包括引擎名称和信任因子)

不当词汇/脏话事件

  • BadWordsCheckFailed - 脏话过滤检查时出现错误
  • BadWordsFoundBadPhrase - 脏话过滤检测到不当短语(包括该短语)
  • BadWordsFoundBadWord - 脏话过滤检测到不当词汇(包括该词)
  • BadWordsNoDefinitionForLocale - 评论语言缺少脏话定义(包括语言地区)

用户验证事件

  • CommentMustBeVerifiedToApproveNotInVerifiedSession - 评论需要验证,但用户不在已验证会话中
  • CommentMustBeVerifiedToApproveNotVerifiedYet - 评论需要验证,但用户尚未完成验证
  • InVerifiedSession - 发布评论的用户处于已验证会话中
  • SentVerificationEmailNoSession - 向未验证用户发送验证邮件
  • SentWelcomeEmail - 向新用户发送欢迎邮件

信任与安全事件

  • TrustFactorChanged - 用户的信任因子被修改(包括前后值)
  • SpamFilterDisabledBecauseAdmin - 因管理员身份绕过垃圾信息过滤
  • TenantSpamFilterDisabled - 为整个租户禁用垃圾信息过滤
  • RepeatCommentCheckIgnored - 重复评论检查被绕过(包括原因)
  • UserIsAdmin - 用户被识别为管理员
  • UserIsAdminParentTenant - 用户被识别为父租户管理员
  • UserIsAdminViaSSO - 用户通过 SSO 被识别为管理员
  • UserIsMod - 用户被识别为版主

评论状态变更

状态变更事件包括前后值以及执行变更的用户:

  • ExpireStatusChanged - 评论的过期状态被修改
  • ReviewStatusChanged - 评论的审查状态被更改
  • SpamStatusChanged - 评论的垃圾信息状态被更新
  • ApproveStatusChanged - 评论的批准状态被更改
  • TextChanged - 评论文本内容被编辑(包括前后文本)
  • VotesChanged - 评论投票数被更新(包括详细投票分布)
  • Flagged - 评论被用户标记
  • UnFlagged - 评论的标记被移除

审核操作

  • Pinned - 评论被版主置顶(包括置顶者)
  • UnPinned - 评论被版主取消置顶(包括取消置顶者)

通知事件

  • CreatedNotifications - 为评论创建了通知(包括通知数量)
  • NotificationCreateFailure - 创建通知失败
  • BadgeAwarded - 为评论授予用户徽章(包括徽章名称)

提及和回复通知事件

这些事件指明了将收到邮件或通知的人员。若未发送,Details 列会说明原因。

  • MentionEmailSent - 被提及的用户收到了邮件
  • MentionEmailSkipped - 被提及的用户未收到邮件(包括原因)
  • MentionHeldForApproval - 提及邮件在评论批准前处于等待状态
  • MentionNotificationCreated - 被提及的用户收到了站内通知
  • MentionNotificationSkipped - 被提及的用户未收到站内通知(包括原因)
  • ReplyEmailSent - 被回复的评论作者收到了关于此回复的邮件
  • ReplyEmailSkipped - 被回复的评论作者未收到邮件(包括原因)
  • ReplyNotificationSkipped - 被回复的评论作者未收到站内通知(包括原因)

未发送邮件或通知时显示的原因:

  • 用户已不存在,或没有电子邮件地址
  • 用户关闭了电子邮件通知,或关闭了该主题的通知
  • 两位用户中有一方屏蔽了另一方
  • 用户不在任何相同的 SSO 组中
  • 用户的电子邮件地址因退回或垃圾邮件投诉被列入抑制列表(参见 Email Suppression Management)
  • 用户的电子邮件地址为 example.com,无法接收邮件
  • 评论被标记为垃圾信息、已删除或在 7 天内未获批准
  • 被回复的评论是匿名发布的
  • 用户回复了自己的评论
  • 用户在回复中被提及,因此收到的是提及邮件而非回复邮件
  • 用户已经收到该评论的回复通知
  • 发送失败 5 次

如果投递失败或达到发送限制,邮件会进入重试队列,日志条目会相应记录。

发布事件

  • PublishedLive - 评论已发布给实时订阅者(包括订阅者数量)

集成事件

  • WebhookSynced - 评论通过 webhook 同步

垃圾信息规则事件

  • SpamRuleMatch - 评论匹配了自定义垃圾信息规则(包括规则细节)

本地化事件

  • LocaleDetectedFromText - 根据评论文本自动检测到语言地区(包括检测到的语言和地区)

评论日志的使用场景

评论日志会自动生成并随每条评论一起存储。它们为以下方面提供有价值的洞察:

  • 了解审核决策 - 精确查看评论为何被批准、被审查或被标记为垃圾信息
  • 调试批准/垃圾信息问题 - 当评论行为异常时,追踪决策逻辑
  • 跟踪用户行为模式 - 监控信任因子变化和验证状态
  • 审计版主操作 - 回顾版主对特定评论执行的操作
  • 调查垃圾信息过滤效果 - 查看哪些检测引擎捕获了垃圾信息,哪些未捕获
  • 排查集成问题 - 验证 webhook 同步和通知投递

这些日志帮助在审核过程中保持透明,并协助微调您的评论系统行为。

键盘快捷键 Internal Link

评论审核页面支持键盘快捷键,用于在评论间导航、执行操作和翻页 - 全部可在不使用鼠标的情况下完成。

在审核页面上的任何时候按 ? 可打开一个帮助对话框,列出所有可用的快捷键。

导航

KeyAction
j聚焦下一条评论
k聚焦上一条评论
x or Enter切换聚焦评论的选择状态
Shift+j选中聚焦评论并移动到下一条
Shift+k选中聚焦评论并移动到上一条

聚焦的评论会以蓝色轮廓高亮显示。这与“已选择”(已勾选)的评论是分开的。

聚焦评论的操作

KeyAction
a切换批准 / 取消批准
s切换为垃圾 / 取消垃圾
d删除
u恢复删除
r切换已审核 / 未审核
e编辑
b封禁 / 管理封禁
p切换置顶 / 取消置顶
f取消标记
i查看该 IP 的所有评论
t设置信任系数
m管理徽章
l查看日志
c切换上下文

这些快捷键仅在有评论被聚焦时适用。如果没有评论被聚焦,请先按 j 或 k。

全局快捷键

KeyAction
Ctrl+a选择所有评论
Ctrl+z撤销上一个操作
?显示键盘快捷键帮助
g切换快捷键指引叠加层
/聚焦搜索输入框

分页

KeyAction
[上一页
]下一页

快捷键指引

按 g 切换指引模式。启用时,聚焦评论的操作按钮上会出现小徽章,显示每个按钮对应的键盘快捷键。学习快捷键时这很有用。再次按 g 可隐藏它们。

输入抑制

以下情况下会自动抑制快捷键:

  • 光标位于搜索框、文本输入框或可编辑内容字段中。按 Escape 取消该字段的焦点并恢复快捷键。
  • 对话框打开时。请先关闭对话框。

结论

您已到达我们的审核文档末尾。让我们知道您在下方有任何进一步的评论或问题 - 您也可以 通过 支持页面 与我们联系。