🛡️ AstrBot 词语过滤器插件 (astrbot_plugin_delete_and_block_filter)
版本: v2.0.0
作者: enixi
插件名: astrbot_plugin_delete_and_block_filter
功能: 过滤AI回复和错误消息,让你的Bot更干净!
🤖 这个插件是干什么的?
这个插件可以帮你:
- 过滤AI的回复 - 删除或拦截AI说的不合适内容
- 过滤错误消息 - 隐藏"请求失败"等错误提示,让用户看不到
- 智能日志 - 只在过滤时显示详细日志,避免控制台信息过载
🎯 两种过滤方式
🗑️ 删除模式:把不想要的词语从消息中删掉(保留其他内容)
🚫 拦截模式:如果消息包含禁词,就替换整个消息或者直接隐藏
✨ v2.0.0 新特性
- 🔍 智能日志显示:现在会准确显示原文和过滤结果
- 🎯 优化中文支持:默认关闭"仅匹配整个单词",对中文更友好
- 📝 控制台日志开关:可以开启/关闭详细的过滤日志
- 🚀 一键错误过滤:快速设置常见错误消息过滤
📋 功能列表
🤖 AI回复过滤器
- ✅ 开关控制:随时开启/关闭
- 🗑️ 删除词列表:指定要删除的词语
- 🚫 拦截词列表:指定要拦截的词语
- 💬 自定义拦截回复:设置拦截后显示什么内容
- 🎯 匹配选项:支持大小写敏感和整词匹配(推荐关闭整词匹配)
🛡️ 总输出过滤器
- ✅ 开关控制:随时开启/关闭
- 🗑️ 删除词列表:从最终消息中删除指定词语
- 🚫 拦截词列表:拦截包含禁词的消息(建议添加"请求失败"来隐藏错误)
- 💬 自定义拦截回复:设置拦截后显示什么内容
- 🎯 匹配选项:支持大小写敏感和整词匹配(推荐关闭整词匹配)
🔧 调试功能
- 📊 控制台详细日志:显示过滤过程、原文和结果
- 🎮 日志开关:
/开启控制台日志和/关闭控制台日志 - 🔍 触发词显示:准确显示哪些词触发了过滤
🚀 快速开始
1️⃣ 基础配置
发送命令 /过滤配置 查看当前设置
2️⃣ 一键设置错误过滤(推荐!)
/一键设置错误过滤
这会自动:
- 开启总输出过滤器
- 添加常见错误关键词(请求失败、错误类型、错误信息等)
- 设置为直接隐藏错误消息
3️⃣ 手动开启过滤器
/开启LLM过滤 # 开启AI回复过滤
/开启总输出过滤 # 开启错误消息过滤
4️⃣ 添加过滤词
/加总输出拦截词 请求失败 # 隐藏错误消息
/加LLM拦截词 不当内容 # 拦截AI的不当回复
📖 详细命令列表
🔧 开关控制
| 命令 | 说明 |
|---|---|
/过滤配置 |
查看当前配置详情 |
/一键设置错误过滤 |
快速设置错误消息过滤 |
/开启LLM过滤 |
开启AI回复过滤器 |
/关闭LLM过滤 |
关闭AI回复过滤器 |
/开启总输出过滤 |
开启最终输出过滤器 |
/关闭总输出过滤 |
关闭最终输出过滤器 |
/开启控制台日志 |
开启详细的控制台日志 |
/关闭控制台日志 |
关闭详细的控制台日志 |
🤖 LLM回复管理
| 命令 | 说明 | 示例 |
|---|---|---|
/加LLM删除词 <词语> |
添加要删除的词 | /加LLM删除词 敏感词 |
/减LLM删除词 <词语> |
移除删除词 | /减LLM删除词 敏感词 |
/加LLM拦截词 <词语> |
添加拦截词 | /加LLM拦截词 不当内容 |
/减LLM拦截词 <词语> |
移除拦截词 | /减LLM拦截词 不当内容 |
/设置LLM拦截回复 <内容> |
设置拦截后的回复 | /设置LLM拦截回复 抱歉,我不能回答这个问题 |
🛡️ 总输出管理
| 命令 | 说明 | 示例 |
|---|---|---|
/加总输出删除词 <词语> |
添加要删除的词 | /加总输出删除词 错误 |
/减总输出删除词 <词语> |
移除删除词 | /减总输出删除词 错误 |
/加总输出拦截词 <词语> |
添加拦截词 | /加总输出拦截词 请求失败 |
/减总输出拦截词 <词语> |
移除拦截词 | /减总输出拦截词 请求失败 |
/设置总输出拦截回复 <内容> |
设置拦截后的回复 | /设置总输出拦截回复 系统暂时无法响应 |
💡 使用技巧
🎯 推荐配置(隐藏错误消息)
方式一:一键设置(推荐)
/一键设置错误过滤
方式二:手动设置
/开启总输出过滤
/加总输出拦截词 请求失败
/加总输出拦截词 错误类型
/加总输出拦截词 错误信息
/设置总输出拦截回复 # 留空,直接隐藏错误
🔧 高级配置
在网页管理界面可以调整:
- 🔤 区分大小写:默认关闭,推荐保持关闭
- 🎯 仅匹配整个单词:默认关闭,推荐保持关闭(对中文更友好)
🔍 工作原理
- 拦截优先:拦截功能比删除功能优先级更高
- 智能日志:只在触发过滤时显示日志,包含:
- 过滤类型和触发词
- 原始消息内容
- 过滤后的结果
- 控制台可见:管理员在控制台能看到完整的过滤过程
- 用户无感:普通用户看不到被拦截的内容和过滤过程
⚡ 性能优化
- 📊 按需日志:只在检测到屏蔽词时才输出日志
- 🎯 精准匹配:优化正则表达式,提高匹配效率
- 🔄 热配置:支持实时配置更新,无需重启
- 💾 内存优化:避免控制台信息过多,保持系统清洁
🐛 故障排除
❓ 过滤器没有生效?
- 检查对应的开关是否已开启(
/过滤配置查看状态) - 确认词语列表中有正确的屏蔽词
- 开启控制台日志:
/开启控制台日志,然后测试看是否有过滤信息
❓ 看不到原文日志?
- 确保控制台日志已开启:
/开启控制台日志 - 确保过滤器已开启且有匹配的屏蔽词
- 检查是否有权限查看控制台输出
❓ 中文过滤不准确?
- 确保"仅匹配整个单词"选项已关闭(默认关闭)
- 在网页管理界面检查配置,关闭"完全匹配"选项
- 测试时开启日志查看具体匹配情况
❓ 无法保存配置?
- 确保你有管理员权限
- 检查AstrBot是否有写入配置文件的权限
- 查看日志中是否有权限相关的错误
❓ 插件没有加载?
- 检查插件目录名是否为
astrbot_plugin_delete_and_block_filter - 查看启动日志中的插件加载信息
- 确认插件版本与AstrBot兼容
📝 更新日志
v2.0.0
- 🎉 全新简化设计:更易使用的命令结构
- 🛡️ 新增总输出过滤器:可过滤错误消息和最终输出
- 🔍 修复原文显示:确保控制台正确显示原始消息
- 🎯 优化中文支持:默认关闭"仅匹配整个单词",对中文更友好
- 🚀 一键错误过滤:快速设置常见错误消息过滤
- 📝 智能日志系统:可控制的详细日志,只在过滤时显示
- 🗑️ 移除复杂功能:移除白名单功能,专注核心过滤能力
- 📱 中文命令支持:使用直观的中文命令
- ⚡ 性能优化:更高效的正则匹配和内存使用
📞 支持与反馈
如果遇到问题或有建议,欢迎在GitHub仓库提交Issue!
插件名称:astrbot_plugin_delete_and_block_filter