Tools

Показать виджет

show_widget отображает автономный фрагмент SVG или HTML непосредственно в расшифровке чата Control UI. Встроенный Plugin Canvas предоставляет этот инструмент и размещает каждый результат как документ Canvas того же источника.

Инструмент доступен только тогда, когда исходный клиент Gateway объявляет возможность inline-widgets. Control UI объявляет эту возможность автоматически. Запуски в каналах, таких как Telegram и WhatsApp, не получают show_widget.

Передача возможностей поддерживается для встроенных серверных частей моделей, сервера приложений Codex и серверных частей моделей на основе CLI. Вызывающие стороны MCP, прошедшие аутентификацию по разрешению, и вызывающие стороны, напрямую обращающиеся к инструментам по HTTP, по-прежнему по умолчанию получают отказ, поскольку не объявляют возможности клиента.

Использование инструмента

Агент передаёт две обязательные строки:

titlestringrequired

Краткий заголовок, отображаемый рядом со встроенным предпросмотром и в заголовке размещённого документа.

widget_codestringrequired

Автономный фрагмент SVG или HTML. Ввод, который после удаления пробелов по краям начинается с <svg, отображается в режиме SVG; весь остальной ввод обрабатывается как фрагмент HTML. Максимальная длина: 262 144 символа.

Результат инструмента содержит дескриптор предпросмотра Canvas, поэтому веб-чат отображает виджет непосредственно из вызова инструмента и восстанавливает его после перезагрузки истории. В расшифровках, не отображающих предпросмотр, всё равно показывается путь к размещённому документу Canvas.

Безопасность и хранение

Документы виджетов используют строгую политику безопасности содержимого: встроенные стили и скрипты разрешены, изображения могут использовать URL-адреса data:, а внешние запросы и загрузка ресурсов заблокированы. Размещайте всю разметку, стили, скрипты и данные изображений внутри widget_code.

В iframe всегда отсутствует allow-same-origin, даже если глобальный режим встраивания Control UI имеет значение trusted, поэтому скрипты виджета не могут получить доступ к источнику родительского приложения. Хост Canvas также передаёт документы виджетов с заголовком ответа Content-Security-Policy: sandbox allow-scripts, поэтому при непосредственном открытии размещённого URL-адреса виджет по-прежнему выполняется в непрозрачном источнике, а не в источнике Control UI. Изоляция браузера не мешает скрипту изменять адрес собственного iframe; отображайте только тот код виджета, который вы готовы выполнять в этом изолированном фрейме.

Iframe также использует настройки gateway.controlUi.embedSandbox. Уровень scripts, используемый по умолчанию, поддерживает интерактивные виджеты, сохраняя изоляцию источника.

Canvas хранит не более 32 виджетов на сеанс (или на агента, если сеанс недоступен). При создании следующего виджета удаляется самый старый документ в этой области.

Связанные материалы

Was this useful?
On this page

On this page