核心用法
glin-profanity 是一款跨平台内容审核库,提供 JavaScript/TypeScript、Python 及 React Hook 三种接入方式。核心 API 包括:
- 即时检测:
checkProfanity()/isProfane()返回布尔值或详细结果对象 - 文本净化:自动替换敏感词为指定字符(如
***),支持保留首字母模式 - 批量处理:
batchCheck()适用于评论流、消息队列等高并发场景 - 上下文感知:
analyzeContext()针对医疗、游戏、教育等专业领域设置白名单,降低误伤
显著优点
1. 多维度逃逸检测:内置 Leet speak(f4ck)、Unicode 同形字符(西里尔字母仿冒)、大小写混排等反混淆机制
2. 多语言支持:覆盖 24 种语言,含阿拉伯语、中文、俄语、印地语等非拉丁语系
3. 性能优化:LRU 缓存、可选 TensorFlow.js ML 模型分层检测,平衡准确率与响应速度
4. 生态完整:提供 React Hook、Node.js、Python 统一接口,便于前后端同构部署
潜在缺点与局限性
- 规则维护成本:敏感词库需持续更新以应对新造词、谐音梗、方言变体
- ML 模型依赖:TensorFlow.js 毒性检测为可选功能,首次加载增加 bundle 体积
- 上下文误判:讽刺、引用、学术讨论等场景仍需人工复核,自动化难以 100% 精准
- 语言覆盖盲区:小语种、网络新兴俚语可能滞后于官方词库更新
适合人群
- 社交平台、游戏社区、直播弹幕系统的开发者
- 需要合规审核的电商 UGC、评论模块产品经理
- 教育类 App 家长控制模式的技术实现者
常规风险
- 过度审查风险:严格配置可能导致正常表达受限,需结合置信度阈值调优
- 隐私合规:文本内容上传至第三方 ML 服务时需符合 GDPR、个人信息保护法要求
- 对抗性绕过: motivated 攻击者可通过图像、音频、零宽字符等绕过文本检测,需配合多模态审核