BiliFilter

Weekly Pick

BiliFilter is a local LLM-based Bilibili danmaku (comment) filter. It runs locally, supports multiple classifications (e.g., spam, ads, spoilers), and requires no webpage modifications. It integrates with LM Studio for local OpenAI-compatible API access.

Check out BiliFilter on CurateClick

• Copy the embed code to showcase this product on your website

• Share on X to spread the word about this amazing tool

BiliFilter —— 基于本地LLM的 Bilibili 弹幕过滤器仓库:https://github.com/ddddng/BiliFilter/> 本项目依赖 Hugging Face 上的配套微调模型 > dddng/gemma3_4b_BiliFilter_v2借助 LM Studio 的 OpenAI 兼容本地接口,你可以在本地过滤B站弹幕。浏览器中只需安装脚本。---## ✨ 特性* 本地运行:所有推理均在本地完成 * 多种分类:色情低俗、恶意刷屏、人身攻击、垃圾广告、引战、剧透、错误科普、正常、未分类 * 即装即用:无需修改网页源代码,脚本自动 Hook 弹幕 * 可调策略:保留 / 隐藏指定分类、调试模式、并发与队列长度等均可一键修改---## 🚀 快速开始### 1. 安装 LM Studio 并下载模型1. 前往 https://lmstudio.ai 下载安装包并安装 2. 下载dddng/gemma3_4b_BiliFilter_v2### 2. 启动本地 OpenAI 兼容服务器并启用 CORS1. 前往 开发者2. 点击左上 Settings,勾选 启用 CORS 3. 确认「Status」为 Running,端口默认为 1234### 3. 安装浏览器脚本1. 安装 Tampermonkey 2. 点击「新建脚本」,粘贴BiliFilter.js的内容3. 保存并刷新页面## ⚙️ 高级配置| 变量 | 功能 | 默认值 ||------|------|--------|| BATCH_SIZE | 单次推送给模型的弹幕数 | 10 || MAX_CONCURRENT_REQUESTS | 并发请求上限 | 2 || KEEP_CATEGORIES | 永远保留的分类集合 | ['正常', '未分类'] || SHOW_CATEGORY | true 时在弹幕后追加 [分类] | false || DEBUG | 控制台输出调试信息 | false || HIDE_BEFORE_RESPONSE | 设置是否在 API 返回之前隐藏弹幕 | true || BATCH_TIMEOUT | 批次超时设置(单位:毫秒) | 500 || MAX_QUEUE_LENGTH | 排队弹幕的最大数量 | 0(不排队) |## gemma3_4b_BiliFilter_v2 模型性能---### 每个有害分类的过滤率(召回率 · 精确匹配)| 分类 | 过滤率 || ---------- | ---------------- || 色情低俗 | 0.00% (0/0) || 恶意刷屏 | 42.11% (8/19) || 人身攻击 | 20.83% (5/24) || 垃圾广告 | 0.00% (0/0) || 引战 | 50.00% (3/6) || 剧透 | 0.00% (0/0) || 错误科普 | 0.00% (0/0) |---### 每个有害分类的误杀率(真实为“正常”时误判比例)| 分类 | 误杀率 || ---------- | -------------------- || 色情低俗 | 0.00% (0/153) || 恶意刷屏 | 0.00% (0/153) || 人身攻击 | 1.31% (2/153) || 垃圾广告 | 0.00% (0/153) || 引战 | 4.58% (7/153) || 剧透 | 0.00% (0/153) || 错误科普 | 0.00% (0/153) |---### 总体统计| 指标 | 数值 || -------------------------------------------------- | -------------- || 总体过滤率(精确匹配到具体类别) | 32.65% (16/49) || 总体过滤率(含错误类别,即识别为任意有害类) | 46.94% (23/49) || 总体误杀率(正常样本被判为任意有害类) | 5.88% (9/153) |---### 样本量- 处理的总样本数:202 - “正常”样本数(Ground Truth):153 - “有害”样本数(Ground Truth, item-level):49