From 38f3199c33deff378c80dffc3a77ca86e7aeebb7 Mon Sep 17 00:00:00 2001 From: Damir Date: Wed, 13 May 2026 00:16:58 +0300 Subject: [PATCH] feat: implement core frontend dashboard, auth flow, and AI-driven case management system --- README.md | 8 +++-- backend/routes/ai.py | 16 +++++++++ backend/utils/ai_utils.py | 32 +++++++++++++++++ frontend/index.html | 42 ++++++++++++++++++++++ frontend/js/app.js | 76 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 171 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6e4d0ae..06a122f 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,11 @@ ## 💎 Ключевые возможности -### 1. 🤖 AI Assistant (Интеграция с Google Gemini) -* **Авто-претензии:** Генерация юридически грамотных жалоб на нарушителей на основе артикула и площадки. -* **Умный ответчик:** Автоматическая генерация персонализированных ответов на отзывы покупателей (поддержка позитивного и отработка негативного сценария). +### 1. 🤖 AI Assistant & Content Factory +* **Умный генератор карточек:** Создание полноценного контента (описание, ТТХ, SEO-теги) по одному лишь названию товара. +* **ИИ-Фото Промпты:** Генерация детальных заданий для нейросетей (Midjourney/DALL-E) для создания идеальных изображений товара. +* **Авто-претензии:** Генерация юридически грамотных жалоб на нарушителей. +* **Умный ответчик:** Автоматическая генерация ответов на отзывы покупателей. ### 2. 📊 Multi-account Dashboard * Единое окно управления для неограниченного количества магазинов и юридических лиц. diff --git a/backend/routes/ai.py b/backend/routes/ai.py index 7344784..c16b54d 100644 --- a/backend/routes/ai.py +++ b/backend/routes/ai.py @@ -77,3 +77,19 @@ def ai_generate_reply(current_user_id): from ..utils.ai_utils import generate_review_reply text = generate_review_reply(review_text, rating) return jsonify({"text": text}) + +@ai_blueprint.route('/ai/generate-card', methods=['POST']) +@token_required +def ai_generate_card(current_user_id): + """ + Генерация полной карточки товара + """ + data = request.json + title = data.get('title') + + if not title: + return jsonify({"error": "Название товара обязательно"}), 400 + + from ..utils.ai_utils import generate_product_card + card_data = generate_product_card(title) + return jsonify(card_data) diff --git a/backend/utils/ai_utils.py b/backend/utils/ai_utils.py index cf5a3aa..df16cf2 100644 --- a/backend/utils/ai_utils.py +++ b/backend/utils/ai_utils.py @@ -63,3 +63,35 @@ def generate_review_reply(review_text, rating): return response.text.strip() except Exception as e: return f"Ошибка ИИ: {str(e)}" + +def generate_product_card(title): + """Генерирует описание и характеристики товара по его названию.""" + api_key = os.getenv('GEMINI_API_KEY') + if not api_key: + return {"error": "API ключ не настроен."} + + genai.configure(api_key=api_key) + model = genai.GenerativeModel('gemini-1.5-flash') + + prompt = f""" + Ты - эксперт по листингу на маркетплейсах Ozon и Wildberries. + Тебе дано название товара: "{title}" + + Твоя задача - сгенерировать контент для карточки товара в формате JSON. + JSON должен содержать: + 1. "description": Продающее описание (3-4 абзаца), выделяющее преимущества. + 2. "features": Список из 5-8 ключевых характеристик (ключ: значение). + 3. "seo_tags": Список из 10 ключевых слов для поиска. + 4. "image_prompts": 3 подробных промпта для нейросети (на английском), чтобы сгенерировать идеальные фото этого товара (главное фото, в интерьере, детали). + + Ответ дай ТОЛЬКО в виде чистого JSON, без лишних слов. + """ + + try: + response = model.generate_content(prompt) + import json + # Очистка от markdown-обертки если есть + clean_json = response.text.replace('```json', '').replace('```', '').strip() + return json.loads(clean_json) + except Exception as e: + return {"error": f"Ошибка при генерации карточки: {str(e)}"} diff --git a/frontend/index.html b/frontend/index.html index c742ae3..da52a78 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -50,6 +50,7 @@ +
@@ -313,6 +314,47 @@ + + +