Skip to main content

ADOLF CONTENT FACTORY — Раздел 1: Архитектура

Проект: Генерация SEO-контента для карточек товаров
Модуль: Content Factory
Версия: 1.0
Дата: Январь 2026

1.1 Назначение модуля

Content Factory — модуль автоматизированной генерации SEO-оптимизированного контента для карточек товаров на маркетплейсах.

Основные функции

ФункцияОписание
Сбор данныхПолучение текущей карточки через API маркетплейса
Обогащение контекстаПоиск дополнительных данных в Knowledge Base
AI-генерацияСоздание Title, Description, Attributes, SEO-тегов
Visual PromptingФормирование ТЗ для дизайнера
МодерацияИнтерфейс проверки и редактирования контента
ПубликацияОтправка контента через API маркетплейсов

Целевые пользователи

РольДоступФункции
SeniorВсе брендыГенерация, модерация, публикация
DirectorВсе брендыГенерация, модерация, публикация
AdministratorВсе брендыПолный доступ + настройка параметров

1.2 Границы модуля

Входит в модуль Content Factory

КомпонентОписание
Marketplace AdaptersУнифицированный интерфейс к API WB, Ozon, YM
Content FetcherПолучение текущих данных карточки
Context BuilderСбор контекста из Knowledge Base и ручного ввода
AI PipelineАнализ, генерация, валидация контента
Content PublisherПубликация через API маркетплейсов
REST APIEndpoints для управления генерацией
Open WebUI PipelineИнтерфейс @Adolf_Content
Celery TasksФоновые задачи публикации

Не входит в модуль Content Factory

КомпонентГде реализованоТип взаимодействия
Авторизация пользователейADOLF Core (Middleware)Используется готовая
База знаний о товарахADOLF KnowledgeAPI-запросы
Хранение пользователейADOLF Core (PostgreSQL)Чтение таблицы users
Система уведомленийADOLF Core (Notifications)Event Bus
Генерация текста (LLM)Timeweb AI / OpenAIAPI-вызовы
Анализ отзывовADOLF Reputationv2.0
Данные конкурентовADOLF Watcherv2.0

Функционал v2.0 (не входит в MVP)

КомпонентОписание
Rich Content GeneratorHTML-описания для Ozon
Vision AnalyzerАнализ фото товара
Competitor AnalyzerTF-IDF анализ конкурентов
Batch ProcessorПакетная обработка артикулов
History UIИнтерфейс просмотра истории
Analytics DashboardАналитика по контенту

1.3 Архитектура модуля

1.3.1 Общая схема

1.3.2 Схема потока данных


1.4 Зависимости от ADOLF Core

1.4.1 Middleware (FastAPI)

Используемые возможности:
ВозможностьПрименение в Content Factory
АвторизацияПроверка role IN (senior, director, admin)
ИдентификацияПолучение user_id из заголовков
РоутингРегистрация endpoints /api/v1/content/*
АудитЛогирование действий в audit_log
Разграничение доступа:
# Проверка доступа к Content Factory
ALLOWED_ROLES = ["senior", "director", "admin"]

def check_content_factory_access(user: User) -> bool:
    return user.role in ALLOWED_ROLES

1.4.2 PostgreSQL

Используемые таблицы:
ТаблицаНазначение
usersРоль пользователя, проверка доступа
content_generationsИстория генераций контента
content_draftsЧерновики на модерации
content_publicationsОпубликованный контент
content_settingsНастройки стиля по брендам
audit_logЛоги всех действий

1.4.3 Celery

Фоновые задачи:
ЗадачаОписаниеТриггер
publish_contentПубликация на маркетплейсПосле модерации
retry_publicationПовторная попытка при ошибкеАвтоматически

1.4.4 Notifications

События для уведомлений:
СобытиеТипПолучатель
content.generatedinfoИнициатор
content.publishedsuccessИнициатор
content.publish_errorerrorИнициатор

1.5 Зависимости от других модулей

1.5.1 ADOLF Knowledge (v1.0)

Назначение: Получение дополнительных данных о товаре для обогащения контекста. Используемые данные:
Тип данныхПримерПрименение
Состав ткани«95% хлопок, 5% эластан»Description, Attributes
Размерная сеткаТаблица размеровAttributes
Уход за изделиемИнструкции по стиркеDescription
Особенности товараУникальные характеристикиTitle, Description
API-вызов:
async def get_product_knowledge(sku: str) -> dict:
    """Получение данных о товаре из Knowledge Base."""
    response = await knowledge_api.search(
        query=f"артикул {sku} состав размер характеристики",
        filters={"category": "product"}
    )
    return response.results

1.5.2 ADOLF Reputation (v2.0)

Назначение: Автоматический анализ негативных отзывов для Visual Prompting. Примечание: В MVP эта интеграция не реализуется. Visual Prompting работает на основе ручного ввода.

1.5.3 ADOLF Watcher (v2.0)

Назначение: Получение данных о карточках конкурентов для TF-IDF анализа. Примечание: В MVP эта интеграция не реализуется. Работа только с собственными карточками.

1.6 Внешние интеграции

1.6.1 API маркетплейсов

Сводка API:
МаркетплейсAPIЧтениеОбновление
WildberriesContent APIGET /content/v2/cards/filterPOST /content/v2/cards/update
OzonProduct APIPOST /v3/product/infoPOST /v1/product/import
Yandex.MarketContent APIGET /offer-cardsPOST /offer-cards/update

1.6.2 AI-сервисы

СервисМодельНазначение
Timeweb AIGPT-5 miniАнализ, извлечение ключевых слов
OpenAIClaude Opus 4.5Генерация креативного контента

1.7 Компоненты модуля

1.7.1 Marketplace Adapter

Назначение: Унифицированный интерфейс для работы с разными маркетплейсами.

1.7.2 Content Fetcher

Назначение: Получение текущих данных карточки с маркетплейса. Возвращаемые данные:
ПолеТипОписание
skustringАртикул товара
marketplaceenumWB, Ozon, YM
current_titlestringТекущее название
current_descriptionstringТекущее описание
current_attributesdictТекущие характеристики
categorystringКатегория товара
brandstringБренд

1.7.3 Context Builder

Назначение: Сбор и агрегация контекста для AI-генерации. Источники контекста:

1.7.4 AI Generator

Назначение: Генерация контента с использованием AI-моделей. Этапы генерации:
ЭтапМодельВходВыход
АнализGPT-5 miniКонтекстКлючевые слова, структура
TitleClaude Opus 4.5Ключевые слова + контекстНазвание товара
DescriptionClaude Opus 4.5Ключевые слова + контекстОписание товара
AttributesClaude Opus 4.5Категория + контекстХарактеристики
SEO-тегиClaude Opus 4.5Ключевые словаСписок тегов

1.7.5 Validator

Назначение: Проверка сгенерированного контента перед публикацией. Правила валидации:
ПравилоОписаниеДействие при нарушении
Длина TitleСоответствие лимитам маркетплейсаОбрезка / перегенерация
Длина DescriptionСоответствие лимитамОбрезка / перегенерация
Запрещённые словаПроверка по спискуЗамена / перегенерация
БрендКорректное название брендаЗамена
СпецсимволыНедопустимые символыУдаление

1.7.6 Publisher

Назначение: Публикация контента через API маркетплейсов. Workflow публикации:

1.8 Настройки модуля

1.8.1 Environment Variables

ПеременнаяОписаниеПример
WB_API_KEYAPI-ключ Wildberriesxxx...
OZON_CLIENT_IDClient ID Ozon123456
OZON_API_KEYAPI-ключ Ozonxxx...
YM_OAUTH_TOKENOAuth-токен Яндекс.Маркетxxx...
YM_CAMPAIGN_IDID кампании Яндекс.Маркет789012
CLAUDE_API_KEYAPI-ключ Claudesk-...

1.8.2 Настройки контента (content_settings)

ПараметрТипОписание
brand_idstringID бренда
tonestringТон коммуникации
accent_wordsarrayСлова-акценты
forbidden_wordsarrayЗапрещённые слова
title_templatestringШаблон названия
description_stylestringСтиль описания

1.9 Технические ограничения

ПараметрОграничение
Режим работыЕдиничная генерация (пакетная в v2.0)
Время генерации (целевое)< 30 секунд
Лимит Title (WB)100 символов
Лимит Title (Ozon)255 символов
Лимит Description (WB)5000 символов
Лимит Description (Ozon)6000 символов
Повторные попытки публикации3

Документ подготовлен: Январь 2026
Версия: 1.0
Статус: Черновик