基于 ddddng/BiliFilter 修改的弹幕过滤增强版本,使用 OpenAI GPT-4o-mini 对 Bilibili 弹幕进行内容识别与分类,支持严格的格式控制和弹幕批量智能识别。
- ✅ 使用 OpenAI GPT-4o-mini 进行语义分类
- ✅ 支持 10 类弹幕识别:
正常、色情低俗、恶意刷屏、人身攻击、垃圾广告、引战、剧透、错误科普、脏话、未分类 - ✅ 可隐藏非正常弹幕或标注分类信息
- ✅ 自动批量处理弹幕,确保分类结果顺序与输入一致
- ✅ 多请求并发与队列控制,保障性能与稳定性
推荐使用 Violentmonkey 或 Tampermonkey 安装该用户脚本。
- 安装插件
- 打开脚本地址(待部署)并点击「安装」
- 替换脚本中的 API 密钥以激活功能
在脚本头部可以调整以下参数:
| 变量名 | 说明 | 默认值 |
|---|---|---|
OPENAI_API_KEY |
OpenAI API 密钥(必填) | 'sk-xxx...' |
BATCH_SIZE |
每次提交给 GPT 分类的弹幕数量 | 10 |
BATCH_TIMEOUT |
弹幕收集间隔时间(ms) | 500 |
MAX_CONCURRENT_REQUESTS |
最大并发请求数 | 2 |
MAX_QUEUE_LENGTH |
待处理请求队列最大长度(超出将丢弃) | 0 |
HIDE_CATEGORY |
是否在弹幕后标注分类(此时会显示屏蔽的弹幕) | true |
分类模型通过以下 Prompt 实现严格输出控制:
请根据每条弹幕内容将其分类为以下10个类别之一:正常、色情低俗、恶意刷屏、人身攻击、垃圾广告、引战、剧透、错误科普、脏话、未分类。
【格式要求】:
- 严格按照输入弹幕的顺序输出;
- 每一行只输出一个分类名称,不要添加编号、标点、解释或其它多余内容;
- 输出的行数必须等于输入弹幕数;
- 如果不确定,请填“未分类”。
系统将对分类结果进行格式校验与补全,防止输出错位、缺失或非法分类项。