| name | restaurant_booking |
| description | Оркестратор автоматического бронирования ресторанов: нормализует список ресторанов, формирует задачу для агента-исполнителя и валидирует результат. |
| version | 1.0.0 |
| type | extension |
| entry | plugin.py |
| runtime | python3 |
| permissions | ["tool"] |
| when_to_use | Используй, когда нужно забронировать ресторан: нормализовать и отранжировать список ресторанов, сформировать задачу на бронирование (дата, время, гости, имя, телефон) и проверить итоговый статус. Корректно обрабатывает: нет слота, только телефон, капча/блокер, неполные данные. |
Restaurant Booking
Оркестратор для автоматизации бронирования ресторанов. Скилл готовит задачу для агента-исполнителя и проверяет результат — сам веб-навигацию не выполняет, это делает агент, которому передаётся scenario.task.
Приоритет — быстро, дёшево, однозначно. По умолчанию все инструменты возвращают компактный JSON и короткий текст задачи. Полный вывод — только при detail="full".
Принцип работы
normalize_restaurants — принять список ресторанов, нормализовать, вернуть ранжированный шортлист.
make_scenario — сформировать задачу на бронирование; scenario.task — это готовая инструкция для агента-исполнителя.
- Агент-исполнитель открывает сайт, заполняет форму, возвращает отчёт.
validate_result — проверить отчёт агента, вернуть вердикт.
Агент-исполнитель должен действовать по задаче точно:
- открыть сайт/карточку ресторана;
- убедиться, что ресторан совпадает;
- заполнить дату, время, гостей, имя, телефон, комментарий;
- сверить поля перед отправкой;
- классифицировать финальный экран;
- вернуть компактные доказательства;
- не объявлять успех без подтверждения.
Остановка с корректным статусом ожидается при: нет данных, только телефон, блокер.
Инструменты
normalize_restaurants
Нормализует произвольные строки ресторанов в компактную схему, определяет канал бронирования и блокеры.
Вывод по умолчанию:
{"status":"ok","count":1,"restaurants":[{"name":"...","url":"...","channel"