____ ____ __ __ .__ __. _______. ______
\ \ / / | | | | | \ | | / | / __ \
\ \/ / | | | | | \| | | (----`| | | |
\_ _/ | | | | | . ` | \ \ | | | |
| | | `--' | | |\ | .----) | | `--' |
|__| \______/ |__| \__| |_______/ \______/
https://github.com/novysodope/yunso 云索|Fupo Series对于网上很多机器人推送都是基于企业微信或者钉钉推送,每次想看消息都得打开钉钉或者企业微信,这年头一放假或者一到周末谁还看企业微信和钉钉,工作时间谁会关注机器人推送。所以想实现一个平时用微信日常聊天就能看到机器人消息的功能。且不会被封号
微信机器人,利用wxauto库写的微信推送脚本,支持:
- 监控Github新动态,并推送到微信
- 搜索Github内容,并反馈到微信
- 每周五统计推送周报
- 对接AI大模型
代码易懂,注释已给出
- class Yunso 监控类
- class Yunsobt 搜索类
- class AiBot AI大模型类
- python3.8
- windows(必须)
- 微信(测试最新版3.9.12.37可用)
- 填写好配置后,运行脚本之前一定要登录好微信,且电脑不可锁屏,推荐使用云服务器,然后使用VNC登录,这样断开连接的时候就不会自动锁屏了(mstsc断开连接会自动锁屏)
运行之前请先填写配置文件 yunso_config.ini
[DEFAULT]
GITHUB_API_KEY = 必填,填写Github访问令牌,教程:https://blog.csdn.net/m0_46918768/article/details/144763839
listen_list = 必填,填写发送对象,如果有多个对象以,分隔
me = 必填,填写机器人所在群聊的备注名称
black_keywords = 默认提供有,填写黑名单关键字,用来屏蔽搜索结果,防止包含政治敏感字符
search_keywords = 默认提供有,可以自己新加,以,分隔
[AI]
ai_key = 参考https://bailian.console.aliyun.com/detail/deepseek-r1#/model-market/detail/deepseek-r1 API示例
ai_url = 参考https://bailian.console.aliyun.com/detail/deepseek-r1#/model-market/detail/deepseek-r1 API示例示例:
[DEFAULT]
GITHUB_API_KEY = AAAXXXXAXAXAXAXAXiamnovyhhh
listen_list = 群聊A,群聊B,用户A
me = 二狗
black_keywords = 中国,china,chinese
search_keywords = CVE-20,CNVD-20,CNVD-C-20,CNNVD-20,命令执行漏洞,SQL注入,代码执行漏洞,命令注入漏洞,反序列化漏洞,资源管理错误,信息泄露,未授权访问,任意文件读取漏洞,目录遍历,任意文件下载漏洞,任意文件上传漏洞,未经身份验证的攻击者,Vulnerability-CVE,RCE-Vulnerability,RCE-POC
[AI]
ai_key = https://dashscope.aliyuncs.com/compatible-mode/v1
ai_url = sk-xxx- pip install -r requirements.txt 下载好需要的库
- python3 yunso.py
监控推送:自动运行,每30分钟重复一次
周报:自动运行,每周五统计一次
搜索:艾特机器人搜素:@机器人名字 CVE-XXX-XXXX
AI:关键字触发,关键字为二狗+中文逗号+空格:“二狗, ” ,或者发送“二狗”查看使用帮助。闲时请定时发送“狗蛋,清除”清理上下文状态,不然会浪费tokens
监控推送:
周报:
@搜索
AI
- 考虑到在云服务器运行的话,人看不到脚本状态,所以加上了“心跳”
print("没有新内容,开始表明存活状态")
self.wx.GetSessionList()
self.wx.SendMsg("online", '文件传输助手')这样就能知道脚本是否还在运行:
- 偶发事件,打开微信后,可能无法打开对话窗口,这个时候需要手动把聊天窗口单独拖出来就可以了,**注意:**打开后就不能关掉了,放服务器挂着就行了
- 偶发事件,艾特他搜索的时候,回复有延迟是正常的,大概2秒左右。如果回复“搜索异常”也没关系,他还会继续回复搜索结果,这是个bug,抽空解决
- 偶发事件,AI响应时间较长或者使用AI的时候可能没有及时监控到消息导致没有响应,重新发起询问即可(多发生在其他任务在运行时、脚本启动时)




