Spaces:
Running
Running
Upload README.md
Browse files
README.md
CHANGED
|
@@ -1,151 +1,10 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
```
|
| 12 |
-
|
| 13 |
-
这会同时启动主应用和模拟API服务器。
|
| 14 |
-
|
| 15 |
-
### 方法2: 手动启动
|
| 16 |
-
|
| 17 |
-
1. 启动模拟API服务器:
|
| 18 |
-
```bash
|
| 19 |
-
node mock-api.js
|
| 20 |
-
```
|
| 21 |
-
|
| 22 |
-
2. 在新终端启动主应用:
|
| 23 |
-
```bash
|
| 24 |
-
OPENAI_API_URL=http://127.0.0.1:8000/v1/chat/completions node server.js
|
| 25 |
-
```
|
| 26 |
-
|
| 27 |
-
3. 访问 http://localhost:3000
|
| 28 |
-
|
| 29 |
-
## 🔐 登录信息
|
| 30 |
-
|
| 31 |
-
- **密码**: `123456`
|
| 32 |
-
|
| 33 |
-
## 🎨 功能特性
|
| 34 |
-
|
| 35 |
-
- ✅ **AI图片生成**: 支持文本提示词生成图片
|
| 36 |
-
- ✅ **多图上传**: 可上传最多16张参考图片
|
| 37 |
-
- ✅ **拖拽上传**: 支持拖拽文件到输入区域
|
| 38 |
-
- ✅ **个人画廊**: 本地存储历史作品
|
| 39 |
-
- ✅ **社区画廊**: 分享作品到公共画廊
|
| 40 |
-
- ✅ **响应式设计**: 支持移动端和桌面端
|
| 41 |
-
- ✅ **图片下载**: 支持下载生成的图片
|
| 42 |
-
- ✅ **参数复用**: 可复用历史作品的参数和图片
|
| 43 |
-
|
| 44 |
-
## 📁 项目结构
|
| 45 |
-
|
| 46 |
-
```
|
| 47 |
-
banana-pro-ai/
|
| 48 |
-
├── index.html # 前端主页面
|
| 49 |
-
├── style.css # 样式文件
|
| 50 |
-
├── server.js # 后端服务器
|
| 51 |
-
├── mock-api.js # 模拟API服务器
|
| 52 |
-
├── start.sh # 启动脚本
|
| 53 |
-
├── .env # 环境配置
|
| 54 |
-
├── data/ # 数据目录
|
| 55 |
-
│ └── public-gallery.json # 公共画廊数据
|
| 56 |
-
└── package.json # 项目配置
|
| 57 |
-
```
|
| 58 |
-
|
| 59 |
-
## ⚙️ 配置说明
|
| 60 |
-
|
| 61 |
-
### 环境变量 (.env)
|
| 62 |
-
|
| 63 |
-
```env
|
| 64 |
-
# API Configuration
|
| 65 |
-
OPENAI_API_KEY=sk-123456
|
| 66 |
-
OPENAI_API_URL=http://127.0.0.1:8000/v1/chat/completions
|
| 67 |
-
MODEL_NAME=banana-pro
|
| 68 |
-
|
| 69 |
-
# Site Configuration
|
| 70 |
-
SITE_PASSWORD=123456
|
| 71 |
-
PORT=3000
|
| 72 |
-
|
| 73 |
-
# Gallery Configuration
|
| 74 |
-
PUBLIC_GALLERY_LIMIT=80
|
| 75 |
-
```
|
| 76 |
-
|
| 77 |
-
## 🛠️ 开发说明
|
| 78 |
-
|
| 79 |
-
### 模拟API
|
| 80 |
-
|
| 81 |
-
项目包含一个模拟API服务器 (`mock-api.js`),用于演示和测试:
|
| 82 |
-
|
| 83 |
-
- 生成彩色SVG图片作为响应
|
| 84 |
-
- 模拟2-5秒的处理延迟
|
| 85 |
-
- 兼容OpenAI API格式
|
| 86 |
-
|
| 87 |
-
### 真实API配置
|
| 88 |
-
|
| 89 |
-
要使用真实的图片生成API,请修改 `.env` 文件:
|
| 90 |
-
|
| 91 |
-
```env
|
| 92 |
-
OPENAI_API_KEY=your_actual_api_key
|
| 93 |
-
OPENAI_API_URL=https://your-api-provider.com/v1/chat/completions
|
| 94 |
-
```
|
| 95 |
-
|
| 96 |
-
### API响应格式
|
| 97 |
-
|
| 98 |
-
API应返回OpenAI兼容格式:
|
| 99 |
-
|
| 100 |
-
```json
|
| 101 |
-
{
|
| 102 |
-
"choices": [{
|
| 103 |
-
"message": {
|
| 104 |
-
"content": ""
|
| 105 |
-
}
|
| 106 |
-
}]
|
| 107 |
-
}
|
| 108 |
-
```
|
| 109 |
-
|
| 110 |
-
## 🐛 故障排除
|
| 111 |
-
|
| 112 |
-
### 常见问题
|
| 113 |
-
|
| 114 |
-
1. **生图失败: 无法从 API 响应中提取图片数据**
|
| 115 |
-
- 检查API地址配置是否正确
|
| 116 |
-
- 确认API密钥有效
|
| 117 |
-
- 查看服务器日志了解详细错误
|
| 118 |
-
|
| 119 |
-
2. **社区创意画廊加载很慢**
|
| 120 |
-
- 检查网络连接
|
| 121 |
-
- 查看浏览器控制台错误信息
|
| 122 |
-
- 确认服务器正常运行
|
| 123 |
-
|
| 124 |
-
3. **端口占用**
|
| 125 |
-
```bash
|
| 126 |
-
# 查看端口占用
|
| 127 |
-
lsof -i :3000
|
| 128 |
-
lsof -i :8000
|
| 129 |
-
|
| 130 |
-
# 停止相关进程
|
| 131 |
-
pkill -f "node server.js"
|
| 132 |
-
pkill -f "node mock-api.js"
|
| 133 |
-
```
|
| 134 |
-
|
| 135 |
-
## 📱 移动端优化
|
| 136 |
-
|
| 137 |
-
- 单列布局,便于触摸操作
|
| 138 |
-
- 减少动画复杂度,提升性能
|
| 139 |
-
- 图片自动压缩,减少网络负载
|
| 140 |
-
- 响应式设计,适配各种屏幕
|
| 141 |
-
|
| 142 |
-
## 🔄 版本历史
|
| 143 |
-
|
| 144 |
-
- v1.0.0: 初始版本,支持基础生图功能
|
| 145 |
-
- v1.1.0: 添加多图上传、社区画廊
|
| 146 |
-
- v1.2.0: 移动端优化、性能改进
|
| 147 |
-
- v1.3.0: 错误处理改进、模拟API
|
| 148 |
-
|
| 149 |
-
## 📄 许可证
|
| 150 |
-
|
| 151 |
-
MIT License
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: Banber
|
| 3 |
+
emoji: 📈
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: purple
|
| 6 |
+
sdk: docker
|
| 7 |
+
pinned: false
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|