2025年3月26日更新文件,直接适配DOW 0.1.25 无需修改DOW的其他文件.
将OPENAI的配置,直接放到了插件目录!
KeywordMonitor 是一个用于 https://github.com/hanfangyuan4396/dify-on-wechat 利用GTP来监控群聊关键词、URL链接和文件内容的插件。当检测到违规内容时,插件会自动发送警告消息,并要求用户在2分钟内撤回违规消息。如果用户未在规定时间内撤回消息,插件将自动将其移出群聊。该插件旨在帮助群管理员自动管理群聊内容,减少人工干预,确保群聊环境的健康和安全。
根目录下comfig.json需要有配置,本插件是通过AI分析URL是否违规:
"gewechat_app_id": "wx_d***********",
"gewechat_base_url": "http://192.168.10.123:2531/v2/api",
"gewechat_token": "2*******************",如果用户撤回了消息,我们发送一条感谢消息,提醒用户保持良好的聊天行为。
插件主要是利用GPT对每一段话进行分析,也可以使用关键词进行。根据你的情况配置!
- 监控群聊消息中的关键词,支持自定义关键词列表。
- 当消息中包含配置的关键词时,插件会发送警告消息,并要求用户在2分钟内撤回违规消息。
- 支持动态加载关键词列表,无需重启插件即可生效。
- 检测消息中的URL链接,支持自定义广告链接和不支持的链接模式。
- 如果链接匹配广告URL模式或不支持的URL模式,插件会发送警告消息,并要求用户撤回违规消息。
- 支持对URL内容进行深度分析,判断是否包含违规信息。
- 检测消息中的文件内容,支持分析文件内容是否违规。
- 如果文件内容包含违规信息,插件会发送警告消息,并要求用户撤回违规消息。
- 支持多种文件格式的内容提取和分析。
- 当用户多次违规或未在规定时间内撤回违规消息时,插件会自动将其移出群聊。
- 支持设置警告次数限制,达到次数后自动移除用户。
- 支持设置白名单用户,白名单用户发送的消息不会被监控。
- 白名单用户即使发送违规内容,也不会触发警告或移除操作。
- 支持忽略@机器人的消息,避免误判。
- 当消息中包含@机器人的内容时,插件会自动忽略该消息,不进行监控。
- 支持处理消息撤回事件,记录撤回的消息ID。
- 如果用户在2分钟内撤回了违规消息,插件不会执行移除操作。
- 记录每个用户的违规消息ID和违规次数。
- 支持将违规记录保存到本地文件,重启插件后仍可保留历史记录。
- 支持手动清除违规记录。
- 支持同时监控多个群组,群组名称可在配置文件中自定义。
- 每个群组可以独立设置监控规则和白名单。
- 支持自定义警告消息内容,管理员可以根据需要调整警告提示。
- 警告消息中可以包含违规类型、用户昵称等信息。
- 支持动态启用或停用插件,无需重启系统。
- 插件状态可以在配置文件中进行设置。
- 详细的日志记录功能,记录插件的运行状态、监控结果和错误信息。
- 日志信息包括消息ID、发送者ID、群组名称、违规类型等。
-
进入项目目录
cd DOW项目目录/plugins/ -
克隆插件仓库
git clone https://github.com/cm04918/KeywordMonitorPlugin
-
进入插件目录
cd KeywordMonitorPlugin -
修改配置文件
- 用文本编辑器打开
config.json文件 - 根据您的需求修改配置参数
- 保存文件
- 用文本编辑器打开
在机器人对话中执行以下命令来管理插件:
-
扫描新插件
#scanp此命令会扫描插件目录以检测新安装的插件
-
查看插件列表
#plist此命令会显示当前所有可用插件的列表
-
启用插件
#enablep KeywordMonitor此命令会启用KeywordMonitor插件
编辑 config.json 文件,配置插件的各项参数:
{
"enabled": true,
"keywords": ["话费充值打折","抖音退费","机票退改签","会员退费","培训学费退费","网络高薪兼职","兼职刷单"],
"monitored_groups": ["三人行","AI外卖员","浩扬电子书城","ql"],
"whitelist": [],
"ignore_at_bot_msg": true,
"url_check_enabled": true,
"keyword_check_enabled": true,
"file_check_enabled": true,
"warning_limit": 20,
"ad_url_patterns": [
".*ad\\.com.*",
".*doubleclick\\.net.*",
".*googleads\\.g\\.doubleclick\\.net.*",
".*ads\\.yahoo\\.com.*",
".*tracking\\.com.*",
".*affiliate\\.com.*",
".*promo\\.com.*"
],
"unsupported_url_patterns": [
".*finder\\.video\\.qq\\.com.*",
".*support\\.weixin\\.qq\\.com/update.*",
".*support\\.weixin\\.qq\\.com/security.*",
".*mp\\.weixin\\.qq\\.com/mp/waerrpage.*"
],
"whitelist_urls": [
".*\\.gov\\.cn.*",
".*\\.edu\\.cn.*",
".*\\.ac\\.cn.*",
".*\\.people\\.com\\.cn.*",
".*\\.xinhuanet\\.com.*",
".*\\.cctv\\.com.*",
".*\\.china\\.com\\.cn.*"
],
"open_ai_api_key": "sk-xTYifeB7vMG2mUp4111816A4C6124f8cA0Dc741528E04cDd",
"open_ai_api_base": "http://192.168.10.123:3000/v1",
"model": "kimi"
}{
// 是否启用插件,true 表示启用,false 表示禁用,默认值为 false
"enabled": true,
// 需要监控的关键词列表,用于检测群聊消息中是否包含这些词语
// 当前配置针对常见的诈骗或广告关键词
"keywords": [
"话费充值打折", // 手机话费充值折扣相关诈骗关键词
"抖音退费", // 抖音平台退费诈骗关键词
"机票退改签", // 机票退改签相关诈骗关键词
"会员退费", // 会员服务退费诈骗关键词
"培训学费退费", // 培训机构学费退费诈骗关键词
"网络高薪兼职", // 网络高薪兼职诈骗关键词
"兼职刷单" // 兼职刷单诈骗关键词
],
// 需要监控的群聊名称列表,仅监控这些群的消息
// 如果列表为空,则监控所有群聊
"monitored_groups": [
"三人行", // 群聊名称 1
"AI外卖员", // 群聊名称 2
"浩扬电子书城", // 群聊名称 3
"ql" // 群聊名称 4
],
// 白名单用户ID列表,这些用户的消息将被忽略,不进行监控
// 当前为空,表示没有白名单用户
"whitelist": [],
// 是否忽略@机器人的消息,true 表示忽略,false 表示不忽略,默认值为 true
// 防止机器人自身的消息触发监控
"ignore_at_bot_msg": true,
// 是否启用URL链接检测,true 表示启用,false 表示禁用,默认值为 false
// 启用后会对消息中的链接进行检查
"url_check_enabled": true,
// 是否启用关键词检测,true 表示启用,false 表示禁用,默认值为 false
// 启用后会检查消息是否包含 keywords 中的词语
"keyword_check_enabled": true,
// 是否启用文件内容检测,true 表示启用,false 表示禁用,默认值为 false
// 启用后会分析群聊中上传的文件内容,,此功能未完善
"file_check_enabled": true,
// 违规次数限制,达到此值后用户将被踢出群聊
// 当前设置为 20,表示用户违规 20 次后被踢出
"warning_limit": 20,
// 广告URL的正则表达式模式列表,用于检测消息中的链接是否为广告链接
"ad_url_patterns": [
".*ad\\.com.*", // 匹配包含 "ad.com" 的域名
".*doubleclick\\.net.*", // 匹配 Google DoubleClick 广告服务
".*googleads\\.g\\.doubleclick\\.net.*", // 匹配 Google 广告服务子域
".*ads\\.yahoo\\.com.*", // 匹配 Yahoo 广告服务
".*tracking\\.com.*", // 匹配常见的跟踪域名
".*affiliate\\.com.*", // 匹配联盟营销域名
".*promo\\.com.*" // 匹配促销相关域名
],
// 不支持的URL正则表达式模式列表,用于检测小程序或视频号等不受支持的链接
"unsupported_url_patterns": [
".*finder\\.video\\.qq\\.com.*", // 匹配腾讯视频号相关链接
".*support\\.weixin\\.qq\\.com/update.*", // 匹配微信更新支持页面
".*support\\.weixin\\.qq\\.com/security.*", // 匹配微信安全支持页面
".*mp\\.weixin\\.qq\\.com/mp/waerrpage.*" // 匹配微信小程序错误页面
],
// URL白名单正则表达式模式列表,这些链接将被忽略,不视为违规
// 当前配置包含政府、教育和官方媒体域名
"whitelist_urls": [
".*\\.gov\\.cn.*", // 匹配中国政府网站
".*\\.edu\\.cn.*", // 匹配中国教育机构网站
".*\\.ac\\.cn.*", // 匹配中国学术机构网站
".*\\.people\\.com\\.cn.*", // 匹配人民日报网站
".*\\.xinhuanet\\.com.*", // 匹配新华网
".*\\.cctv\\.com.*", // 匹配央视网
".*\\.china\\.com\\.cn.*" // 匹配中国网
],
// OpenAI API 的密钥,用于调用内容分析服务
// 当前为示例密钥,需替换为实际有效的密钥
"open_ai_api_key": "sk-xTYifeB7vMG2mUp4111816A4C6124f8cA0Dc741528E04cDd",
// OpenAI API 的基础地址,用于指定 API 请求的目标服务器
// 当前设置为本地服务器地址,需根据实际部署调整
"open_ai_api_base": "http://192.168.10.123:3000/v1",
// OpenAI 使用的模型名称,指定调用哪个模型进行内容分析
// 当前设置为 "kimi",需确保服务器支持此模型
"model": "kimi"
}确保插件配置文件正确后,启动插件。插件会自动加载配置并开始监控指定的群聊。
插件会监控群聊消息中的关键词。当检测到消息中包含配置的关键词时,插件会发送警告消息,并要求用户在2分钟内撤回违规消息。
插件会检测消息中的URL链接。如果链接匹配广告URL模式或不支持的URL模式,插件会发送警告消息,并要求用户撤回违规消息。
插件会检测消息中的文件内容。如果文件内容包含违规信息,插件会发送警告消息,并要求用户撤回违规消息。
当用户多次违规或未在规定时间内撤回违规消息时,插件会自动将其移出群聊。
白名单用户发送的消息不会被监控。即使白名单用户发送了违规内容,插件也不会触发警告或移除操作。
当消息中包含@机器人的内容时,插件会自动忽略该消息,不进行监控。
插件会记录撤回的消息ID。如果用户在2分钟内撤回了违规消息,插件不会执行移除操作。
插件会记录每个用户的违规消息ID和违规次数。违规记录可以保存到本地文件,重启插件后仍可保留历史记录。
插件支持同时监控多个群组,每个群组可以独立设置监控规则和白名单。
管理员可以根据需要自定义警告消息内容,警告消息中可以包含违规类型、用户昵称等信息。
插件支持动态启用或停用,无需重启系统。插件状态可以在配置文件中进行设置。
插件会记录详细的日志信息,包括消息ID、发送者ID、群组名称、违规类型等,方便管理员查看和排查问题。
- 插件仅支持
gewechat渠道,确保在配置文件中正确配置gewechat_base_url、gewechat_token和gewechat_app_id。 - 插件依赖于外部API进行内容分析,确保配置文件中正确配置
open_ai_api_key和open_ai_api_base。
如需帮助或支持,请联系插件作者:mailkf。
- 2025年1月20日:
- 0.9.1:增加如果用户撤回了消息,我们发送一条感谢消息,提醒用户保持良好的聊天行为。
- 增加了白名单功能,对域名过滤,优化提示词,增加了gewechat_message.py对表情与视频的识别。
- 0.9.0:初始版本发布,支持关键词、URL链接和文件内容监控。


