允许ai读取桌面内容,使用键盘和点击,打开外部文件和直接开启url。可以接入游戏minecraft进行简单的活动。支持长期记忆和记忆的管理,删减,删除某一用户的全部记忆等等,可以连接live2d,理论上可实现模型控制(因为没做完)。
ai的调用受限于电脑配置选择的使用api。在使用中发现存在重复某一语句的行为,修改过temperature参数,另外写了记忆管理脚本手动清理重复记忆(因为一直在测试功能和bug,某一指令给出过很多次)。
记忆的实现是使用chromaDB。
用pyautogui和OpenCV来实现桌面内容获取。对于无法获取的交互按钮,允许用户移动鼠标到按钮处截图记录,在以后的使用中可以通过图片匹配判断点击的位置。
用websocket控制live2d,模型软件使用live2d Viewer EX。由于此功能刚开始编写,暂时不完全,只是跑通了而已。通过开源模型判断ai输出内容的情感来映射表情动作。
接入minecraft相关活动是基于mineflayer,编写JavaScript库实现游戏操作。
后续优化在于完善live2d功能,丰富mc行为,包括但不限于UI的制作,重复调试,修复可能的bug。
因为我是非专业学生,这个项目只是用作学习,存在的漏洞和可优化空间应该很多