V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
skythinker
V2EX  ›  Android

分享一个自己开发的开源安卓 GPT 助手软件: GPT Assistant

  •  
  •   skythinker · 13 天前 · 1243 次点击

    这个项目其实已经在我的课余时间一点点开发了很久了,陆续收到过一些关注,不过最近做了一些比较重要的更新,所以想来这里再跟大家分享一下。

    目前安卓端的 GPT 客户端很多是主打桌面端的项目用跨平台框架开发的,虽然该有的聊天功能都有,但并没有和系统功能深度融合起来,很难达到“智能助手”的程度。

    我这个项目最核心的想法就是希望通过原生开发将 GPT 与安卓的硬软件更紧密地融合起来,实现一个“移动智能助手”的职责,而不仅限于聊天功能。这个项目的主要特性包括:

    • 多场景文件处理:通过拍照 / 相册 / 分享 / 打开 / 拖拽上传,支持图片 / TXT / PDF / DOCX / PPTX / XLSX 文件
    • 支持联网:按需抓取网页内容发送给 GPT
    • 全局快捷入口:音量键唤起 / 状态栏快捷键 / 跨应用划词调起
    • 智能模板:通过模板实现各种用途的专用助手,并为每个模板自由定制界面(自定义下拉选框和输入框)
    • 多接口语音输入输出:华为 / 百度 / Whisper / Google / 系统 TTS
    • 完全开源:通过 OpenAI API (或其兼容接口)提供服务,不收取任何费用

    典型使用场景包括:

    • 临时产生了一些问题想问 GPT ,通过音量键直接唤起本软件直接进行语音输入,再按一下音量键就可以发送,然后获得语音回复。全程不需要点屏幕,甚至不需要看屏幕。
    • 想知道面前的东西是什么,直接通过本软件拍照上传问 GPT 。同理还可以实现 OCR 、拍照翻译、拍照解题等。
    • 微信/QQ 收到文档快捷发送给 GPT 进行总结和提问
    • 通过跨应用拖拽,可以接收来自分屏或小窗的其他应用的文档,还可以从华为超级中转站、多屏协同等类似应用中拖入一堆来自不同地方的不同类型文件
    • 支持全局上下文菜单调起,实现全局划词翻译等功能

    文档解析目前其实还是有一定的限制,包括:

    • 没有实现 RAG ,文档内容会完整发给 GPT ,Token 消耗较多且受上下文窗口限制
    • 只能抓取文档中的文本,图片会被忽略
    • 只能支持有 x 结尾的新版 Office 格式,旧版的二进制格式(如.doc )还无法解析

    以上就是对我的项目的简要介绍,更详细的说明可以在项目主页找到,GitHub 和 Gitee 同步更新。

    这个项目会持续更新,欢迎大家提 Issue ,如果觉得有帮助的话还请给一个 Star 呀~

    12 条回复    2025-04-26 16:57:59 +08:00
    ZiLong
        1
    ZiLong  
       13 天前
    加油
    guanzhangzhang
        2
    guanzhangzhang  
       12 天前
    这种打开窗口动态调整的技术叫啥,compose 里有现场组件吗
    HojiOShi
        3
    HojiOShi  
       12 天前
    看了下代码,这股青春的味道甚是怀念。想当初我也是这样过来的。
    stardust21
        4
    stardust21  
       12 天前
    新的 Android 项目为什么不用 Kotlin 写呢
    evilStart
        5
    evilStart  
       12 天前 via Android
    @HojiOShi 你的意思不就是菜🤡
    skythinker
        6
    skythinker  
    OP
       11 天前
    @HojiOShi 哈哈哈哈哈多谢留个面子,我不是做开发的,就是爱好写着玩一玩的,主打一个实现功能就行
    skythinker
        7
    skythinker  
    OP
       11 天前
    @ZiLong 感谢鼓励!
    skythinker
        8
    skythinker  
    OP
       11 天前
    @guanzhangzhang 就是 java 原生开发,compose 我不是很了解
    skythinker
        9
    skythinker  
    OP
       11 天前
    @stardust21 我是好多年以前学的安卓了,没怎么更新这方面的技术栈,这算是心血来潮写的一个小软件
    HojiOShi
        10
    HojiOShi  
       11 天前
    @skythinker #6 我只是出自真心,并没有贬低你的意思,你写的这些确实跟我还在读大学时写的质量差不多,可能你的还略胜一筹。
    skythinker
        11
    skythinker  
    OP
       11 天前
    @HojiOShi 嘿嘿多谢肯定,我确实还在上学,也不是相关专业,只能靠自己的理解写写。这个项目没有仔细架构过,从开始随意写的代码边加功能边重构,现在确实不是太好看,之后有精力的话可能会修改修改。
    Venjer
        12
    Venjer  
       10 天前
    能有想法并落地实现非常棒!至于技术和代码质量真的是最不重要的,提高起来很容易,看一些规范和最佳实践就知道怎么做了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   919 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 21:07 · PVG 05:07 · LAX 14:07 · JFK 17:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.