Parabox:界面友好,功能完善,可拓展的即时通讯客户端(Android Only)

查看 17|回复 0
作者:ojhdt   
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
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部