https://github.com/hanzoe/pet-gpt
Pet-GPT 是一个使用 PyQt 编写的桌面宠物程序,支持调用 OpenAI 的 GPT 进行上下文对话,然后主动找你聊天!
https://github.com/hanzoe/pet-gpt
chaptgpt desktop pet
Last synced: 3 months ago
JSON representation
Pet-GPT 是一个使用 PyQt 编写的桌面宠物程序,支持调用 OpenAI 的 GPT 进行上下文对话,然后主动找你聊天!
- Host: GitHub
- URL: https://github.com/hanzoe/pet-gpt
- Owner: Hanzoe
- License: gpl-3.0
- Created: 2023-04-15T01:46:51.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-08T02:48:56.000Z (7 months ago)
- Last Synced: 2024-09-08T03:43:21.178Z (7 months ago)
- Topics: chaptgpt, desktop, pet
- Language: Python
- Homepage:
- Size: 76.7 MB
- Stars: 239
- Watchers: 5
- Forks: 109
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ChatGPT-repositories - Pet-GPT - Pet-GPT 是一个使用 PyQt 编写的桌面宠物程序,支持调用 OpenAI 的 GPT 进行上下文对话,然后主动找你聊天! (Openai)
README
# Pet-GPT

Pet-GPT 是一个使用 PyQt 编写的桌面宠物程序,支持调用 OpenAI 的 GPT 进行上下文对话,然后主动找你聊天!
![]()
![]()
![]()
bilibili连接
https://www.bilibili.com/video/BV1xM4y1y7e7/?vd_source=0256cdccbe38c132828c06c0c3d6dd4f## 特点
- 一个简单的桌面小宠物,支持自定义图像和昵称
- 支持自由移动和随机主动发问(通过gpt)等多种设置
- 使用 OpenAI GPT 进行上下文的单词对话
- 支持聊天界面的自定义插件热更新
- 能延续QQ宠物的梦## 目前的功能
功能 | 描述
--- | ---
主动对话v1 | 使用模板随机发起对话,不再被动聊天(下一版本,先向gpt获取对话内容,再主动对话,更生动)
英文润色 | 修改源语言为专业的英语
python解释器 | 模拟python,直接执行命令
自定义插件 | 支持开发设计自己的插件
配置代理服务器 | 支持配置代理服务器
模块化设计 | 支持自定义高阶的实验性功能与相关代码
更换宠物图像 | 选择自己喜欢的图像作为展示(虚拟人物、动物都OK)
自定义快捷键 | 通过自定义快捷键,直接调出对话框
右键学术优化 | 通过右键直接调用学术优化(https://github.com/binary-husky/chatgpt_academic)
…… | ……## 安装与运行
1. 在 OpenAI 上注册账号,并获取 API 密钥。
在浏览器中打开 https://beta.openai.com/signup/,填写相关信息注册 OpenAI 账号,并获取 API 密钥。
2. 克隆或下载本项目。
- 点击绿色的“Code”按钮,选择“Download ZIP”
- 使用git命令`git clone https://github.com/Hanzoe/petgpt.git`下载。3. 将`config.ini`修改为`config_private.ini` ,并且修改参数"OPENAI_API_KEY"、"LLM_MODEL"。
- 有代理的话,一定要修改自己的代理地址
4. chatgpt-学术优化相关的配置
- 配置API_KEY和代理设置
- 在`config.py`中,配置 海外Proxy 和 OpenAI API KEY,说明如下
```
1. 如果你在国内,需要设置海外代理才能够顺利使用 OpenAI API,设置方法请仔细阅读config.py(1.修改其中的USE_PROXY为True; 2.按照说明修改其中的proxies)。
2. 配置 OpenAI API KEY。你需要在 OpenAI 官网上注册并获取 API KEY。一旦你拿到了 API KEY,在 config.py 文件里配置好即可。
3. 与代理网络有关的issue(网络超时、代理不起作用)汇总到 https://github.com/binary-husky/chatgpt_academic/issues/1
```
(P.S. 程序运行时会优先检查是否存在名为`config_private.py`的私密配置文件,并用其中的配置覆盖`config.py`的同名配置。因此,如果您能理解我们的配置读取逻辑,我们强烈建议您在`config.py`旁边创建一个名为`config_private.py`的新配置文件,并把`config.py`中的配置转移(复制)到`config_private.py`中。`config_private.py`不受git管控,可以让您的隐私信息更加安全。)
5. 安装依赖包```
conda create --name petgpt python=3.9
conda activate petgpt
pip install -r requirements.txt
```6. 运行 `main.py`。
```
python main.py
```
7. 也可以修改本地的PetGPT.bat脚本,之后直接双击运行
```
@echo off
call conda activate petgpt(这个改成自己的虚拟环境名字)
python main.py
pause
```## 使用说明
- 无互动状态下,宠物自由移动、对话

- 右键支持功能:打开聊天框、修改昵称、修改图像、设置移动、对话以及自定义快捷键打开聊天框

- 互动状态下,可实现基于GPT的聊天以及其他功能


- 右键支持跳转学术优化
项目地址:https://github.com/binary-husky/chatgpt_academic
## 自定义插件说明
### 常规按钮格式
1. 在chatdialog.py文件找到初始化函数
image.png
2. 按照模板添加槽
3. 定义函数
image.png### 下拉列表插件格式
1. 在chatdialog.py文件找到初始化函数
- self.custom_dropdown
image.png
2. 去self.full_slot中定义该选项## 开发日志
To do
- [ ] 优化界面
- [ ] 增加一些互动效果
- [ ] 聊天界面的语音输入输出
- [ ] 聊天界面的图片生成
- [ ] 不定时的请求对话:要先请求到gpt,再请求到本地(重要)
- [ ] 喂食?
- [ ] 好感度?
- [ ] 跨设备平台?(重要)
- [ ] 扮演角色类使用专门的命令调用,节省页面空间
- [ ] 快捷键调用对话框
- [ ] 代码显示
- [ ] 公式显示
- [ ] 实现宠物的互动
- [ ] 热插件-论文阅读
- [ ] 滑动条改变图像大小
- [ ] live2D展示
- [ ] 移动动态图
- [ ] 增加其他项目接口(学术优化),转移开发重心Done
- [x] 左侧加入插件栏
- [x] 数据过大时的分批请求
- [x] 请求太频繁,需要做限制
- [x] 热插件-python编译器
- [x] 聊天界面的角色扮演
- [x] 解决输入框不能回车的问题
- [x] 解决解析文本框的代码
- [x] 支持gif
- [x] 支持改大小
- [x] 修改读取方式,支持中文
- [x] 按下esc时,程序崩溃
- [x] random_chat开启时,会阻碍打字
- [x] 打开聊天框时,宠物隐藏;关闭时,宠物出现
- [x] 保存对话记录,实现联系上下文进行对话
- [x] 上下文对话
- [x] 通过设置修改宠物的移动、和主动发问
- [x] 完成无记忆的一次性对话
- [x] 完成整个框架(展示,基本聊天)## 贡献者
## 参考
1. https://github.com/f/awesome-chatgpt-prompts(获取prompts命令)
2. https://github.com/tommyli3318/desktop-pet(想做桌面宠物版的)
3. [https://github.com/binary-husky/chatgpt_academic](https://github.com/binary-husky/gpt_academic)(曾经在这上面做插件奉献,从而得到灵感)
4. https://gitee.com/fg_slash/yuanshen-desktoppet#https://gitee.com/link?target=https%3A%2F%2Fpan.baidu.com%2Fs%2F1AuUjMnYgNScTla7yQA19Og(参考了gif图)## Star History
[](https://star-history.com/#Hanzoe/Pet-GPT&Date)
## 免责申明
此项目仅供个人学习,禁止商用或者其他非法用途