Go to file
wasrusgen 82425dbd88 backend: Proxy6 pool + parsers WB / OZON / Я.Маркет / DNS
PROXY POOL (app/proxy_pool.py):
- Loads active proxies from Proxy6.net API every 10 min
- Random rotation per request via proxied_client(timeout, headers)
- Graceful fallback to direct HTTP if PROXY6_TOKEN not set
- Config: PROXY6_TOKEN env var

PARSERS (app/parsers/):
- dns.py — refactored to use proxy_pool with retry+rotation on Qrator block
- wb.py — Wildberries JSON API (search.wb.ru), retries on 429
- ozon.py — OZON composer-api JSON (widgetStates extraction)
- yamarket.py — Я.Маркет HTML + embedded JSON parser
- __init__.py — enrich_one() fans out to all sources, aggregates min/max prices, max rating, sum reviews
- enrich_models() — batch enrich for AI by_category output

NEW DIAGNOSTIC ENDPOINTS (main.py):
- GET /api/parse_wb?q=...&limit=N
- GET /api/parse_ozon?q=...&limit=N
- GET /api/parse_yamarket?q=...&limit=N
- GET /api/parse_all?q=... — fan-out + aggregate
- GET /api/proxy_status — pool diagnostics (count, token configured, age)

PODBOR (main.py):
- _enrich_ai_with_dns -> _enrich_ai_marketplaces (uses all sources)

DEPLOY: needs PROXY6_TOKEN in /opt/zov-tech/deploy/.env on VPS, then docker compose build + up -d backend
2026-05-11 12:18:04 +03:00
.github/workflows ci: re-trigger Pages deploy after enabling 2026-05-09 01:11:54 +03:00
backend feat(backend): switch AI provider from Anthropic to GigaChat (Sber) — OAuth token caching, callAI dispatch 2026-05-10 14:22:53 +03:00
backend-py backend: Proxy6 pool + parsers WB / OZON / Я.Маркет / DNS 2026-05-11 12:18:04 +03:00
bot feat(infra): Python FastAPI backend + Docker compose for VPS deploy (GigaChat with Russian root CA) 2026-05-10 17:44:21 +03:00
deploy feat(deploy): add Cloudflare Quick Tunnel service for public HTTPS while domain is on verification-hold 2026-05-10 22:16:07 +03:00
design-drafts miniapp: hierarchical wizard for fridge category (style D pictograms) 2026-05-10 23:57:03 +03:00
docs chore: initial scaffold (bot, miniapp, backend, docs) 2026-05-08 23:56:48 +03:00
miniapp miniapp: hierarchical wizard for all 8 categories + condition support 2026-05-11 11:28:50 +03:00
.gitignore chore: initial scaffold (bot, miniapp, backend, docs) 2026-05-08 23:56:48 +03:00
.tmp_ssh.py miniapp: hierarchical wizard for fridge category (style D pictograms) 2026-05-10 23:57:03 +03:00
README.md chore: initial scaffold (bot, miniapp, backend, docs) 2026-05-08 23:56:48 +03:00

ZOV Tech — AI-подбор кухонной техники

Telegram-бот + MiniApp для подбора техники под кухню фабрики ЗОВ. Менеджер заполняет с клиентом чек-лист → нейросеть собирает предложение → менеджер получает результат за минуту.

Структура

zov-tech/
├── bot/         — Telegram-бот (Python + aiogram)
├── miniapp/     — MiniApp (HTML + JS, хост на GitHub Pages)
├── backend/     — Google Apps Script (бэкенд + работа с Sheets)
├── docs/        — Документация (ТЗ, deployment, decisions)
└── .claude/     — настройки Claude Code (вне репо)

Стек

Слой Технология
Бот Python 3.10+, aiogram 3.x
AI Anthropic Claude (Haiku 4.5)
MiniApp Vanilla JS + HTML, без сборки
Backend Google Apps Script (Web App)
БД Google Sheets (на старте), PostgreSQL (после роста)
Хостинг бота VPS (Selectel / Timeweb)
Хостинг MiniApp GitHub Pages

Быстрый старт (когда будет код)

cd bot
python -m venv .venv
.venv\Scripts\activate    # Windows
pip install -r requirements.txt
copy .env.example .env    # заполнить токены
python main.py

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

Контакты

Куратор / заказчик: Василий (@wasrusgen) Канал: @wasrusgen1