Работа с командой
Страницы
Описывает Piomio 0.2.15Изменить страницу
Иногда ответ удобнее смотреть страницей, а не сообщением: прогулка с остановками на карте, план поездки, сравнение, чек-лист, отчёт. Такую страницу может сделать любой агент команды. Она приходит карточкой в чат и открывается на весь экран прямо в Piomio — на компьютере и на телефоне.
Как попросить страницу
Просто скажи, что хочешь увидеть:
- «Сделай страницу для прогулки в субботу: маршрут по старому городу, места с ценами и погода».
- «Сравни на одной странице три квартиры, которые мы смотрели».
- «Сделай чек-лист вещей в поездку».
Агенты делают страницу и сами, когда в ответе много структуры или картинок. В сообщении агент говорит, что на странице, а под ним карточка: картинка, название, строка-другая и Открыть.
Что может быть на странице
Страница — маленькое веб-приложение, которое агент пишет на React поверх набора, встроенного в Piomio. В наборе есть:
- Вёрстка и элементы: карточки, вкладки, раскрывающиеся блоки, таблицы, бейджи, кнопки, ползунки, переключатели, галочки, диалоги, карусели, полосы прогресса и иконки (компоненты shadcn/ui и иконки Lucide), стили на Tailwind.
- Карта с нумерованными точками и маршрутом по настоящим дорогам и тропинкам — пешком, на машине или на велосипеде, с расстоянием и временем. Выбор места в списке может переводить карту к нему. Карты — OpenStreetMap.
- Погода: живой прогноз для места, до 7 дней вперёд, от Open-Meteo.
- Карточки мест: фото, чем место хорошо, адрес, часы работы, цена, рейтинг и метки, а ещё кнопки:
- Маршрут открывает дорогу в Apple Картах на устройствах Apple и в Google Картах на остальных.
- Сайт открывает сайт места.
- Спросить отправляет агенту «Расскажи подробнее про …».
- Картинки и видео: шапка с фото, галерея, цифры с подписью. Видео с YouTube и Vimeo открываются вне страницы.
- Живые данные нескольких бесплатных сервисов: Open-Meteo (погода, качество воздуха, море), Frankfurter (курсы валют), Википедия, Wikimedia и Wikidata.
- То, что остаётся отмеченным: галочки в чек-листе или выбор на странице сохраняются на твоём хабе и остаются на месте, кто бы и когда страницу ни открыл.
Страница светлая или тёмная, как приложение, а её собственные слова (прогноз, «Маршрут», экран ошибки) — на языке хаба. Отдельного блока для графиков в наборе нет: числа агент показывает таблицами, крупными цифрами и полосами прогресса.
Как открыть страницу
Нажми на карточку. Страница закроет чат; в полосе сверху — её название и кнопка закрытия (Escape тоже работает).
Внутри страницы:
- Ссылки открываются снаружи: в твоём браузере, а на телефоне — в системном.
- Кнопки, которые обращаются к агенту (например, Спросить у места), закрывают страницу и отправляют эти слова в чат от твоего имени — разговор продолжается оттуда.
- Если страница сломалась, она показывает «Страница не открылась», текст ошибки и кнопку Попросить исправить. Хаб ещё и сохраняет ошибку для агента, так что он видит, что пошло не так в твоём браузере.
Страницы открываются везде, где есть чат: в приложении для компьютера, в браузере, по ссылке, которая ведёт к хабу откуда угодно (см. Доступ откуда угодно), и в приложении для iPhone, где страница занимает весь экран. В Telegram приходят слова агента, а сама страница — нет: открой карточку в приложении.
Чтобы вернуться к странице позже, попроси: «покажи ещё раз страницу с прогулкой». Агент снова положит её карточку в чат.
Как поменять страницу
Попроси в том же чате: «добавь кофейню после музея», «сделай карту побольше», «переведи цены в евро». Агент поменяет код страницы или только её данные, а открытая страница сама перезагрузится с новой версией.
Факты обычно лежат в данных страницы, поэтому мелкие правки быстрые: агент может заменить список мест или цены, не трогая вёрстку.
Страницу может обновлять и задача по расписанию — например, утренняя сводка, которая обновляется каждый день (см. Задачи, расписания и «Входящие»). Удалить страницу из приложения или из чата пока нельзя.
Где хранятся страницы
Каждая страница — папка в папке данных хаба:
pages/<id страницы>/page.tsx код, который написал агент pages/<id страницы>/page.js тот же код, собранный для браузера pages/<id страницы>/data.json факты, которые показывает страница
Название, строка и картинка для карточки, автор, версия и то, что ты отметил на странице, хранятся в базе хаба. Ограничения на одну страницу: 200 КБ кода, 1 МБ данных и 256 КБ сохранённых галочек и выборов.
Куда странице можно ходить, а куда нет
Страница агента работает в песочнице. Хаб отдаёт её по отдельному адресу с секретной частью, и браузер считает её чужой для Piomio:
- Она не видит твою сессию в Piomio, не может обращаться к API Piomio и не видит чаты, память и хранилище.
- Она загружает только то, что даёт ей хаб: набор, свои данные, картинки (хаб скачивает их за неё), тайлы карты, маршруты по дорогам и JSON от сервисов из списка выше. С другими сайтами она связаться не может, поэтому всё найденное агент кладёт в данные страницы.
- Ей недоступны камера, микрофон и геопозиция; она не встраивает чужие сайты и никуда не отправляет формы.
- Когда хаб собирает код, он отказывает во всём, что страница пытается подключить сверх набора.
Кнопки «поделиться страницей» или «открыть в отдельной вкладке» нет: страницы открываются внутри Piomio.
Что ещё почитать
- Чат: карточки, карты и картинки в сообщениях.
- Агенты и команда: кто что делает.
- Модель безопасности: как хаб отделяет работу агентов от твоих данных.