# AI Chat - 智能对话助手 > **版本:v1.0.0** | **协议:AGPLv3** | **PHP 8.0 + MySQL + Nginx** 一个基于 PHP 8.0 的 AI 聊天 Web 应用,支持多种 AI 服务供应商,提供流式对话体验。 ## ✨ 功能特性 - 🔐 用户认证系统(JWT) - 🤖 多 AI 服务供应商支持(OpenAI、Claude、DeepSeek 等 12+ 供应商) - 💭 思考/非思考模式切换 - 📡 SSE 流式响应(打字机效果) - 💬 多会话管理 - 📁 文件上传(图片 + 代码文件) - 🎨 代码高亮和 Markdown 渲染 - 🧠 自定义提示词和可配置人格(预设 + 自定义) - 💾 双重历史记录存储(服务器 + 本地缓存) - 🌐 Web 安装界面(零配置部署) - ⚙️ API 配置管理界面 ## 🛠️ 技术栈 | 组件 | 技术 | |------|------| | 后端 | PHP 8.0(原生,无框架) | | 数据库 | MySQL 5.7+ / 8.0(PDO 驱动) | | 前端 | PHP 模板 + 原生 JavaScript + AJAX | | Web 服务器 | Nginx + PHP-FPM | | 认证 | JWT(firebase/php-jwt) | | 依赖管理 | Composer(PSR-4 自动加载) | | 代码高亮 | highlight.js(CDN) | | Markdown 渲染 | marked.js(CDN) | ## 📁 项目结构 ``` ai-chat/ ├── public/ # Web 根目录(Nginx 指向此目录) │ ├── api.php # API 统一入口 │ ├── login.php # 登录页面 │ ├── chat.php # 聊天主页面 │ ├── config.php # 配置管理页面 │ └── install.php # 安装向导页面 ├── app/ # 应用代码(PSR-4 自动加载) │ ├── Config/ # 配置管理(Database、AppConfig) │ ├── Controllers/ # 控制器(Auth、Chat、Session 等) │ ├── Middleware/ # 中间件(Auth、Admin) │ ├── Models/ # 数据模型(User、Session、Message 等) │ ├── Services/ # 服务层(AIService、Installer、Providers) │ └── Views/ # 视图模板(login、chat、config、layout) ├── assets/ # 前端静态资源 │ ├── css/ # 样式文件 │ ├── js/ # JavaScript 文件 │ └── img/ # 图片资源 ├── config/ # JSON 配置文件(安装后生成) ├── uploads/ # 用户上传文件 ├── docs/ # 文档 ├── vendor/ # Composer 依赖(安装后生成) ├── composer.json # PHP 依赖配置 └── .gitignore ``` ## 🚀 快速开始 ### 环境要求 - PHP >= 8.0 - MySQL >= 5.7 - Nginx(或 Apache) - Composer - PHP 扩展:PDO、cURL、json、mbstring ### 安装步骤 1. **克隆项目** ```bash git clone cd ai-chat ``` 2. **安装 PHP 依赖** ```bash composer install ``` 3. **配置 Nginx** - 将网站根目录指向 `public/` 目录 - 参考 `docs/nginx.conf` 或 `docs/baota-nginx-snippet.conf` 配置 Nginx 4. **运行安装向导** - 访问 `http://your-domain.com/install.php` - 按照向导步骤完成安装 详细安装说明请查看 [INSTALL.md](INSTALL.md)。 ## 📖 文档 - [安装指南](INSTALL.md) - [部署文档](docs/DEPLOY.md) - [架构说明](docs/ARCHITECTURE.md) - [API 文档](docs/API.md) - [人格系统](docs/PERSONALITY.md) - [Nginx 配置](docs/nginx.conf) - [宝塔面板配置](docs/baota-nginx-snippet.conf) ## 📄 开源协议 本项目基于 [GNU Affero General Public License v3.0 (AGPLv3)](LICENSE) 开源。 ## 📌 版本历史 | 版本 | 日期 | 说明 | |------|------|------| | v1.0.0 | 2026.5.5 | 初始版本,PHP 8.0 全栈实现 |