# AI助手Web客户端 这是一个100%还原 `docs/ai-assistant.html` 原型设计的Web版本AI助手对话客户端。 ## ✨ 特性 ### 视觉效果 - ✅ 完全还原原型的双栏布局(左侧用户信息面板 + 右侧对话区域) - ✅ 精确匹配的颜色方案和渐变效果 - ✅ 动态粒子背景效果 - ✅ 消息滑入动画 - ✅ AI打字指示器动画 - ✅ 按钮悬停发光效果 - ✅ 语音波形动画 ### 功能特性 - ✅ 实时对话交互 - ✅ 智能回复快捷按钮 - ✅ 主题切换(深空黑、极光蓝、霓虹紫、科技绿) - ✅ 字体选择 - ✅ 待办事项管理 - ✅ 提醒设置展示 - ✅ 连接状态指示 ### 技术栈 - **后端**: Flask 2.3+ - **前端**: HTML5 + Tailwind CSS + Vanilla JavaScript - **字体**: Pacifico (标题) + Inter (正文) - **图标**: Font Awesome 6.4.0 ## 📁 项目结构 ``` web_client/ ├── app.py # Flask应用主文件 ├── requirements.txt # Python依赖 ├── README.md # 本文档 ├── static/ │ ├── css/ │ │ └── style.css # 自定义样式(动画、效果) │ ├── js/ │ │ └── main.js # 前端交互逻辑 │ └── assets/ # 静态资源(图片等) └── templates/ └── index.html # 主页面模板 ``` ## 🚀 快速开始 ### 1. 安装依赖 ```bash cd test-client/web_client pip install -r requirements.txt ``` ### 2. 启动服务 ```bash python app.py ``` 默认端口:`5000` ### 3. 访问应用 打开浏览器访问:`http://localhost:5000` ## 🎨 界面还原度 ### 布局结构 - ✅ 左侧固定宽度(320px)用户信息面板 - ✅ 右侧自适应对话区域 - ✅ 顶部导航栏(64px高度) - ✅ 底部输入区域 ### 颜色方案 ```css /* 背景渐变 */ background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%); /* 主色调 */ --primary: #6366f1; --secondary: #8b5cf6; /* 用户消息气泡 */ background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); /* AI消息气泡 */ background: linear-gradient(135deg, #06b6d4 0%, #10b981 100%); ``` ### 动画效果 1. **粒子背景** - 50个动态浮动粒子 2. **消息滑入** - 0.3s ease-out 动画 3. **打字指示器** - 3个点的波浪动画 4. **按钮发光** - hover时的阴影和位移效果 5. **脉冲动画** - 2s循环的扩散效果 6. **语音波形** - 5个条形的波动动画 ## 🔌 API集成 ### 已预留的API接口 #### 1. 获取应用列表 ```javascript GET /api/applications ``` #### 2. 发送聊天消息 ```javascript POST /api/chat/send Content-Type: application/json { "appId": 15, "message": "你好", "chatId": "optional_chat_id", "stream": false } ``` #### 3. 健康检查 ```javascript GET /api/health ``` ### 集成真实API 编辑 `app.py`,确保父目录的 `api_client.py` 和 `config.py` 可以正确导入: ```python from api_client import AIAssistantClient from config import APPLICATIONS, AI_ASSISTANT_CONFIG ``` ## 🎯 使用说明 ### 基础对话 1. 在底部输入框输入消息 2. 点击发送按钮或按Enter键 3. 等待AI回复(显示打字指示器) ### 快捷回复 点击顶部的快捷回复按钮,自动填充常用问题 ### 主题切换 点击顶部导航栏的主题按钮切换不同配色方案 ### 待办事项 在左侧面板添加和管理待办事项 ## 🔧 配置说明 ### 环境变量 创建 `.env` 文件(可选): ```bash # 服务端口 PORT=5000 # 调试模式 DEBUG=True # API基础URL(如果需要代理) API_BASE_URL=http://localhost:8082 ``` ### 修改默认应用 编辑 `static/js/main.js`: ```javascript let currentAppId = 15; // 修改为你的应用ID ``` ## 📱 响应式设计 - ✅ 桌面端(1920x1080及以上)- 完整布局 - ✅ 平板端(768px-1920px)- 自适应布局 - ✅ 移动端(<768px)- 优化的单栏布局 ## 🐛 故障排查 ### 样式未加载 - 检查 `static/css/style.css` 文件是否存在 - 确认Flask静态文件路径配置正确 ### JavaScript未执行 - 检查浏览器控制台是否有错误 - 确认 `static/js/main.js` 文件是否存在 ### API调用失败 - 检查后端服务是否启动 - 查看浏览器Network标签的请求详情 - 确认CORS配置正确 ## 📝 开发计划 - [ ] 支持流式响应(SSE) - [ ] 支持文件上传 - [ ] 支持语音输入 - [ ] 支持多会话管理 - [ ] 支持消息历史记录 - [ ] 支持用户认证 ## 📄 许可 内部测试工具,仅供开发和测试使用。 ## 🤝 贡献 如需修改或扩展功能,请遵循以下原则: 1. 保持与原型设计的一致性 2. 添加注释说明修改内容 3. 测试所有浏览器兼容性 4. 更新本README文档