Skip to content

Раздел 1: Архитектура

Проект: Интеллектуальная система управления интернет-магазином
Модуль: Shop
Версия: 1.0
Дата: Январь 2026


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

Цели модуля

ADOLF Shop — функциональный модуль системы ADOLF, обеспечивающий AI-управление интернет-магазином ohana.market через протокол MCP (Model Context Protocol).

Основные цели:

ЦельОписаниеМетрика успеха
ОперативностьМгновенное информирование о событияхУведомление < 1 минуты
Единый интерфейсУправление всеми каналами из одного места100% заказов в ADOLF
АналитикаПонимание эффективности магазинаЕжедневные отчёты
ПроактивностьАвтоматическое выявление проблемОповещение о проблемных заказах

Задачи модуля

  1. Мониторинг заказов — отслеживание новых заказов, отмен, возвратов
  2. Управление заказами — просмотр деталей, поиск, фильтрация
  3. Поиск товаров — поиск по каталогу через MCP
  4. Аналитика — выручка, средний чек, топ товаров, продажи по брендам
  5. Уведомления — push-оповещения о событиях

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

РольДоступФункции
SeniorПолный доступВсе функции модуля
DirectorПолный доступВсе функции + отчётность
AdministratorПолный доступВсе функции + конфигурация

> Примечание: Роли Staff и Manager не имеют доступа к модулю Shop в v1.0.


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

Входит в модуль Shop

КомпонентОписание
MCP ClientИнтеграция с WooCommerce через MCP tools
Polling ServiceПериодическая проверка событий (каждую минуту)
Event DetectorВыявление новых заказов, отмен, возвратов
Analytics EngineРасчёт метрик продаж
Open WebUI AgentИнтерфейс @Adolf_Shop для пользователей
Celery TasksФоновые задачи polling

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

КомпонентГде реализованоТип взаимодействия
Авторизация пользователейADOLF Core (Middleware)Используется готовая
Хранение пользователейADOLF Core (PostgreSQL)Чтение таблицы users
Система уведомленийADOLF Core (Notifications)Event Bus
MCP ServerWooCommerce (плагин)Внешний сервис
AI-модельClaude Opus 4.5Через Open WebUI
Данные о товарахWooCommerceЧерез MCP
Данные о заказахWooCommerceЧерез MCP

Функционал v2.0 (будущее)

КомпонентОписание
Review ResponderОтветы на отзывы (интеграция с Reputation)
Catalog ManagerУправление каталогом товаров
Price SyncСинхронизация цен
Stock SyncСинхронизация остатков
CFO IntegrationПередача данных для финансовой отчётности
Office IntegrationВизуализация агента Shop

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

1.3.1 Middleware (FastAPI)

Используемые возможности:

ВозможностьПрименение в Shop
АвторизацияПроверка role >= senior для доступа к функциям
ИдентификацияПолучение user_id из заголовков
АудитЛогирование действий в audit_log

> Примечание: Модуль Shop не имеет собственных REST API endpoints. Все данные получаются через MCP напрямую из WooCommerce.

1.3.2 Celery Workers

Задачи Shop:

ЗадачаОчередьПериодичностьОписание
shop.poll_ordersdefault*/1 * * * *Проверка новых заказов
shop.detect_eventsdefaultПо событиюВыявление событий (отмены, возвраты)
shop.send_notificationdefaultПо событиюОтправка уведомления

Расширение структуры tasks:

tasks/
└── shop_tasks.py        # Реализация задач

1.3.3 PostgreSQL

Новые таблицы: Не требуются для MVP.

Модуль Shop работает в stateless-режиме:

  • Все данные запрашиваются из WooCommerce через MCP в реальном времени
  • Состояние polling хранится в Redis (Celery Beat)
  • История событий — в таблице notifications (Core)

Используемые таблицы Core:

ТаблицаИспользование
usersПолучение role для проверки доступа
audit_logЗапись действий пользователей
notificationsСоздание уведомлений о событиях

1.3.4 Redis

Использование:

ПрименениеОписание
Celery BrokerОчередь задач polling
Celery Beat StateХранение расписания и состояния задач
Last Poll StateID последнего обработанного заказа

1.3.5 Notification System

Типы событий для уведомлений:

СобытиеУровеньПолучателиОписание
shop.order.newinfoSenior+Новый заказ
shop.order.cancelledwarningSenior+Заказ отменён
shop.order.refundedwarningSenior+Возврат средств
shop.order.failederrorSenior+Ошибка оплаты

1.3.6 Environment Variables

Конфигурация WooCommerce MCP:

bash
# WooCommerce MCP
WOOCOMMERCE_MCP_URL=https://ohana.market/wp-json/mcp/v1
WOOCOMMERCE_MCP_ENABLED=true

# Polling
SHOP_POLLING_INTERVAL=60  # секунды
SHOP_PENDING_PAYMENT_THRESHOLD=48  # часы

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

1.4.1 Архитектурная концепция

Ключевое отличие модуля Shop от других модулей ADOLF:

Традиционная архитектура (Reputation, Content Factory и др.):

User → Open WebUI → Pipeline → ADOLF API → External Service

Архитектура Shop (Agentic Commerce):

User → Open WebUI → Claude + MCP Tools → WooCommerce MCP Server

Claude напрямую использует MCP tools для взаимодействия с WooCommerce, минуя промежуточный API-слой ADOLF.

1.4.2 Структура компонентов

1.4.3 MCP Tools Layer

WooCommerce MCP предоставляет следующие tools:

Заказы:

ToolОписание
woo_orders_listСписок заказов с фильтрацией
woo_orders_getДетали заказа по ID
woo_orders_searchПоиск заказов

Товары:

ToolОписание
woo_products_listСписок товаров
woo_products_getДетали товара по ID
woo_products_searchПоиск товаров

Аналитика:

ToolОписание
woo_reports_salesОтчёт по продажам
woo_reports_ordersОтчёт по заказам
woo_reports_productsОтчёт по товарам

1.4.4 Open WebUI Agent

Агент: @Adolf_Shop

Функции агента (через MCP):

ФункцияMCP ToolОписание
Новые заказыwoo_orders_listЗаказы со статусом processing
Заказы в ожиданииwoo_orders_listЗаказы со статусом pending
Проблемные заказыwoo_orders_listЗаказы со статусами failed, refunded
Поиск заказовwoo_orders_searchПо номеру, клиенту, дате
Детали заказаwoo_orders_getПолная информация о заказе
Поиск товаровwoo_products_searchПо названию, SKU, бренду
Аналитика продажwoo_reports_salesВыручка, количество заказов
Топ товаровwoo_reports_productsЛидеры продаж

1.5 Потоки данных

1.5.1 Поток 1: Пользовательский запрос

1.5.2 Поток 2: Polling событий

1.5.3 Поток 3: Аналитика продаж


1.6 Обработка ошибок

MCP Connection Errors

ОшибкаОбработка
Connection timeoutRetry через 5 секунд, max 3 попытки
Authentication errorУведомление администратора
Rate limitExponential backoff
Server unavailableCircuit breaker на 60 секунд

Polling Errors

Единая политика

ПараметрЗначение
Timeout запроса MCP30 секунд
Retry стратегияExponential backoff: 5с → 10с → 20с
Максимум попыток3
Circuit breaker открытиеПосле 5 последовательных ошибок
Circuit breaker reset60 секунд

1.7 Безопасность

Доступ к MCP

АспектРеализация
АутентификацияAPI ключи WooCommerce
АвторизацияПроверка роли в ADOLF Core
ШифрованиеHTTPS для MCP-соединения
АудитЛогирование в audit_log

Ограничения доступа


1.8 Масштабирование

Текущая конфигурация

ПараметрЗначение
Polling interval1 минута
Celery workers1 (shared с другими модулями)
Expected orders/day~20-50

Рекомендации по нагрузке

ПараметрЗначение v1.0Предел
Заказов в день~50500
Polling interval1 минута30 секунд
Concurrent MCP requests15

Горизонтальное масштабирование

При росте нагрузки:

  1. Увеличение количества Celery workers
  2. Уменьшение polling interval
  3. Кэширование аналитических данных в Redis

Приложение А: Контрольные точки

КритерийПроверка
MCP соединениеClaude успешно вызывает woo_* tools
Polling работаетЛоги Celery показывают задачи poll_orders
События детектируютсяНовые заказы создают уведомления
АналитикаОтчёты возвращают данные
УведомленияСобытия приходят в Open WebUI

Приложение Б: Расширение в v2.0

При переходе на v2.0 планируется добавление:

КомпонентОписание
ReviewResponderОтветы на отзывы WooCommerce
CatalogManagerCRUD операции с товарами
PriceSyncСинхронизация цен с маркетплейсами
StockSyncСинхронизация остатков
CFOIntegrationЭкспорт данных для финансов
OfficeIntegrationАгент в визуализации Office

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

Документация ADOLF Platform