Tailchat
是一款开源的,面向私域用户打造的即时通讯应用。在经历超过一年的开发之后,她终于迎来了第一个 v1.0.0
版本。
官方文档: https://tailchat.msgbyte.com/
功能介绍
- 用户系统
- 插件系统
- 群组系统
- 邀请系统
- 身份组系统
- 面板系统
- ...
以下我会重点介绍一下 Tailchat
的几个核心系统与设计目的:
插件系统
首先是Tailchat
相比市场上其他竞品独有的插件系统,通过前端的微内核框架MiniStar与后端的分布式框架Moleculer, 来实现整个的插件系统。
开发者可以创建自己的插件来接入自己的业务,实现统一化插件,到 v1.0.0 版本为止 Tailchat 已经开发了 14 个为了不同目的的插件, 实现了: 自定义主题
, 集成第三方系统
, 增强现有能力
, 娱乐
等需求。因为插件的可拓展性未来还会源源不断开发更多的插件来满足各种各样的需求。
正如 vscode
/ chrome
一样, 本身有足够的能力,而插件让其更加优秀。
面板系统
面板系统是Tailchat
设计的特色之一。首先脱离了大多数国内同类产品 私信
/群组
的基本结构。变成了更加通用的 私信
/群组
/面板
结构,多出了一层维度用以增加群组这一层面的表现力。
Tailchat
是为私域场景而设计的(如企业主、Up 主、明星等),因此在同一群组的人员是不应设置上限的。而更多人带来的另一个问题是同一群组下无法进行不同的话题的分流。国外的优秀同类产品Discord
是使用 "频道" 这一概念来解决这个问题,而 Tailchat
将其更加抽象化, 以"面板" 这个概念来承载不同维度的信息,而不仅仅局限于信息流,而可以是更加多的东西。比如连接不同的系统(网页),通过插件来进行交互,接入其他的能力(比如视频会议)。
"面板"的概念带来无限的可能性。这种开放性也是 Tailchat
所追求的东西。Tailchat
不希望做一个大而全的产品,而是期望做一个拥有无限可能性的产品
身份组系统
身份组系统的引入为 Tailchat
带来了更加灵活的权限管理机制。通过不同身份组的排列组合可以组合出无数可能的场景。而部分服务端插件也需要身份组权限来管理不同功能对不同用户的开放程度。
目前 Tailchat
已经开发了 9 个权限点,而未来可能会有更多。
使用场景
一个不自嗨的产品是为了解决一些问题而诞生的,我们也为 Tailchat
的未来用户画像做了一些可能的用户场景(讲故事环节):
我是一个团队 leader
- 每天早上我可以通过 Tailchat 的收件箱 查看 @我的,比较重要的消息。我可以一条条处理,即时通讯太让我窒息,而邮件过于过时。
- 点击收件箱中的某一条消息我可以定位到相关的上下文,看看大家是怎么说的
- 通过回复功能我可以在某条消息下面进行一些评论,因为回复的引用功能,大家可以知道我是在对哪一条消息进行回复
- 这时我的回复受到了一个点赞的 reaction, 这时一个表情。因为很轻,我不会收到任何打扰,我也不需要去特意处理这条信息。但是我知道这是对我回复的一种肯定与赞同
- 回复完毕所有的消息,我需要开启一天的工作。此时我通过群组的面板功能快速点开我常用的工作页面,一个 OA 网页。我的工作中充满了太多的第三方系统。而 Tailchat 的面板系统能够很好的将我的团队与相关的内容连接起来。
- 这时我发现左侧的面板列表出现了一个红点,这时有新的消息出来了。但是我不想离开我现在的工作,因此我右键它,将它"PIN"在我的右侧 —— 我可以同时处理我的工作与查看消息回复
- 此时面板列表中又出现了一个红点,因为这个面板叫 [面试招聘] , 这是一家专门做人事的公司在 Tailchat 做的插件(还没有),他告知我有新的候选人投递了简历。
- 我点击这条信息上的按钮,按钮自动变成已同意。同时机器人在下面回复了这条信息:xxx 通过初审,已向该候选人发送面试邀请。
- 等到面试时候,机器人自动为我创建了一个独立的面板。点开面板,上面会显示该候选人的个人简历,同时会有视频会议的界面以及实时协作的空间(比如画图、演示代码)
- 等到一切都结束了,我发现差不多该到下班时间了。我关闭了 Tailchat 页面。此时我发现我的浏览器并没有开很多新的标签页。因为我的工作基本都在 Tailchat 中完成了
我是一个 Up 主
- 我是一个百万粉丝的某站 Up 主,我有很多粉丝需要管理。为此我开了十几个微信群和好几个 qq 群。我发现有很多人加了很多群但是我没有办法,因为微信和 QQ 并不提供跨群组管理。而我之所以开这么多群是因为每个群都有人数的上限。因此我找到的 Tailchat, Tailchat 的群组没有设定人数的上限,因为 Tailchat 天生就是为了这个场合存在的
- 我更新了一条视频,我期望大家都能看到。在过去我需要切换到每个群都发一次,而在 Tailchat ,我只需要在只允许发言部分角色的公告频道(正在开发)发送一条消息,就能立马推给所有的人。甚至我可以使用 Tailchat 的 RSS 机器人自动订阅更新并发布。
- 我希望大家能够关注我的不同平台的账号,比如 bilibili 、抖音、微博、小红书、知乎、爱发电、onlyfans 等。在过去我需要像织一张网一样在各个平台的个人信息中写上不同平台的链接,而在 Tailchat, 我可以直接把我在不同平台的个人首页以面板的形式直接展示给我的粉丝。我的粉丝不仅可以直接关注,还可以直接在面板中浏览我的作品。
- 我想要为我的各个平台的账号进行每日的统计,在过去我需要找一个第三方平台(我不知道有没有),或者开源代码自己部署一个定时爬虫。成本很高,普通人玩不来。但是在 Tailchat 的插件市场中我发现了有好心人做的统计的插件(现在还没有),只需要简单的配置他就会每天给我生成定时的日报。
- 我想要开一场直播,提前发公告我怕到时候我的粉丝忘记,到那时候我还需要重新发送一边以提醒。于是我可以直接在 Tailchat 的日历插件(现在还没有)上创建一条日程,同时我的粉丝们也可以根据日程查看到不同 Up 主的直播日程,更好的管理。
Roadmap
以下是正在做的和未来准备要做的:
-
视频会议
-
开放平台
-
深度集成已有工作流
- 桌面端 /移动端
开源且开放
Tailchat
是一个开源且开放的应用,我们立志将其打造成一套连接各个业务的生态平台。同时我们欢迎来自不同水平、不同能力的开发者为此做出贡献。
仓库地址: https://github.com/msgbyte/tailchat