Parabox 是什么
Parabox 是我开发的一个 IM 客户端。为了解决三个问题:
- 大量同类群聊(工作群,学习群)占领会话页面
- 历史文件难以查找,甚至还会过期丢失
- 后台驻留,占用大量资源
在此基础上再附加额外的要求,如适配 Material You ,平板布局,适配系统通知等。半年时间独立开发完成。
希望得到大家建议,反馈和 Star !
Github: https://github.com/Parabox-App/Parabox
网站: https://parabox.ojhdt.dev/
文档: https://docs.parabox.ojhdt.dev/

功能
- 消息收发: 支持常见消息类型的接收与发送。
- 会话编组:将不同平台的不同会话编组至新会话中。
- 自定义会话:自定义名称,头像,标签。
- 文件管理:独立的文件管理页面。提供时间,类型,文件大小等多种筛选条件。
- 云端备份:自动备份指定会话文件至云端。(支持 Google Drive ,OneDrive )
- 通知进化:适配 通知渠道 展开通知 快捷回复 对话泡。
- 系统级推送:利用 FCM 组建消息同步网络。
- 插件化信息源:第三方插件提供更丰富,更稳定的消息源。
- 数据导出:将数据库导出至本地存储。
- 机器学习:ML Kit 提供的 实体提取,智能回复,翻译功能。
预览图片



工作模式
-
扩展模式:最基本的模式,扩展接收消息后传递到主端,主端将待发送消息传递回扩展。可以同时连接多个扩展。
-
转发模式:扩展模式的升级版,需要两台设备。备用机以扩展模式运行,接收到消息后,通过 FCM 将消息推送到主力机。主力机以相同方式将待发送消息传递回备用机。这样就避免掉了主力机上的后台常驻。
-
FCM 模式:特殊的工作模式,服务器直接推送 FCM 消息到主端。主端通过上行消息渠道将待发送消息传递回服务器。目前只有 EFB 支持此模式。教程
技术
- 界面完全使用 Jetpack Compose 构建
- 遵循最佳实践。使用 Kotlin coroutine ,Flow 进行异步编程。使用 Jetpack 完成数据持久化,依赖注入,分页浏览,导航,简单数据存储( Room ,Dagger-Hilt ,Paging 3 ,Navigation ,DataStore )
- 使用跨进程通信 Messenger 实现插件化
参与贡献
Parabox 主体只提供交互界面与数据存储,消息收发功能由扩展提供。
扩展开发部分提供 SDK ,开发文档与示例项目。欢迎参与扩展开发!
如果对主端有任何问题也欢迎提 Issue 与 PR !
下载及使用指引
以扩展模式运行时,需同时安装主端与扩展。
主端:
Google Play: https://play.google.com/store/apps/details?id=com.ojhdtapp.parabox
Github: https://github.com/Parabox-App/Parabox/releases
扩展
官方完成的扩展有:
- parabox-extension-telegram:连接 Telegram
- parabox-extension-ws:以 WebSocket 连接运行 EFB 的服务器
- parabox-extension-auto:导入通知
Google Play: https://play.google.com/store/apps/developer?id=Ojhdt+Apps
Github Topic: https://github.com/topics/parabox-extension
每次扩展更新,都要于主端重置扩展链接。
交流
Telegram 交流群: https://t.me/parabox_support