Skip to content

Commit 22c10e3

Browse files
author
TerryTian-tech
committed
add README.md by Deepseek
1 parent 1445ac9 commit 22c10e3

File tree

2 files changed

+137
-8
lines changed

2 files changed

+137
-8
lines changed
File renamed without changes.

README.md

Lines changed: 137 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,146 @@
1-
# AI-Chat-Gui
2-
基于Pypi Openai库和Pyside6的简易ai聊天界面,由DeepseekV3.2和GLM-5共同编写
1+
# AI Chat GUI
32

4-
## 使用方式
5-
#### 克隆这个仓库
3+
一款Vibe Coding搓出来的简易ai聊天窗口界面,基于 PySide6 和 OpenAI SDK 制作,支持多模态输入、代码高亮和对话历史管理。
4+
5+
## ✨ 功能特性
6+
7+
### 🎨 现代化界面
8+
- 优雅的深色/浅色主题设计
9+
- 流畅的动画效果和圆角设计
10+
- 响应式布局,支持窗口缩放
11+
- 美观的渐变按钮和阴影效果
12+
13+
### 💬 对话功能
14+
- 支持流式响应,实时显示AI回复
15+
- 对话历史管理(创建、重命名、删除)
16+
- 本地保存对话记录,支持会话恢复
17+
- 智能对话标题生成
18+
19+
### 📁 多模态输入
20+
- **文本输入**:支持 Markdown 格式和代码块
21+
- **图片上传**:支持 PNG、JPG、JPEG、BMP、GIF、WebP 格式
22+
- **文件上传**:支持代码文件(.py、.js、.html、.css 等)和文本文件
23+
- **多图支持**:可同时上传多张图片并预览
24+
25+
### 🛠️ 代码处理
26+
- 智能代码块检测和语法高亮
27+
- 代码复制功能,一键复制代码内容
28+
- 行内代码和 Markdown 格式支持
29+
30+
### ⚙️ API 兼容性
31+
- 支持任何兼容 OpenAI API 格式的接口
32+
- 可配置 Base URL 和模型名称
33+
- 多模态模型自动检测
34+
- 连接超时和错误处理机制
35+
36+
## 📦 安装部署
37+
38+
### 环境要求
39+
- Python 3.9 或更高版本
40+
- 兼容 OpenAI API 的 API Key(如 DeepSeek、GPT 等)
41+
42+
### 安装步骤
43+
44+
1. **克隆仓库**
645
```bash
746
git clone https://github.com/TerryTian-tech/ai-chat-gui.git
847
cd ai-chat-gui
948
```
10-
#### 安装依赖(使用pip)
49+
2. **安装依赖**
1150
```bash
1251
pip install openai pyside6
1352
```
14-
15-
#### 运行程序
53+
3. **运行程序**
1654
```bash
17-
python AIChat-0.3.py
55+
python AIChat.py
56+
```
57+
58+
## 🔧 配置说明
59+
60+
### API 设置
61+
首次运行需要在设置中配置 API 信息:
62+
1. 点击左侧面板的 "⚙️ API 设置" 按钮
63+
2. 填写以下信息:
64+
- **API Key**: 你的 API 密钥
65+
- **Base URL**: API 接口地址(如:`https://api.deepseek.com/v1`
66+
- **模型**: 模型名称(如:`deepseek-chat`
67+
- **多模态支持**: 如果你的模型支持图片输入,请勾选此选项
68+
69+
### 支持的 API 服务
70+
- DeepSeek API
71+
- OpenAI API
72+
- 其他任何兼容 OpenAI API 格式的服务
73+
74+
## 🖥️ 使用指南
75+
76+
### 基本使用
77+
1. **新建对话**:点击左侧面板的 "➕ 新建对话" 按钮
78+
2. **发送消息**
79+
- 在底部输入框输入文本
80+
-`Enter` 发送,`Shift+Enter` 换行
81+
3. **上传文件**
82+
- 点击输入框旁的 "📎" 按钮
83+
- 支持多选图片和文本文件
84+
- 图片会自动显示预览
85+
86+
### 对话管理
87+
- **切换对话**:点击左侧列表中的对话项
88+
- **重命名对话**:右键点击对话 → "重命名"
89+
- **删除对话**:右键点击对话 → "删除"
90+
- **清除历史**:点击左下角的 "🗑️ 清除所有历史"
91+
92+
### 代码处理
93+
- **代码块**:使用三个反引号包裹代码(支持语言标识)
94+
- **行内代码**:使用单个反引号包裹 `code`
95+
- **复制代码**:点击代码块右上角的 "📋 复制" 按钮
96+
97+
### 多模态功能
98+
1. **上传图片**:支持拖放或通过文件对话框选择
99+
2. **图片预览**:上传的图片会在输入框上方显示缩略图
100+
3. **移除图片**:点击图片缩略图上的 "✕" 按钮
101+
4. **多图输入**:可同时上传最多 10 张图片
102+
103+
## 📁 项目结构
104+
105+
106+
## 🛠️ 技术实现
107+
108+
### 核心架构
109+
- **UI 框架**: PySide6 (Qt for Python)
110+
- **API 客户端**: OpenAI Python SDK
111+
- **数据存储**: JSON 格式本地存储
112+
- **异步处理**: QThread 实现后台 API 调用
113+
114+
### 关键特性实现
115+
1. **流式响应**: 使用 OpenAI 的流式 API,实时更新回复内容
116+
2. **代码高亮**: 正则表达式解析代码块,自定义 CodeBlockWidget 渲染
117+
3. **多模态处理**: Base64 编码图片,根据模型支持自动调整消息格式
118+
4. **防抖优化**: 使用 QTimer 实现高度调整防抖,提升性能
119+
5. **错误处理**: 完善的异常捕获和用户友好提示
120+
121+
### 性能优化
122+
- 控件复用减少内存占用
123+
- 延迟保存避免频繁 I/O 操作
124+
- 防抖机制防止界面卡顿
125+
- 连接池管理避免资源泄漏
126+
127+
## 🐛 常见问题
128+
129+
### Q: 程序无法启动
130+
**A**: 检查 Python 版本和依赖安装
131+
132+
### Q: API 请求失败
133+
**A**:
134+
1. 检查 API Key 和 Base URL 是否正确
135+
2. 确认网络连接正常
136+
3. 查看模型名称是否正确
137+
138+
### Q: 图片上传失败
139+
**A**:
140+
1. 确认模型是否支持多模态
141+
2. 检查图片格式和大小
142+
3. 在设置中勾选 "此模型支持图片输入"
143+
144+
## 📜 开源协议
145+
146+
本项目采用 MIT 协议开源。详见 [LICENSE](LICENSE) 文件。

0 commit comments

Comments
 (0)