Skip to content

【新增PDF和Office文件解析上传】安卓端全场景GPT助手,可用音量键唤起并进行语音交流,支持联网、拍照、模板、PDF和Office文件解析等 | GPT assistant for Android, activated via volume keys for voice interaction, supporting features such as networking, taking photos, templates and parsing PDF and Office documents.

License

Notifications You must be signed in to change notification settings

Skythinker616/gpt-assistant-android

Repository files navigation

简体中文 | English

GPT Assistant

安卓端全场景 GPT 助手
快捷唤起 · 语音交互 · 支持联网 · 文件上传


介绍

主要特性

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

功能展示

一、基础使用:仅用音量键就可以操控

  1. 长按音量下键唤出界面

  2. 按住音量键不放,开始语音输入

  3. 松开后再次短按,发送问题

  4. 接收回复的同时可以自动通过语音进行播报

二、用状态栏快捷键也可触发

下拉状态栏,点击“GPT”按钮,即可唤出界面,键盘会自动弹出,可以手动输入问题

三、支持连续对话

激活界面上方的对话图标,即可进行连续对话,点击左侧的头像图标可以对单条对话进行删除、重试等操作

四、上传文本/图片/文档

  • 界面内上传:点击左下角的附件按钮,可选择拍照、相册、文件方式上传文档
  • 分享上传:在其他应用(如图库)中选中文本或图片,点击分享按钮,选择本程序
  • 打开上传:在其他应用(如微信QQ)中选择“打开方式”,选择本程序
  • 拖拽上传:在支持拖拽的其他应用(微信QQ、超级中转站、电脑多屏协同等)中,拖拽文件到本程序界面
  • 划词上传:在其他应用中选中文本,选用本程序处理

五、智能模板

通过高级模板语法,可以实现向界面添加下拉选框等操作,具体说明可以在模板编写说明中查看

点击模板编辑页面右上角的按钮,可以加载在线模板列表,在讨论社区中可以获取更多模板或分享自己的模板,分享的模板可能会被动态更新到在线模板列表中哦~

六、支持GPT联网

通过Function接口允许GPT发起联网请求,程序会向GPT自动返回所需的网页数据,使GPT具有联网能力(需先在设置中允许联网)

注1:上图均为使用gpt-3.5-turbo模型的测试结果,建议在提问前加入“百度搜索”、“必应搜索”、“在线获取”、“从xxx获取”等字样引导GPT,以获得更好的联网效果

注2:如果你使用图中的提问但没有获取到正确的回答,可能是由于GPT的随机性导致访问了错误的网址,或是网站内容变化导致抓取失败,你可以尝试修改提问方式

注3:由于需要将网页内容发送给GPT,联网时会产生大量Token消耗,gpt-4模型请谨慎使用

注4:不支持Function的模型(如gpt-4-vision-preview等)无法使用联网功能


安装&配置

1. 下载安装

直接下载最新发行版中的apk文件,安装即可

2. 配置 OpenAI

程序使用的是OpenAI API,需要用户在设置中填入自己的API_KEY,可以选择使用官方服务或第三方转发服务

  • 使用官方服务

    在OpenAI官网注册账号并获取API_KEY,在软件设置中填写网址https://api.openai.com/和API_KEY

  • 使用第三方转发服务(国内使用)

    官方服务在国内无法直接访问,用户可以选择使用第三方转发服务,此处推荐一个提供免费接口的项目GPT_API_free,目前其免费服务提供gpt-3.5-turbogpt-4o-mini等模型,限制调用频率不超过200请求/天/IP&Key,在国内可直接访问

3. 配置语音识别 (可选)

注:程序默认使用的是华为语音识别接口,如无特殊情况,不需要进行此步骤

百度语音识别接口

用户可以参照百度语音识别官方文档注册并创建应用,然后获取AppID、API Key和Secret Key填入设置中

若设置项的“启用长语音”选项关闭,则使用的是百度短语音识别接口,若开启,则使用的是实时语音识别接口,需要用户根据需求在创建应用时勾选对应的服务

此外,在创建应用时,需要将“语音包名”设置为“Android”,并填入本软件包名com.skythinker.gptassistant

设置语音包名

Google语音识别接口

用户需要确保系统中已安装Google软件,然后跟随软件指引设定Google为系统语音识别引擎,且允许其使用麦克风权限,然后在软件设置中选择Google语音识别接口即可

Whisper语音识别接口

如果用户所使用的OpenAI接口支持Whisper模型,在软件设置中选择Whisper语音识别接口即可使用

4. 开始使用

  • 如果你希望使用音量键唤醒,你需要:

    1. 根据软件提示开启无障碍服务,并允许软件在后台运行

    2. 查看系统设置中是否存在“后台弹出界面”权限,如有该权限则允许,如无则忽略

      若发现长按音量下键后手机震动一下但没有弹出界面,大概率是因为缺少该权限

  • 请参照功能展示中的操作使用软件


Q&A

软件唤起

Q: 长按音量下键只是在调节音量,并没有其他任何现象?

A: 请在系统设置中开启本软件的无障碍服务(重启手机后可能需要重新开启)

Q: 长按音量下键后,手机震动了一下,但没有弹出界面?

A: 请在系统设置中允许程序“后台弹出界面”权限

Q: 隔一段时间不用就无法使用音量键唤起了?

A: 请在系统设置中允许程序在后台运行

语音交互

Q: 语音播报没声音 / 不好听?

A: 软件调用的是系统自带TTS(Text To Speech)服务,可以通过软件设置项“打开系统语音设置”进入系统设置界面,选择合适的语音引擎;若对系统自带引擎不满意也可以自行安装第三方TTS引擎如讯飞、TTS Server

Q: 不同接口的语音识别效果有什么差别?

A: 在中文和中英混说的场景下测试:

  • 华为接口(实时语音识别)识别准确度很高,单句识别表现最好
  • 百度则在长句识别时表现很好,断句较为合理,但难以做到中英混合识别(选用的是中文普通话模型)
  • Google支持的语言种类很多,中文识别效果一般,且不会加标点
  • Whisper支持的语言也很多,中文识别效果还可以,但有时出现简繁体不受控的情况,且不支持边说话边输出

在纯英文场景下,华为、Google和Whisper的效果都不错

Q: 语音识别接口费用如何?

本软件目前支持以下四种语音识别接口,默认使用的华为接口是免费的:

  • 华为HMS(默认接口)提供免费的语音识别接口,因此程序内置了作者的API Key以供直接使用,如无特殊情况该接口将在华为免费期间一直可用
  • Google也是免费接口,但在国内可能无法访问,仅推荐海外用户使用
  • 百度短语音识别为新用户提供15万次 & 180天免费额度,额度外收取¥0.0034/次的调用费用
  • Whisper接口由OpenAI提供,与GPT聊天使用相同接口参数,调用费用可以参考官方说明

联网相关

Q: 联网时GPT能访问什么网站?

A: 程序使用Android WebView加载网页,能用本机浏览器打开的网站都可以访问

Q: GPT能获取网站中的什么内容?

A: 对于一般网站,仅允许GPT获取纯文本内容,而对于下述特殊适配过的网站,GPT还可以获取到搜索结果链接:百度、必应、谷歌、谷歌学术、知乎、微博、京东、GitHub、B站、知网

如果你觉得有其他网站需要适配,可以提交Issue

Q: 为什么GPT在访问一些网站时说无法获取内容?

A: 网页加载超时(15s)、需要登录、需要验证等原因都可能导致这个问题,你可以尝试再次提问,或要求GPT更换访问的网站

其他使用问题

Q: 为什么列表中没有我需要的模型?

A: 软件仅内置了少数常用模型,你可以在设置中添加自定义模型(以英文分号分隔),添加后即会出现在列表中

Q: 显示获取失败,提示请求超时,或产生错误码502/503?

A: 排除网络因素,该错误一般由OpenAI接口产生,可能由于其服务器负载过高导致,请重试或等待一段时间后再尝试 查看OpenAI实时状态

Q: 如何使用非OpenAI格式的模型接口?

A: 各家LLM接口种类繁多(如Claude、Gemini、Ollama等),本项目暂无计划进行一一适配,用户可以考虑部署OneAPINewAPI等分发系统将各家接口统一转换为OpenAI格式

开发相关

Q: 编译仓库代码后无法使用华为HMS语音识别?

A: 为防止滥用,仓库中的Key开启了包名和签名验证,因此如果希望自行编译使用,需要根据华为官方文档创建AppGallery应用并替换鉴权信息,包括app/agconnect-services.json文件和app/src/main/res/values/strings.xml中的hms_api_key字段


主要功能更新日志

  • 2023.09.10 发布第一个版本,支持基础对话、百度语音输入、TTS输出、Markdown渲染等功能
  • 2023.09.13 支持连续对话、GPT-4、百度长语音识别,上下文菜单唤起
  • 2023.10.06 添加华为HMS语音识别
  • 2023.11.06 添加联网功能
  • 2023.12.04 添加Vision识图功能
  • 2023.12.21 支持高级模板语法
  • 2024.01.08 支持Google和Whisper语音识别、在线模板列表
  • 2024.05.25 支持连续语音对话
  • 2025.04.23 支持多种文档解析

TODO

  • 支持提问、回复长度限制
  • 支持消息压缩
  • 应用内直接下载安装更新

测试环境

已测试的机型:

机型 系统版本 Android 版本 本程序版本
荣耀 7C EMUI 8.0.0 Android 8 1.9.1
荣耀 20 HarmonyOS 3.0.0 Android 10 1.9.1
荣耀 20 HarmonyOS 4.0 Android 10 2.0.0
华为 Mate 30 HarmonyOS 3.0.0 Android 12 1.6.0
华为 Mate 30 HarmonyOS 4.0 Android 12 1.8.0
荣耀 Magic 4 MagicOS 7.0 Android 13 1.9.1
荣耀 Magic 6 MagicOS 8.0 Android 14 1.11.1
荣耀 Magic 6 MagicOS 9.0 Android 15 2.0.0
红米 K20 Pro MIUI 12.5.6 Android 11 1.5.0
红米 K60 Pro MIUI 14.0.23 Android 13 1.7.0
小米 13 MIUI 14.0.5 Android 14 1.10.0
Pixel 2 (模拟器) Android 12 Android 12 1.7.0

改进&贡献

如果你有改进建议或希望参与贡献,欢迎提交Issue或Pull Request


隐私说明

本程序不会以任何方式收集用户的个人信息,语音输入会直接发送给各语音接口,提问会直接发送给OpenAI API,不会经过其他中间服务器


引用的开源项目


About

【新增PDF和Office文件解析上传】安卓端全场景GPT助手,可用音量键唤起并进行语音交流,支持联网、拍照、模板、PDF和Office文件解析等 | GPT assistant for Android, activated via volume keys for voice interaction, supporting features such as networking, taking photos, templates and parsing PDF and Office documents.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages