География аудитории
По телефону — точно · по языку — оценкаЯзык интерфейса
Рост аудитории
Монетизация
Популярные разделы
Активность по часам
Удержание
Топ мест каталога
рейтинг · спонсорские — первымиЗагрузка...
Все пользователи
| ID | Имя | Username | Местоположение | Подписка | Доступ | Статус | Онлайн | Дата регистрации | Действия |
|---|---|---|---|---|---|---|---|---|---|
| Загрузка... | |||||||||
Статус парсера событий
События
| ID | Фото | Название | Категория | Дата | Место | Цена | Действия |
|---|---|---|---|---|---|---|---|
| Загрузка... | |||||||
| Флаг | Страна | Регион | Адрес | Телефон | Сайт | Часы | Действия |
|---|---|---|---|---|---|---|---|
| Загрузка... | |||||||
PARSER_INTERVAL_HOURS часов, по умолчанию 12).
Кнопка «Спарсить сейчас» запускает парсинг конкретного источника немедленно.
Источники контента
| ID | Тип | Кухня | Название | Ссылка | Статус | Последний парсинг | Действия |
|---|---|---|---|---|---|---|---|
| Загрузка... | |||||||
Рецепты
| ID | Кухня | Категория | Название | Ингредиенты | Источник | Действия |
|---|---|---|---|---|---|---|
| Загрузка... | ||||||
Купоны аптек
| ID | Аптека | Название | Код | Скидка | Действует до | Активен | Действия |
|---|---|---|---|---|---|---|---|
| Загрузка... | |||||||
Карта по районам
Обзор рынка (Market Intelligence)
| Год | Общий объём (AED) | Всего сделок | Средняя стоимость (AED) | Активных районов | Действия |
|---|---|---|---|---|---|
| Загрузка... | |||||
Районы — продажи
| ID | Район | Год | Цена/фут² | Сделок | Объём (AED) | Доходность аренды | Источник | Действия |
|---|---|---|---|---|---|---|---|---|
| Загрузка... | ||||||||
Районы — аренда
| ID | Район | Тип жилья | Год | Годовая аренда (AED) | Заполняемость | YoY | Действия |
|---|---|---|---|---|---|---|---|
| Загрузка... | |||||||
Настройка ленты алертов
Если каналов много и постов пришло больше этого числа — остальные разошлются в следующем цикле, не все разом.
Пост не разошлётся, даже если совпал с фильтром источника, если содержит любое из этих слов. Указывайте основу слова, не полную форму — иначе не совпадёт с падежами.
Лента алертов (Telegram-каналы)
Рассылается VIP-подписчикам автоматически| ID | Канал | Текст поста | Ключевое слово | Разослано | Действия |
|---|---|---|---|---|---|
| Загрузка... | |||||
Разделы Mini App
Кнопки меню
Управляет видимостью кнопок верхней навигации (фильтров категорий) в каталоге Mini App. Выключенная кнопка просто не показывается пользователю — остальные при этом работают полностью. Удобно, пока раздел наполняется данными: скрыли кнопку сейчас, включили обратно после того как добавили места, без пересборки проекта. Рядом с каждой категорией показано, сколько в ней мест.
Баннеры
| Превью | Название | Ссылка | Порядок | Действует до | Активен | Действия |
|---|---|---|---|---|---|---|
| Загрузка... | ||||||
Спонсорские места (включая истёкшие)
Здесь — все места с активной галочкой «Спонсорское размещение», включая уже истёкшие (серым, для продления). Эта карусель в Mini App показывает только активные, не истёкшие — истёкшие пропадают из приложения сами, без ручного выключения. Продлить срок, снять размещение или удалить место целиком — прямо здесь, кнопками справа.
| Название | Категория | Рейтинг | Спонсорское размещение до | Статус | Действия |
|---|---|---|---|---|---|
| Загрузка... | |||||
Отчёт для рекламодателя
Показы — сколько раз место появилось в выдаче каталога/карты в боте или Mini App (событие sponsored_impression). Переходы — сколько раз открыли карточку места в Mini App (событие place_view; в боте отдельного экрана карточки нет, только список — поэтому переходы считаются из Mini App). CTR — переходы делённые на показы. Файл .xlsx можно переслать рекламодателю напрямую как подтверждение.
| Место | Категория | Показы | Переходы | CTR | Размещение |
|---|---|---|---|---|---|
| Загрузка... | |||||
Как настроить — по шагам
Шаг 1. Аккаунт Anam. Зарегистрируйтесь на lab.anam.ai. Аватар — это платный сервис: списание идёт за минуты активного разговора, поэтому сразу посмотрите тариф и остаток на балансе.
Шаг 2. Ключ API. В консоли Anam создайте API-ключ и вставьте его в поле ниже. Ключ хранится на сервере и обратно в браузер не отдаётся — здесь будет виден только статус «задан». Если ключ когда-либо попадал в переписку или скриншот, отзовите его и выпустите новый: по нему можно расходовать ваши оплаченные минуты.
Шаг 3. Аватар (лицо). В разделе Lab → Avatars загрузите фотографию
лица и получите Avatar ID. Требования Anam: анфас, хорошее
освещение, лицо занимает основную часть кадра. Для фотографий, созданных
нейросетью, подходит режим создания аватара из изображения — верификация
реального человека, как у Synthesia или HeyGen, здесь не требуется.
Шаг 4. Голос. В Lab → Voices выберите голос и скопируйте
Voice ID. Проверьте, что он звучит на всех языках, которые вы
поддерживаете: у голосов разное качество на арабском и китайском. Поле можно
оставить пустым — тогда Anam возьмёт голос по умолчанию.
Шаг 5. Модель. По умолчанию cara-3. Если у вашего
аккаунта есть доступ к более новой модели, укажите её здесь — обычно это
выше разрешение и лучше мимика.
Шаг 6. Проверка. Нажмите «Проверить связку» — панель выпустит пробную сессию теми же параметрами, что использует Mini App. Это проверяет ключ, ID аватара, голос и модель разом, а не просто «поле заполнено».
Шаг 7. Включение. Раздел показывается, пока включён флаг «AI-аватар» в Настройки → Кнопки. Пользователю нужен VIP и разрешение на микрофон в Telegram.
Если ключ задан в файле .env на сервере, он имеет приоритет над
значением из этой формы, а поле будет помечено как «задан через .env».
Так на боевом сервере можно запретить смену ключа через веб-интерфейс.
Настройки
Обратно не отображается. Чтобы удалить — сохраните пустое поле.
У части аккаунтов Anam принимает только готовую персону, созданную в
Lab, а конфигурацию «россыпью» (Avatar ID + голос + модель) молча
игнорирует: токен выдаётся, но видеосвязь не стартует —
«Invalid request to start session». Признак этого — в диагностике
ниже Anam возвращает только personaName, без аватара.
Если это ваш случай, создайте персону в Lab → Personas, выберите там
аватар, голос и режим внешнего LLM, и вставьте её ID сюда.
Именно UUID, а не название. Ранее здесь передавалось значение
CUSTOMER_CLIENT_V1 — Anam принимает его при выдаче токена,
но отклоняет при старте видеосвязи, из-за чего возникала ошибка
«Invalid request to start session». Если поле заполнено, разговор
ведёт модель Anam с промптом из поля «Характер» ниже. Оставьте пустым,
чтобы Anam взял модель из настроек персоны.
Добавляется к общему промпту из «Настройка AI». Аватар говорит вслух, поэтому в базовых правилах ему уже запрещены списки, разметка и эмодзи — вслух они звучат неестественно. Здесь задаётся тон и приоритеты.
Диагностика конфигурации
Anam проверяет настройки в два этапа: часть — при выдаче токена, остальные — уже при старте видеосвязи в приложении. Второй случай даёт ошибку «Invalid request to start session», и по обычной проверке его не видно: токен-то выдаётся. Здесь можно выпустить токен и посмотреть, что Anam в него записал — поля, которых в ответе нет, сервис отбросил как неизвестные. Снимая галочки, можно найти поле, из-за которого не стартует сессия, не трогая код.
Кто сколько привёл
| # | Пользователь | Подтверждено | Ожидают | Наград выдано | Тариф |
|---|---|---|---|---|---|
| Загрузка... | |||||
Ступени наград
Объекты
| Название | Сделка | Тип | Район | Цена, AED | Спальни | Действия |
|---|---|---|---|---|---|---|
| Загрузка... | ||||||
Районы и рейтинг проживания
| Район | Название (RU) | Рейтинг | Объектов | Отзывов | Действия |
|---|---|---|---|---|---|
| Загрузка... | |||||
Отзывы о районах
| Район | Автор | Оценка | Текст | Действия |
|---|---|---|---|---|
| Загрузка... | ||||
Загрузка сети — автобусы
1. Откройте
страницу датасета на Dubai Pulse
и скачайте архив (обычно в 7z — пересохраните как zip, если нужно).
2. Загрузите файл здесь — тот же файл подходит для обеих вкладок GTFS.
3. Проверьте раздел «Транспорт» в Mini App или соответствующую кнопку в боте.
Остановки
GTFS от RTA — не идеальный источник: часть остановок приходит без координат (тогда такая остановка не появится в поиске «рядом со мной»), у части координата может быть неточной. Правьте вручную, не дожидаясь следующего обновления архива. Добавленная здесь вручную остановка переживёт повторный импорт — у неё отдельный идентификатор, GTFS её не затронет. Отметьте чекбоксом одну или несколько остановок, чтобы удалить их разом.
| Название | Координаты | Хаб | Действия | |
|---|---|---|---|---|
| Загрузка... | ||||
Достопримечательности
| Порядок | Название | Категория | Координаты | Показывать | Действия |
|---|---|---|---|---|---|
| Загрузка... | |||||
Участки
| Название | Район | Адрес | Телефон | Координаты | Показывать | Действия |
|---|---|---|---|---|---|---|
| Загрузка... | ||||||
Вакансии
| Работодатель | Контакты | Описание | Источник | Действует до | Действия |
|---|---|---|---|---|---|
| Загрузка... | |||||
Разделы бота
Массовый перевод (для переводчика)
6 из 8 языков сейчас покрыты примерно на 8% (45 из 504 ключей) — переводить по одному ключу нереалистично. Скачайте файл целиком, отдайте переводчику, загрузите обратно. Английский и русский уже переведены полностью — их в файле нет.
Ключи сообщений
| Ключ | Текст (en, по умолчанию) | Переопределён | |
|---|---|---|---|
| Введите запрос для поиска — ключей слишком много, чтобы показать все разом | |||
Поведение AI-ассистента
Добавляется ПОВЕРХ базовых инструкций (роль ассистента, язык ответа) — не заменяет их, поэтому базовое поведение бота не сломается от этой настройки.
Ниже — более точные, предсказуемые ответы. Выше — более разнообразные, творческие (и менее предсказуемые).
Примерно 600 токенов ≈ 400-450 слов. Больше — длиннее и подробнее ответы, но дольше генерация.
Перевод интерфейса
Новое уведомление
Загрузка числа получателей...
История оплат
| ID пользователя | Имя | Тариф | Звёзд | Charge ID | Когда |
|---|---|---|---|---|---|
| Загрузка... | |||||
Таблицы
Загрузка...
Просмотр
Выберите таблицу слева
.env на сервере и не передаются в браузер.
Здесь — только статус (задан / не задан). Чтобы изменить значение, отредактируйте
.env (или запустите python3 setup_env.py) и перезапустите контейнеры.
Внешние API
Ключи сервисов геокодирования
Используются кнопкой «Запуск Геокодера» в разделе «Каталог мест» для
определения координат по адресам. Достаточно одного любого — выбрать сервис
можно при запуске. Ключи хранятся на сервере и обратно в браузер
никогда не отдаются: выше показан только статус «задан / не задан».
Чтобы удалить ключ, сохраните пустое поле. Ключ из .env
имеет приоритет над введённым здесь.
Доступ к панели
Радиус поиска «рядом со мной»
Радиусы раздельные, потому что плотность объектов разная. Аптек много — 500 метров разумно: человеку нужна та, до которой можно дойти. Отделений полиции на весь город несколько десятков, и при 500 метрах запрос почти всегда возвращал бы пустоту. Если в радиусе ничего не нашлось, бот всё равно покажет ближайшие варианты с указанием расстояния.
Суточные лимиты AI по тарифам
Считаются запросы пользователя к AI: текстовый чат, голосовые сообщения и разговор с аватаром. Служебные вызовы — перевод вакансий, станций метро, разбор файлов при импорте — не считаются. Счётчик обнуляется в полночь. 0 означает «без ограничений». Каждый запрос к AI оплачивается вами, поэтому без потолка расход на бесплатном тарифе ничем не ограничен.