之前对 SmartSpam 评论过滤器插件进行了魔改”,结果弄巧成拙,体验反而不如原版。现在才感觉出来之前的改版真的是走向失败,识别功能过于笨重,无效的拦截过高。突然想到备用站每次打开都会进行cf的人机验证,还不如在评论的时候添加一个有效的验证呢,然后就有了 Turnstile 此插件。

但在隔天的测试中,新问题出现了:在国内网络环境下,Turnstile 经常会出现验证失败或无限循环的问题。考虑到网络环境的复杂性,开始物色评论审核 API。然而国内的门槛都不低,既要实名登记,又是包年付费,体验期还极短。虽然谷歌的 PerspectiveAPI 免费,但它对中文的识别精准度实在一般。兜兜转转,突然灵光一现:既然都要走 API 审核,为什么不直接调用大模型呢?让 AI 来审评论,这不就迎刃而解了嘛。

Turnstile

站点水印:www.onemuggle.com

Turnstile 简介

Turnstile 是一款专为 Typecho 深度定制的评论安全增强插件(版本 v2.9.1)。它将 Cloudflare Turnstile 的前端人机识别与 Ollama 云大模型的后端语义分析相结合,不仅能拦截自动化垃圾脚本,还能精准识别引流广告、恶意攻击及违规内容。

  • 结合前端无感验证与后端 AI 异步审核,确保评论既真实又合规。
  • 针对 Ollama 云 API 优化,支持填入多个云端 API Key,插件自动随机轮询调用,有效分摊并发压力与额度限制。
  • 识别私密评论。私密模式下自动放行社交联系方式,公开模式则严禁引流。
  • 可配置“允许吐槽”或“拒绝负面”,AI 会精准识别建设性建议与恶意辱骂。
  • 合规友链申请判定逻辑,符合格式的友链申请将直接通过。
  • 违规评论可选“直接拦截(报错)”或“转为待审核(进入后台队列)”。
  • 自动记录 PHP 加密日志,详细记录每次判定的作者、内容、判定标签及原因。

下载方式

  • 站点备份:https://muggle11.lanzouu.com/b009hs7qhg 密码:1101
  • 站点备份:https://www.onemuggle.com/go/205120512051/
  • Github:https://github.com/ID521101/Turnstile

使用方法

  1. 将插件文件夹重命名为 Turnstile,上传至 Typecho/usr/plugins/ 目录下。
  2. 登录 Typecho 管理后台 -> 控制台 -> 插件 -> 找到 Turnstile 点击 激活 (建议先停用 SmartSpam )。
  3. 申请 Cloudflare TurnstileKey ,插件设置页面不添加key则不触发cf的验证。申请地址:https://www.cloudflare.com/zh-cn/application-services/products/turnstile/
    3.1) 先登录自己的cf账号,然后在访问链接,点击 开始使用
    3.2) 点击添加小组件,小组件名称(自行添加)
    3.3) 点击添加主机名,输入域名后点击添加(没有托管到cf的域名也可以)
    3.4) 小组件模式:建议选择 托管
    3.5) 点击创建,复制对应的站点密钥、密钥,填写到插件的设置页面
  4. 申请 Ollama 的api key。申请地址:https://ollama.com/settings/keys
    4.1) 先登录自己的ollama账号,然后访问申请链接
    4.2) 点击 Add API Key 这个按钮,输入任意名称,点击 Generate API Key
    3.3) 复制密钥,粘贴到插件设置页面的AI API Key 列表,(可以多账号申请api,进行随机轮询)
    3.3) 模型的话建议使用默认的,qwen3-coder:480b-cloud 中文效果挺好的
  5. 可设置 允许吐槽拒绝负面直接拦截转为待审核
  6. 日志存放路径:/usr/plugins/Turnstile/logs/audit_YYYY-MM.php。php结尾防止浏览器直接访问导致泄露内容。

申请友链

必须包含 名称、域名、头像、描述
【友链合规示例】(符合此类格式的必须判定 is_spam: false)

名称:XXX 
域名:https://xxx.com  
头像:https://xxx.png  
描述:XXX

测试验证

名称:可测试,内容:可测试
END
本文作者: 文章标题:【Typecho插件】Turnstile智能评论卫士:Cloudflare 无感验证 + Ollama 云大模型双重深度拦截
本文地址:https://www.onemuggle.com/archives/2051.html
版权说明:若无注明,本文皆OneMuggle原创,转载请保留文章出处。
如果觉得我的文章对你有用, 请我喝杯咖啡吧 ☕