V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ojhdt
V2EX  ›  分享创造

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

  •  
  •   ojhdt · 2023-03-15 00:56:34 +08:00 · 2107 次点击
    这是一个创建于 618 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Parabox 是什么

    Parabox 是我开发的一个 IM 客户端。为了解决三个问题:

    • 大量同类群聊(工作群,学习群)占领会话页面
    • 历史文件难以查找,甚至还会过期丢失
    • 后台驻留,占用大量资源

    在此基础上再附加额外的要求,如适配 Material You ,平板布局,适配系统通知等。半年时间独立开发完成。

    希望得到大家建议,反馈和 Star !

    Github: https://github.com/Parabox-App/Parabox

    网站: https://parabox.ojhdt.dev/

    文档: https://docs.parabox.ojhdt.dev/

    poster

    功能

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

    预览图片

    poster1

    poster2

    poster3

    工作模式

    • 扩展模式:最基本的模式,扩展接收消息后传递到主端,主端将待发送消息传递回扩展。可以同时连接多个扩展。

    • 转发模式:扩展模式的升级版,需要两台设备。备用机以扩展模式运行,接收到消息后,通过 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

    15 条回复    2023-03-16 20:07:01 +08:00
    duckgo991
        1
    duckgo991  
       2023-03-15 01:42:48 +08:00
    支持微信不
    ojhdt
        2
    ojhdt  
    OP
       2023-03-15 01:46:44 +08:00 via Android
    @duckgo991 需要服务器架设[efb]( https://github.com/ehForwarderBot/ehForwarderBot),然后用 websocket 连过来
    ryougifujino
        3
    ryougifujino  
       2023-03-15 03:54:39 +08:00
    设计感觉不错,赞
    rapiz
        4
    rapiz  
       2023-03-15 08:40:52 +08:00 via Android
    Matrix 的国产 im bridge 生态也不能说差强人意。这类产品的掣肘之处在于维护 bridge 需要的人力太大
    ojhdt
        5
    ojhdt  
    OP
       2023-03-15 10:47:05 +08:00 via Android
    @rapiz 认同。而且国产 im 基本没有稳定的接口,很难保证可用性
    allinoneok
        6
    allinoneok  
       2023-03-15 16:28:58 +08:00
    个人感觉是聊天软件要简洁,你这个有点花里胡哨的。
    zuoshoufantexi
        7
    zuoshoufantexi  
       2023-03-15 18:39:47 +08:00
    这个是自建服务的?数据全在个人手上的么?
    jKpzPv20NjX56i44
        8
    jKpzPv20NjX56i44  
       2023-03-15 18:43:16 +08:00
    ui 很好看!请问以后会支持 matrix 吗
    ojhdt
        9
    ojhdt  
    OP
       2023-03-15 18:48:59 +08:00
    @allinoneok 设置项确实有点繁杂,会精简一下
    ojhdt
        10
    ojhdt  
    OP
       2023-03-15 19:07:14 +08:00
    @zuoshoufantexi 数据都是本地存储的。可以看作一个带数据库的第三方客户端
    ojhdt
        11
    ojhdt  
    OP
       2023-03-15 19:08:10 +08:00
    @qwerzl 已经在做了!感谢认可!
    letschill
        12
    letschill  
       2023-03-16 10:14:23 +08:00
    ui 清新好看,支持支持
    fox233
        13
    fox233  
       2023-03-16 15:33:30 +08:00
    什么时候支持 ios
    fox233
        14
    fox233  
       2023-03-16 15:34:17 +08:00
    什么时候支持 web 端
    ojhdt
        15
    ojhdt  
    OP
       2023-03-16 20:07:01 +08:00
    @fox233 短时间内很难支持 iOS 和 web 啦~
    或许得等到 compose 成熟支持跨平台?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   965 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:32 · PVG 05:32 · LAX 13:32 · JFK 16:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.