Skip to content

Границы и права

Что разговор на вашем сайте может и чего не может заставить агента сделать, что владелец вправе открыть и чем каждое из этого грозит. Прочитайте раньше, чем что-то откроете.

Чей это разговор

У посетителя вашего сайта нет у нас ни учётной записи, ни команды, ни способа их получить. Но каждый ход агента идёт внутри команды — так продукт решает, что можно читать и кто за это платит.

Поэтому команду посетителю не выдают. Ход идёт от имени владельца агента, в команде агента, через ту же проверку членства, через которую проходит вошедший участник. Личность посетителя — это метка на разговоре и больше ничего.

Два следствия, которые стоит произнести вслух:

  • Платит владелец. Каждый ответ незнакомому человеку расходуется из лимитов владельца, а не посетителя.
  • Посетитель ничего не может себе расширить. Никакое присланное им значение не создаёт прав. Нет поля, заголовка или сообщения, которые превратили бы посетителя в участника команды.

Четыре умолчания

Из коробки и в любой установке разговор, пришедший с сайта, уже, чем тот же агент в кабинете:

что это значит
Отдельная веткаПереписка с сайта не смешивается с перепиской владельца. То же хранилище, то же окно контекста, другой канал.
Нет рукНи песочницы, ни команд, ни выхода в сеть, ни дополнительных возможностей типа агента. Агент отвечает, но не действует.
Ничего не запоминаетсяИз этого разговора ничего не попадает в долгую память агента.
Только ответПосетитель видит ответ. Не рассуждения, не шаги с инструментами и не то, что инструмент вернул.

Это умолчания, а не законы. Так устроена каждая привязка в каждой базе и так ведёт себя канал в момент публикации — но владелец агента может снять их поштучно с экрана «Сайт».

Четыре права и цена каждого

Сначала честная фраза, ради которой эта страница и существует:

незнакомый человек, открывший страницу, может заставить агента выполнять команды в песочнице, ходить в сеть, писать в свою долгую память и перепланировать то, что он делает сам, — с правами владельца и за счёт владельца.

И «незнакомый» здесь буквально. Билет лежит в HTML страницы, поэтому «открыть посетителям сайта» и «открыть всем, кто нашёл страницу» — это одна и та же фраза.

hands — агенту можно действовать

Возвращает набор инструментов песочницы и сам исполнитель, который их запускает. Обе половины сразу: набор инструментов без машины под ним описывает инструменты, которые не могут выполниться.

Чем грозит. Фраза незнакомого человека становится командой, выполненной в контейнере, и сетевыми обращениями из него. Собственный грант агента и его список разрешённых адресов по-прежнему ограничивают, куда он может дотянуться: это право снимает запрет, лежавший сверху, а не превышает их.

Это меняет и деньги. Разговор был ограничен 12 сообщениями в минуту на посетителя и 60 на агента; при открытых hands пределы становятся 4 и 15, в тех же корзинах, так что переключение посреди минуты не выдаёт никому две нормы. Это ограничение потока, а не потолок трат.

memory — разговор можно запоминать

Позволяет куратору прочитать этот разговор и записать из него в долгую память агента.

Чем грозит. То, что говорит незнакомый человек, начинает влиять на то, как агент отвечает всем остальным, включая владельца. Любое утверждение посетителя — кандидат на то, во что агент потом будет верить.

schedule — агенту можно менять своё расписание

Возвращает инструменты расписания и возможность разговора самому начать работу.

Чем грозит. Это единственное право, чей ущерб переживает визит: незнакомый человек может оставить работать постоянное задание после того, как закроет вкладку. Поэтому его включение требует, чтобы владелец подтвердил его, набрав идентификатор агента. Выключение не требует ничего.

visibility — посетителю видна работа

Отправляет в браузер рассуждения агента и его шаги с инструментами — отдельными заметками.

Чем грозит. Это раскрывает, как устроен агент, а в аргументах инструмента — и обрывки того, что он прочитал. Это отдельное решение, а не довесок к hands: результат инструмента не уходит ни при каком раскладе, в заметке едут имя инструмента и вердикт.

Картинки, которые прикладывает посетитель

Виджет позволяет посетителю приложить изображение, и агент его видит. Это часть обычного разговора, а не пятое право: картинка — это то, что человек говорит, а не что-то принадлежащее агенту и передаваемое наружу, поэтому включать нечего и выключать нечего — кроме самого канала.

Ограничено то, во что это обходится вам:

ТипыPNG, JPEG, GIF, WEBP — те же четыре, что принимает ваш собственный чат в кабинете, и никакие другие
Размер1 МБ на картинку (свой чат разрешает три)
Сколькодо пяти на одно сообщение
Как частообычный предел потока — двенадцать сообщений в минуту на человека

Всё, что за этими пределами, получает отказ фразой, которую посетитель прочитает, и в ней назван предел: «Картинка слишком большая — принимаю до 1 МБ». Молча картинка не пропадает никогда, и агент никогда не отвечает так, будто картинки, которую человек сам у себя видел приложенной, не было.

Ваша команда её видит. Картинка ложится в разговор этого посетителя, рядом с его словами, и команда читает её на карточке человека в кабинете — тот же экран и то же чтение, что и для текста. Больше её не достанет никто: байты отдаются только по подписанной ссылке с истечением.

Удаление человека её сохраняет. Удаление лида стирает человека — запись и всё, что вы о нём отметили, — и оставляет его разговоры, ровно как и раньше. Картинка принадлежит тому разговору, в котором её прислали, поэтому остаётся вместе со словами, с которыми пришла. Забирает её удаление разговора или агента.

Чего не достаёт никакая комбинация

Прошлых разговоров агента. Чтение истории чата не входит в четыре права и не подмешано ни к одному из них. Никакой переключатель на том экране не даёт посетителю сайта прочитать, что говорили этому агенту другие.

И при любой комбинации: от чьего имени идёт ход, не меняется. Ни одно право не создаёт прав из личности посетителя, и ни одно не позволяет агенту выйти за собственный грант и список разрешённых адресов.

Прийти опознанным, а не анонимом

Если ваш сайт уже знает, кто перед ним, — покупатель, который вошёл, заказ, который оформляется, — человек может приходить в чат под своим именем, а не очередным анонимом. Для этого нужен билет, выпущенный сервер-сервер, с личностью внутри, вашим бекендом, а не страницей: см. Что нужно на сервере.

Мы верим вашему сайту в том, кто это, — в пределах его команды и не дальше. Это то, что покупает ключ, и то, чем он ограничен. Быть узнанным — не значит получить права: у названного посетителя те же четыре умолчания и те же разрешения, что и у анонимного, и ход по-прежнему идёт от имени владельца агента.

И самому агенту имя не сообщается. Личность записана РЯДОМ с разговором — это то, что ваша команда читает в списке лидов, — а не подставлена в то, чем агент думает. Если хочется, чтобы агент здоровался по имени, это первое сообщение вашей страницы, а не свойство этих учётных данных.

Посетитель, пришедший без личности, по-прежнему аноним, а запись лида появляется у него на первом принятом сообщении — не в момент обмена билета, потому что браузер, открывший страницу и ничего не сказавший, — это не человек, ради которого стоит заводить строку.