
Vocechat使用体验
haorwen和朋友使用Vocechat已经有一段时间了,感觉使用体验还不错,最近也给Vocechat团队写了一个项目(在后文会提到),之前一直忙没空写blog,现在写一篇分享一下
一、什么是Vocechat
VoceChat
是一款支持独立部署的个人云社交媒体聊天服务。15MB 的大小可部署在任何的服务器上,部署简单,很少需要维护。前端可以内嵌到自己的网站下,数据完全由用户自己掌握,传输过程加密。VoceChat 从Slack
,Discord
,RocketChat
,Solid
,Matrix
等产品和规范中博采众长,适用于团队内部交流,个人聊天服务,网站客服,网站内嵌社区的场景。
上面是Vocechat官方在文档里给出的介绍,经过我的体验,它确实是我接触过的聊天室里面最轻量的了,在性能不佳的服务器也能很好的运行起来。且Vocechat采用Rust编写,稳定性也很不错。
二、怎么部署?
我使用的是docker,部署非常简单:
1 | mkdir data |
然后访问3000端口进行服务器配置即可
如果需要其他部署方式可以去看Vocechat的官方文档:🏗️ 安装部署VoceChat | VoceChat
三、使用体验
其他正常聊天平台的功能Vocechat基本都有,而且也已经有很多博客介绍了这点,我就来着重介绍一下我最注重的Bot功能吧
作为一个聊天平台我觉得Bot是不可或缺的,Vocechat也不例外,我们在机器人与Webhook | VoceChat可以查阅到官方文档。Vocechat采用Webhook的方式推送消息,直接在设置里新建一个Bot就行,记得保存好key因为你关掉之后就不会显示了,没保存只能重新生成!
接下来你可以参照Vocechat的官方文档进行开发,我这里的#2号bot就是纯自己写的,使用了python,不知不觉已经有3000+行代码了
#2主要为我提供一些基础功能。主要为GPT提问
#12是后期的产物,用到了我自己的项目Privoce/PyOneBot-Vocechat: Vocechat 平台的 OneBot v12 实现
该项目为一个Onebot v12 实现,详情可以前往官方文档术语表 - OneBot 12 标准(候选)了解,简而言之就是充当了一个中间件的作用,Onebot是一个较为统一的消息标准,只需要有合适的Onebot实现,OneBot应用只需要遵循Onebot标准就可以连接到多种机器人平台。我的项目接受Vocechat的webhook,格式化后传递给OneBot应用,OneBot应用实现根据需求与我的项目进行通信,我的项目会把标准化的交互方式再包装为Vocechat平台的格式请求Vocechat进行操作。
我的#12Bot采用了NoneBot2作为Onebot应用,使用了真寻bot机器人,主要提供娱乐功能
可以看到还是实现了比较完善的功能,你们也可以根据自己的需求开发出各种各样的bot
四、反馈与建议
总之Vocechat的使用体验还是很不错的,但我也在使用过程中遇到了一些问题:
- 首先,机器人的接口发送的图片与用户发送的图片显示方式并不一致,会被强行拉伸为正方形然后截去下半段而不是显示完整图片,如
- 机器人的接口还是相对较少,我在开发我的Onebot实现的时候很多接口采用了取巧的方法实现,我也已经提交了issue,希望后续能添加更多接口
- 感觉Vocechat的表情回应有点少,只有8种,我希望能更多一点
- web端实现在消息没发送出去的时候就强行关闭会出现消息滞留在聊天底部的情况无法清除,就像这样
只有清除网页数据后才能恢复正常