squirrelAI

项目说明


产品名称: 松鼠AI 版本: V 2.3
作者: 张益斌 更新日期: 2019/01/01

一、制作背景

在这Im泛滥的年代,人与人之间的沟通变的越来越便利,属于自己的时间和空间也变的越来越少。每天忙碌的为工作、生活奔波,同时还要花大量的精力处理来自不同场景下的消息。
你是否会想停下脚步一个人静静地呆上一会,没有电话没有消息,好好感受一下“世界属于自己的瞬间”。
微信已然成为中国用户生活中不可或缺的一部分;最大的优势在与点对点的即时通讯方式,拉近了人与人之间的距离。然而,这种便利也带来了新的问题“社交恐惧”。
松鼠AI,就是一个可以帮助你处理大多数你认为不重要,但又不失“礼貌”的消息回复;而且通过“图灵机器人”的技术,它还可以给予你生活中更多的陪伴。

image

如消息示例:
image

二、流程设计

image

三、接口说明

松鼠AI项目整体分为两层:功能层和使用层。

*功能层:

功能层整体分为三部分进行设计foundation(基础层)、application(应用层)、aifunction(AI功能层)。

a)foundation(基础层):

功能 方法 参数 返回类型 描述
接口定义 com.zhangyibin.foundation.wechatinterface; WechatInterface / / / 定义常量
获取UUID com.zhangyibin.foundation.wechatapp; WechatApp getUUID() / String 微信登录的唯一识别信息
登录二维码 com.zhangyibin.foundation.wechatapp; WechatApp showQrCode() / / 获取登录二维码
展示二维码 com.zhangyibin.foundation.wechatapp; QRCodeFrame QRCodeFrame() filePath:二维码图片地址 / 二维码通过窗体展示
登录等待 com.zhangyibin.foundation.wechatapp; WechatApp waitForLogin() () / / 扫描二维码登录验证
登录等待 com.zhangyibin.foundation.wechatapp; WechatApp login() / boolean 登录成功返回true
初始化 com.zhangyibin.foundation.wechatapp; WechatApp wxInit() / boolean 初始化异常:返回false;作用于验证账号是否为微信黑名单
状态通知 com.zhangyibin.foundation.wechatapp; WechatApp wxStatusNotify() / boolean 状态通知监控异常:返回false;
获取好友列表 com.zhangyibin.foundation.wechatapp; WechatApp getContact() / boolean 好友列表获取失败:返回false;
监控消息 com.zhangyibin.foundation.wechatapp; WechatApp syncCheck() / int 作用于是否获取到好友消息内容
发送消息 com.zhangyibin.foundation.wechatapp; WechatApp webwxsendmsg() String content:消息内容 String to:接收好友 / 处理消息发送
最新消息 com.zhangyibin.foundation.wechatapp; WechatApp webwxsync() / JSON 获取消息内容
回复消息 com.zhangyibin.foundation.wechatapp; WechatApp handleMsg() JSONObject data:消息内容 / 实现给予好友消息回复
用户备注名 com.zhangyibin.foundation.wechatapp; WechatApp getUserRemarkName() String id:微信ID String 获取到好友备注名称
监听程序 com.zhangyibin.foundation.wechatapp; WechatApp listenMsgMode() / / 保持网络连接
好友通讯录 com.zhangyibin.foundation.util; AddressBook getAddressBookList() JSONObject jsonObject:好友列表JSON / 1.获取好友列表
2.新好友插入到数据库中
Cookie信息 com.zhangyibin.foundation.util; CookieUtil getCookie() HttpRequest request:Http请求 String 模拟浏览器Cookie信息
匹配器 com.zhangyibin.foundation.util; Matchers match() String p :正则表达 String str:匹配字符串 String 用于处理登陆微信过程的正则表达式的处理
连接(创建)数据库 com.zhangyibin.foundation.databaseservice; CreateSQLiteService main() / / 连接(创建)数据库
message数据插入库 com.zhangyibin.foundation.databaseservice; InsertService getInsertService() String date:日期 String name:用户名 String message:消息内容 / 消息插入数据库
message数据插入库 com.zhangyibin.foundation.databaseservice; InsertService getInsertService() String strSql:完整的SQL语句 / 消息插入数据库
查询服务 com.zhangyibin.foundation.databaseservice; SelectService getSelectService() String sql:完整的select语句 / 数据查询

b)application(应用层):

功能 方法 参数 返回类型 描述
特殊账号枚举 com.zhangyibin.application.specialusers; SpecialUsersEnum getNameList() / String 账号枚举列表类(不回复消息名单)
枚举值转化成List com.zhangyibin.application.speciauserslist; SpecialUsersList getSpecialUsersList() / List 账号枚举列表类(不回复消息名单)
启动程序入口 com.zhangyibin.application; StartWechatApp GETStartWechatApp / / 执行程序主入口

c)aifunction(AI功能层):

功能 方法 参数 返回类型 描述
机器人调用 com.zhangyibin.aifunction; SquirrelAiRobot SquirrelRobot() String msg:消息内容 String 调用图灵机器人接口(不回复消息名单)
实时消息翻译 com.zhangyibin.aifunction; BaiduFanyi getBaiduFanyi() String text:翻译内容 String 调用百度翻译接口

*使用层:

使用层整体分为两部分进行设计test(测试)、use(使用层)。

功能 方法 参数 返回类型 描述
测试代码 com.squirrelAi.test; / / / / 工程测试代码
启动松鼠AI com.squirrelAi.use; UseSquirrelAi main / / 启动松鼠AI,调用StartWechatApp功能

四、版本管理

日期 版本号 更新内容 备注
2018.06.18 V1.0 功能上线 web框架:blade-kit-1.2.9-alpha.jar
2018.08.03 V1.1 a)基础部分:
实现仿制web微信通过扫描客户端二维码进行登陆。
实现IOS设备可正常登陆。
实现获取微信通讯录的联系人。
实现监听微信联系人的消息。
实现可回复好友消息。
b)会话功能:
实现接入机器人回复好友消息。
实现屏蔽回复好友消息的黑名单功能。
黑名单功能包括屏蔽好友个人、聊天群以及公众号消息。
实现关闭机器人自动回复消息,可转人工回复好友消息。
c)拓展功能:
实现保存聊天消息在本地。
实现测试程序打包,调试可桌面运行。
web框架:blade-kit-1.2.9-alpha.jar
2018.08.16 V1.2 增加白名单功能,以实现区分重要好友提供人工回复的消息的方式,非重要好友提供机器人回复消息的方式。
web框架:blade-kit-1.2.9-alpha.jar
2018.09.28 V2.0 更换JDK11
web框架:blade-kit-1.2.9-alpha.jar
2018.10.12 V2.1 1.项目更名:松鼠AI。
2.代码重构;功能层划分为三部分基础层、应用层、AI功能层。
3.接入数据库服务,完成消息存储。
4.更换web框架:blade-kit-1.3.4.jar
1.web框架:blade-kit-1.3.4.jar
2.JDBC:sqlite-jdbc-3.21.0.jar
2018.10.28 V2.2 更新内容:
实现将新好友添加到数据库中。
--
2019.01.01 V2.3 更新内容:
实现中英文消息回复。
2019开年功能礼物。

本地备份:/home/zhangyibin/文档/松鼠AI备份列表