[开源] ChatAir:使用 Telegram 修改的 OpenAI 和 Gemini 的 Android 原生客户端 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
flyun
V2EX    分享创造

[开源] ChatAir:使用 Telegram 修改的 OpenAI 和 Gemini 的 Android 原生客户端

  •  2
     
  •   flyun 2024-01-22 18:16:18 +08:00 4802 次点击
    这是一个创建于 694 天前的主题,其中的信息可能已经有所发展或是发生改变。

    ChatAir 是 OpenAI 和 Gemini 的原生客户端,提供比 ChatGPT 更流畅、更快速的聊天体验。

    在学习 Android Telegram 源码的时间里,正好赶上了 ChatGPT 的出现。由此想到,可以把 Telegram 修改为一款支持 OpenAI 的应用.

    借由 Telegram 的简单、直观、稳定的特点,实现一款流畅好用的 Android 原生客户端,支持 OpenAI 和 Gemini 的 API 。

    在 Telegram 的基础上,添加 MarkDown 支持、流式输出、OpenAI 和 Gemini 的 API 服务器地址配置等功能。

    01

    02

    03

    04

    05

    06

    • 流畅: 使用 Android 原生开发,高效的性能表现,打造无缝切换的使用体验
    • 高级: 支持 OpenAI/Gemini 的 API 调用,以及 OpenRouter 等自定义服务器地址替换,灵活定制你的服务器地址
    • 专业: 支持 Markdown ,代码高亮功能让你的代码清晰易读
    • 定制: 自定义 Prompt ,模型、温度、历史记录以及回复长度限制参数设置,提供个性化的使用体验
    • 酷炫: 提供暗黑模式和自定义主题,护眼同时增加使用的体验性
    • 识图: 支持图片识别功能,快速准确获取图像信息

    上个月,OpenAi 以及 Google 发布了图片识别模型,ChatAir 进行了集成。在直译与意译 prompt 基础上,修改了 prompt ,实现更为好用的识图翻译,提供了原文、直译、意译作为对照,而且使用 Google Gemini 完全免费。

    使用 Gemini Pro Vision 模型:

    07

    08

    使用使用 GPT-4-vision-preview 模型:

    09

    App 下载地址: https://github.com/flyun/chatAir/releases

    Github 地址: https://github.com/flyun/chatAir 欢迎 Star

    ChatAir 还在持续开发,比如识图翻译,可以设置为一个特殊模式,不显示 prompt 。集成生成图片,对接更多模型,欢迎下载使用提供反馈建议。

    最后本人最近在找工作,职位 Android 开发,base 北京,全职、远程、兼职皆可。

    联系方式:ZnlseXN1bkBnbWFpbC5jb20=

    简历地址: https://github.com/flyun/resume/blob/main/Android%E5%BC%80%E5%8F%91%E5%B7%A5%E7%A8%8B%E5%B8%88%E2%80%94%E2%80%94%E6%A0%BE%E7%A6%8F%E8%BF%90.pdf

    15 条回复    2024-02-03 12:48:06 +08:00
    Ccf
        1
    Ccf  
       2024-01-22 22:12:01 +08:00
    会有 ios 版么
    flyun
        2
    flyun  
    OP
       2024-01-22 22:21:07 +08:00
    @Ccf 暂时还没开发计划,iOS 上优秀的套壳 openAi 软件很多,比如 OpenCat 、BotGem 、ChatX 等等。因为 Android 上截止现在为止,我也没发现有使用原生编写支持 openAi 的知名应用,所以才诞生了 ChatAIr 。
    kuituosi
        3
    kuituosi  
       2024-01-22 23:23:52 +08:00
    请问下你是把 mtproto 去掉了吗?
    0o0O0o0O0o
        4
    0o0O0o0O0o  
       2024-01-22 23:42:08 +08:00 via iPhone
    和 OP 相似的 idea ,但 OP 做得太好了!
    flyun
        5
    flyun  
    OP
       2024-01-23 00:49:40 +08:00
    @kuituosi 没有去掉,只是隐藏了。但是我写一套新的网络请求框架,替代了 Telegram 使用 C++封装的网络框架,所以之前 Telegram 的代理方式实际上也无法使用
    flyun
        6
    flyun  
    OP
       2024-01-23 00:54:14 +08:00   2
    @0o0O0o0O0o 如果对于 Android 版本的 Telegram 源码感兴趣,可以拉取代码,看下我对 Telegram 源码写的注释,可以加快对于项目的理解。当然这里还是要称赞 DrKLO ,真的非常厉害,写出这么优秀的项目。
    kuituosi
        7
    kuituosi  
       2024-01-23 01:34:44 +08:00
    @flyun 正在学习 telegram 客户端中,前几天 ios 版本的 swift rx 把我看哭了
    安卓的打算好好学习下
    dm87497
        8
    dm87497  
       2024-01-23 01:48:29 +08:00 via Android   1
    所以有可以填自己 api 的 tg 机器人吗
    gxylsea
        9
    gxylsea  
       2024-01-23 02:41:58 +08:00
    for macos?????
    hellojay
        10
    hellojay  
       2024-01-23 08:02:19 +08:00 via iPhone   1
    @dm87497 有一键部署 vercel 的 telegram bot https://github.com/winniesi/tg-gemini-bot
    flyun
        11
    flyun  
    OP
       2024-01-23 08:07:30 +08:00   1
    @kuituosi Telegram 本身就很复杂,只能硬着头皮慢慢看。多打断点,让项目运行起来,根据断点堆栈,看看流程是怎样运行的。还有需要自己设定一个需要解决的问题,要不然盲目的看,只会觉得越来越乱。通个一个需要解决的点,然后慢慢延伸,就可以对一个模块有所了解,依次熟悉其他模块。
    chenoa
        12
    chenoa  
       2024-01-23 08:10:12 +08:00 via iPhone
    希望可以考虑一下 ios 版本
    flyun
        13
    flyun  
    OP
       2024-01-23 08:18:51 +08:00   2
    @chenoa iOS 开发最近也在学习,如果接下来时间允许,也可能考虑基于 iOS 版本 Telegram 进行修改,正好深入了解 iOS 开发。
    flyun
        14
    flyun  
    OP
       2024-01-24 13:17:31 +08:00
    更新了 1.0.3 版本,适配 one-api 。


    可以自己在服务器部署 one-api ,使用国内大模型。在 chatAir 配置好对应的服务器地址和 APIKEY 以及自定义模型,就可以对话国内大模型。

    配置自定义模型方法:点击聊天页面头像-选择模型-自定义模型。
    每个聊天窗口都可以配置自己的自定义模型,配合 one-api 使用更加方便。

    Gemini 可以免费使用,点击 Gemini API 密钥申请链接 https://makersuite.google.com/app/apikey

    获取 API 密钥后,在 API 服务器设置中,点击 Gemini API Key 后,填入申请的 API 密钥后保存即可。确保模型选择 Gemini Pro 或者 Gemini Pro Vision (图片模型)即可使用。
    0o0O0o0O0o
        15
    0o0O0o0O0o  
       2024-02-03 12:48:06 +08:00
    @flyun #13 很期待对 iOS 版本的修改和注释
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1442 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 16:44 PVG 00:44 LAX 08:44 JFK 11:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86