# ai-flow **Repository Path**: no-oars/ai-flow ## Basic Information - **Project Name**: ai-flow - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-25 - **Last Updated**: 2025-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Flow - 异步API接入平台 一个现代化的AI服务异步API接入平台,支持多家服务商的图生图、图生视频功能。 ## 🚀 特性 - **异步处理**: 支持长时间运行的AI任务异步处理 - **多服务商支持**: 统一接口支持海螺AI、豆包、Midjourney等多家服务商 - **可视化配置**: 直观的Web界面进行任务管理和服务商配置 - **智能重试**: 完善的错误处理和重试机制 - **实时监控**: 任务状态实时监控和进度跟踪 - **扩展性强**: 插件化架构,易于添加新的服务商 ## 🏗️ 技术架构 ### 前端 - **React 18** + **TypeScript** - 现代化前端框架 - **Ant Design** - 企业级UI组件库 - **Tailwind CSS** - 原子化CSS框架 - **Vite** - 快速构建工具 ### 后端 - **FastAPI** - 高性能异步Web框架 - **SQLAlchemy** - ORM数据库操作 - **Celery** - 分布式任务队列 - **Redis** - 缓存和消息队列 - **PostgreSQL** - 主数据库 ## 📦 安装和运行 ### 环境要求 - Node.js 18+ - Python 3.9+ - PostgreSQL 13+ - Redis 6+ ### 前端开发 ```bash # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建生产版本 npm run build ``` ### 后端开发 ```bash # 创建虚拟环境 python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate # 安装依赖 pip install -r requirements.txt # 运行数据库迁移 alembic upgrade head # 启动API服务器 uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 # 启动Celery工作进程 celery -A app.core.celery worker --loglevel=info # 启动Celery监控 celery -A app.core.celery flower ``` ## 🔧 配置 1. 复制环境变量文件: ```bash cp .env.example .env ``` 2. 编辑 `.env` 文件,配置数据库、Redis和各服务商的API密钥 ## 📚 API文档 启动后端服务后,访问以下地址查看API文档: - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc ## 🎯 使用指南 ### 1. 服务商配置 - 在Web界面中配置各AI服务商的API密钥和参数 - 支持海螺AI、豆包、Midjourney等多家服务商 ### 2. 创建任务 - 选择服务商和任务类型(图生图/图生视频) - 上传输入文件或填写提示词 - 配置任务参数 ### 3. 监控任务 - 实时查看任务状态和进度 - 支持任务取消和重试 - 下载生成结果 ## 🔌 扩展新服务商 1. 在 `app/adapters/` 目录下创建新的适配器类 2. 继承 `BaseAdapter` 并实现必要的方法 3. 在 `app/core/adapter_registry.py` 中注册新适配器 4. 更新前端配置界面 ## 📄 许可证 MIT License ## 🤝 贡献 欢迎提交Issue和Pull Request! ## 📞 联系 如有问题,请提交Issue或联系开发团队。