# GPT Assistant
---
## 简介
GPT Assistant 是一个基于ChatGPT的安卓端语音助手,允许用户通过手机音量键从任意界面唤起并直接进行语音交流,用最快捷的方式询问并获取回复
### 项目特性
- 支持用户预设**问题模板**,支持**连续对话**,支持`gpt-3.5-turbo`和`gpt-4`模型
- 通过无障碍功能捕获音量键事件,实现在**任意界面唤起**
- 支持从**全局上下文菜单**(选中文本后弹出的系统菜单)中直接唤起
- 支持通过状态栏**快捷按钮**唤起
- 支持对**Markdown**进行渲染
- 使用华为或百度语音API进行**语音输入**
- 调用系统TTS引擎**输出语音**
### 国内使用说明
本软件通过OpenAI API获取回复,在国内使用时可以用第三方转发服务,如[Chatanywhere](https://github.com/chatanywhere/GPT_API_free),其目前提供免费和付费服务,具体使用方法见[下述说明](#使用方法)
> 注:Chatanywhere注册需要GitHub账号,因此注册时需要能够登录GitHub的网络环境
### 费用说明
本软件不会收取任何费用,用户能够免费使用各项功能,但如果有特殊需求,使用的下述第三方服务**可能**会产生费用:
1. ChatGPT调用费用
- 以Chatanywhere为例,目前其**免费服务**限制对`gpt-3.5-turbo`模型的调用频率不超过**60请求/小时/IP&Key**,足够个人使用,若需要更高的调用频率或`gpt-4`模型,可以选择付费服务
2. 百度语音识别接口费用
- 目前华为HMS提供免费的语音识别接口,因此程序内置了作者的API Key以供直接使用,如无特殊情况该API将在华为免费期间一直可用
- 程序也提供了对百度接口的调用以供有需要的情况下使用,目前百度短语音识别为新用户提供**15万次 & 180天免费额度**,额度外收取¥0.0034/次的调用费用
---
## 效果展示
**一、基础使用:仅用音量键就可以操控**
1. 长按音量下键唤出界面
2. 按住音量键不放,开始语音输入
3. 松开后再次短按,发送问题
4. 接收回复的同时可以自动通过语音进行播报
<div align="center">
<img src="readme_img/usage.gif" height="400px">
</div>
**二、用状态栏快捷键也可触发**
下拉状态栏,点击“GPT”按钮,即可唤出界面,键盘会自动弹出,可以手动输入问题
<div align="center">
<img src="readme_img/tile_btn.gif" height="400px">
</div>
**三、从全局上下文菜单唤起**
在选中文本后弹出的系统菜单中,点击GPTAssistant选项,即可直接唤起应用并将选中文本添加到输入框
<div align="center">
<img src="readme_img/context_menu.gif" height="400px">
</div>
**四、支持连续对话**
激活上方的对话图标,即可保留当前会话,进行连续对话
<div align="center">
<img src="readme_img/multi_chat.gif" height="400px">
</div>
---
## 使用方法
### 1. 下载安装
直接下载最新发行版中的apk文件,安装即可
### 2. 配置 OpenAI
程序使用的是OpenAI API,需要用户在设置中填入自己的API_KEY,可以选择使用官方服务或第三方转发服务
- **使用Chatanywhere转发服务**(国内推荐)
Chatanywhere提供了免费和付费的OpenAI API转发服务,目前免费服务限制60请求/小时/IP&Key调用频率,付费服务则无限制,可以在国内直接访问,用户可以参照其[项目主页](https://github.com/chatanywhere/GPT_API_free)获取地址和KEY填入设置中
- **使用官方服务**
在OpenAI官网注册账号并获取API_KEY,在设置中填写网址`https://api.openai.com/`和API_KEY
### 3. 配置百度语音识别 (可选)
> 注:程序默认使用的是华为语音识别接口,如无特殊情况,不需要进行此步骤
用户可以参照[百度语音识别官方文档](https://cloud.baidu.com/doc/SPEECH/s/qknh9i8ed)注册并创建应用,然后获取AppID、API Key和Secret Key填入设置中
若设置项的“启用长语音”选项关闭,则使用的是百度短语音识别接口,若开启,则使用的是实时语音识别接口,需要用户根据需求在创建应用时勾选对应的服务
此外,在创建应用时,需要将“语音包名”设置为“Android”,并填入本软件包名`com.skythinker.gptassistant`
![设置语音包名](readme_img/asr_set_package.jpg)
### 4. 开始使用
1. 根据软件提示开启无障碍服务,并允许软件在后台运行
2. 查看设置中是否存在“后台弹出界面”权限,如有该权限则允许,如无则忽略
> 若发现长按音量下键后手机震动一下但没有弹出界面,大概率是因为缺少该权限
3. 开始正常使用,可参照[效果展示](#效果展示)中的操作步骤
---
## Q&A
**Q: 长按音量下键只是在调节音量,并没有其他任何现象?**
A: 请在设置中开启本软件的无障碍服务(重启手机后可能需要重新开启,建议设置为无障碍快捷方式)
**Q: 长按音量下键后,手机震动了一下,但没有弹出界面?**
A: 请在设置中允许程序“后台弹出界面”权限
**Q: 隔一段时间不用就无法使用音量键唤起了?**
A: 请在设置中允许程序在后台运行
**Q: 语音播报没声音 / 不好听?**
A: 软件调用的是系统自带TTS(Text To Speech)服务,可以通过软件设置项“打开系统语音设置”进入系统设置界面,选择合适的语音引擎;若对系统自带引擎不满意也可以自行安装讯飞等第三方TTS引擎
**Q: 华为和百度语音识别效果有什么差别?**
A: 经测试,所使用的华为接口(实时语音识别)识别准确度较高,尤其是在中英混说的场景下,但其断句能力则不如百度,仅适合单句识别
---
## 主要功能更新日志
- **2023.09.10** 发布第一个版本,支持基础对话、百度语音输入、TTS输出、Markdown渲染等功能
- **2023.09.13** 支持连续对话、GPT-4、百度长语音识别,上下文菜单唤起
- **2023.10.06** 添加华为HMS语音识别
---
## 测试环境
已测试的机型:
| 机型 | 系统版本 | Android 版本 | 本程序版本 |
| :--: | :-----: | :----------: | :-------: |
| 荣耀 7C | EMUI 8.0.0 | Android 8 | 1.5.0 |
| 荣耀 20 | HarmonyOS 3.0.0 | Android 10 | 1.5.0 |
| 华为 Mate 30 | HarmonyOS 3.0.0 | Android 12 | 1.4.0 |
| 荣耀 Magic 4 | MagicOS 7.0 | Android 13 | 1.2.0 |
| 红米 K20 Pro | MIUI 12.5.6 | Android 11 | 1.5.0 |
| 红米 K60 Pro | MIUI 14.0.23 | Android 13 | 1.5.0 |
| Pixel 2 (模拟器) | Android 12 | Android 12 | 1.2.0 |
---
## 改进&贡献
如果你有改进建议或希望参与贡献,欢迎提交Issue或Pull Request
---
## 隐私说明
本程序不会以任何方式收集用户的个人信息,语音输入会直接发送给华为或百度API,提问会直接发送给OpenAI API,不会经过任何中间服务器
---
## 引用的开源项目
- [Markwon](https://github.com/noties/Markwon): Android上的Markdown渲染器
- [chatgpt-java](https://github.com/Grt1228/chatgpt-java): OpenAI API的Java封装
没有合适的资源?快使用搜索试试~ 我知道了~
GPT Assistant 是一个基于ChatGPT的安卓端语音助手
共144个文件
java:42个
xml:34个
png:29个
需积分: 0 1 下载量 148 浏览量
2023-10-08
16:23:51
上传
评论 1
收藏 27.45MB ZIP 举报
温馨提示
GPT Assistant 是一个基于ChatGPT的安卓端语音助手,允许用户通过手机音量键从任意界面唤起并直接进行语音交流,用最快捷的方式询问并获取回复 项目特性 支持用户预设问题模板,支持连续对话,支持gpt-3.5-turbo和gpt-4模型 通过无障碍功能捕获音量键事件,实现在任意界面唤起 支持从全局上下文菜单(选中文本后弹出的系统菜单)中直接唤起 支持通过状态栏快捷按钮唤起 支持对Markdown进行渲染 使用华为或百度语音API进行语音输入 调用系统TTS引擎输出语音
资源推荐
资源详情
资源评论
收起资源包目录
GPT Assistant 是一个基于ChatGPT的安卓端语音助手 (144个子文件)
gradlew.bat 3KB
WakeUp.bin 1KB
baidu_speech_grammar.bsg 14KB
context_menu.gif 7.41MB
tile_btn.gif 7.34MB
multi_chat.gif 5.51MB
usage.gif 4.44MB
.gitignore 225B
.gitignore 47B
.gitignore 15B
.gitignore 7B
build.gradle 2KB
build.gradle 595B
settings.gradle 467B
build.gradle 446B
gradlew 6KB
bdasr_V3_20210628_cfe8c44.jar 182KB
gradle-wrapper.jar 58KB
MainActivity.java 23KB
AutoCheck.java 17KB
TabConfActivity.java 15KB
AndroidAudioManager.java 13KB
ActivityMiniRecog.java 11KB
ActivityMiniUnit.java 10KB
MyAccessbilityService.java 6KB
GlobalDataHolder.java 6KB
ChatApiClient.java 6KB
ActivityMiniWakeUp.java 6KB
MessageStatusRecogListener.java 5KB
BluetoothReceiver.java 5KB
MyRecognizer.java 5KB
RecogEventAdapter.java 4KB
BaiduAsrClient.java 4KB
ChainRecogListener.java 4KB
RecogResult.java 3KB
HmsAsrClient.java 3KB
FileAudioInputStream.java 3KB
MyMicrophoneInputStream.java 3KB
IRecogListener.java 3KB
InFileStream.java 3KB
InPipedStream.java 3KB
TabConfListAdapter.java 3KB
StatusRecogListener.java 2KB
WakeUpResult.java 2KB
FileUtil.java 2KB
MyWakeup.java 2KB
WakeupEventAdapter.java 2KB
HeadsetReceiver.java 2KB
TabDetailConfActivity.java 2KB
MyLogger.java 1KB
AuthUtil.java 1KB
QuickStartService.java 1KB
SimpleWakeupListener.java 984B
ExampleInstrumentedTest.java 768B
RecogWakeupListener.java 702B
PromptTabData.java 573B
AsrClientBase.java 482B
IStatus.java 482B
IWakeupListener.java 407B
ExampleUnitTest.java 388B
asr_set_package.jpg 6KB
icon.jpg 5KB
agconnect-services.json 1KB
LICENSE 34KB
README.md 7KB
ic_launcher-playstore.png 100KB
ic_launcher_foreground.png 37KB
tile_icon.png 23KB
ic_launcher_round.png 23KB
ic_launcher_foreground.png 22KB
chat_btn_enabled.png 20KB
send_btn.png 19KB
tts_off_enable.png 15KB
cancel_btn.png 14KB
ic_launcher_round.png 14KB
ic_launcher.png 13KB
tts_off.png 13KB
chat_user_icon.png 12KB
settings_btn.png 11KB
ic_launcher_foreground.png 11KB
clear_btn.png 9KB
add_btn.png 8KB
ic_launcher.png 8KB
chat_gpt_icon.png 8KB
ic_launcher_round.png 8KB
chat_btn.png 7KB
ic_launcher_foreground.png 7KB
ic_launcher_round.png 5KB
close_btn.png 5KB
ic_launcher.png 4KB
ic_launcher_foreground.png 3KB
ic_launcher_round.png 3KB
ic_launcher.png 3KB
ic_launcher.png 2KB
proguard-rules.pro 751B
proguard-rules.pro 750B
gradle.properties 1KB
gradle-wrapper.properties 230B
libBaiduSpeechSDK.so 1.18MB
libBaiduSpeechSDK.so 1.17MB
共 144 条
- 1
- 2
资源评论
你的月亮和太阳
- 粉丝: 1
- 资源: 83
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2003-2019全国各省地级市工业废水排放量城市废水排放量面板数据-Excel完整版
- 北京大学中国商业银行数字化转型指数 2010-2021年EXCEL
- 各国反补贴措施数量指标2000-2020-反补贴措施-贸易壁垒情况
- MFC 列表控件添加修改删除实例
- 2000-2021年 44指标 美国国际收支平衡表 德国国际收支平衡表 印度 中国国际收支平衡表
- Stata空间面板模型(slm,sem,sdm)包括do文件,样例数据和详细说明
- 重磅更新上市公司高管团队异质性数据处理Stata代码(2008-2022年数据)
- 基于QT+C++实现的文本或窗口炫酷有趣的滚动条-果冻条+源码
- scrapy 爬取东方财富网源码
- YOLOv8权重,GitHub中的bubbliiingUP主的
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功