= =你猜对了,早苗是一个云插件,在插件层使用套娃思路调用了一个云反向WS服务端
服务端和服务端上的插件是开源的GitHub - Hoshinonyaruko/SanaeBot: 易语言写的,可以作为参考
插件仓库:GitHub - Hoshinonyaruko/koishi-plugin-sanae: easy to use and free.
安装方法,在插件商店找到Sanae,设置好onebot,设置好Sanae(设置个端口号就行)
然后重启Koishi,在需要使用的群,发“早苗on”就能打开了,发“/help"查看帮助
以下是废话:
使用云插件开发的优点,
1,因为本身早苗是古老的语言编写,不利于本地部署
2,早苗有一个巨大的数据库,储存了10年的用户数据、语料库和海量的图片素材(190G)
3,本地部署没办法高效的同步所有用户的玩法背包、道具数据和快速的迭代指令和内容
(云上的改动本地插件无需更新就会同步更新)
4,可以方便的对ai绘图,gpt回复进行审核,你的bot安全,群也安全(杜绝封群)
5,本地不占用处理器和GPU性能,只需要维护1个ws连接的性能开支与网络上下行开支
6,插件本身的代码可以是任何语言,python,go,epl,js,可以使用无论多复杂的结构(只要你自己能搞得定运维),可以随意的不考虑用户本地性能、空间、环境、技术能力的开发复杂的功能
比如早苗含有大量极其复杂的图像处理,ai绘图,gpt(用户无需为代理操心,无需部署环境,无需下载素材包,无需按复杂教程部署)就能很轻易地使用复杂的bot功能。
使用云插件开发的缺点,
1,需要维护一个公网ip的反向ws后端,需要昂贵的服务器、api费用,所有插件使用者均会链接到此
2,数据可能被攻击,服务器可能被攻击,所以可用性可能不及本地部署插件
3,bot会使用更多的上下行流量,
4,自定义程度相对较低,用户无法方便的修改大部分代码,机器人设定需要参考/help用指令进行修改
如何开发一个和早苗类似的云插件?
可以抄我的插件,自行用自己的技术栈搓出一个ob11/12的应用端,然后修改ws连接的地址即可
(就算是直接使用sanae接入你自行实现的ws反向后端都可以!)
特别鸣谢!:bot领域同类型项目,獭獭~早苗的精神启迪!最早使用1个反向ws连接大量bot,并将这种模式称为”窝“的开发者,bluefissure,和他的bot,otterbot:Bluefissure/OtterBot
理论上本插件稍加修改就能接入獭獭(主要是适配wss)
此类bot往往不需要依靠应用端,直接在gocq的反向ws设置中就可以接入,属于nonebot和koishi同一级,但又不同类型的实现(一种是本地服务端,一种是在云上的api)
而开发到koishi应用端插件则有了接入更简单,更方便和其他插件共同安装使用,可以受到框架上层的管理,未来可以开发GUI页面控制指令和行为,过滤器以及更多,还有使用到适配器这些额外特性的优点~