AI-консьерж, который сам оформляет заказ на сайтах
- aiogram
- FastAPI
- Playwright
- Redis
- PostgreSQL
- Запрос в Telegram
- AI: план действий
- Очередь задач
- Браузер: сайт сервиса
- Подтверждение пользователю
Задача
Хотелось проверить, может ли AI-помощник не только советовать, но и действовать: пройти за пользователя рутинный сценарий на сайте, где нет публичного API.
Подход
Разделил систему на бот с Mini App, API и воркер. Воркер управляет браузером через Playwright и проходит сценарий через адаптер конкретного сервиса. Чтобы не выглядеть роботом и не нагружать сайты, добавил человекоподобные задержки, лимиты и остывание в Redis. Авторизацию пользователь проходит сам в управляемой сессии — система не хранит пароли.
Что сделано
- Пользователь формулирует задачу обычными словами — «закажи пиццу домой к восьми»
- Исполнитель проходит сценарий на сайте сервиса в управляемом браузере, как человек
- Безопасный вход: пользователь сам авторизуется в браузерной сессии, пароли системе не передаются
- Адаптеры под конкретные сервисы доставки, человекоподобные паузы, лимиты и остывание по каждому сервису
- Mini App для статусов и подтверждения заказа
Стек
aiogram для бота, Mini App и FastAPI для статусов, Playwright для браузера, Redis для очередей и лимитов, PostgreSQL, Docker.
Результат
Рабочий прототип: заказ в поддерживаемых сервисах оформляется из одного сообщения, пользователь только подтверждает итог.