WebMCP
WebMCP предоставляет доступ к инструментам, которые фрейм регистрирует через экспериментальный браузерный API WebMCP — navigator.modelContext. Он позволяет получать список инструментов и вызывать их.
Доступ к экземплярам осуществляется через Frame.webmcp(). Page.webmcp() возвращает экземпляр для главного фрейма.
WebMCP — экспериментальная возможность браузера. В Chromium она включается с помощью аргумента запуска --enable-features=WebMCP, а в Firefox — с помощью настроек dom.modelcontext.enabled и dom.modelcontext.testing.enabled. В WebKit она не реализована.
Названия инструментов, описания, схемы входных данных и результаты предоставляются страницей, поэтому рассматривайте их как недоверенные входные данные.
Методы
callTool
Добавлено в: v1.64Вызывает инструмент, зарегистрированный фреймом, и возвращает его результат. Результатом является значение, которым завершилась функция execute инструмента, обычно это объект с массивом content. Результат с isError: true возвращается без изменений. Метод выбрасывает исключение, если инструмент не зарегистрирован или его функция execute выбрасывает исключение.
Использование
WebMCP.callTool(name);
WebMCP.callTool(name, input, options);
Аргументы
-
Название инструмента, возвращаемое методом WebMCP.tools().
-
Входные данные для инструмента, соответствующие его
inputSchema. По умолчанию используется пустой объект. -
optionsWebMCP.CallToolOptions(необязательно)-
setTimeoutdouble (необязательно)#Максимальное время ожидания в миллисекундах. По умолчанию —
30000(30 секунд). Передайте0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью методов BrowserContext.setDefaultTimeout() или Page.setDefaultTimeout().
-
Возвращает
tools
Добавлено в: v1.64Возвращает инструменты, зарегистрированные фреймом на данный момент. Выбрасывает исключение, если браузер был запущен без поддержки WebMCP. Параметры запуска, включающие эту поддержку, приведены в примечании выше.
Page.webmcp() охватывает только главный фрейм; дочерние фреймы предоставляют список своих инструментов через собственный Frame.webmcp().
Использование
WebMCP.tools();
WebMCP.tools(options);
Аргументы
optionsWebMCP.ToolsOptions(необязательно)-
setTimeoutdouble (необязательно)#Максимальное время ожидания в миллисекундах. По умолчанию —
30000(30 секунд). Передайте0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью методов BrowserContext.setDefaultTimeout() или Page.setDefaultTimeout().
-
Возвращает
- List<Tools>#
-
nameStringНазвание инструмента, уникальное в пределах фрейма.
-
descriptionStringОписание инструмента.
-
inputSchemaObject (необязательно)JSON Schema входных данных инструмента, если страница её предоставляет.
-
annotationsAnnotations (необязательно)-
readOnlyboolean (необязательно)Инструмент не изменяет никакое состояние.
-
untrustedContentboolean (необязательно)Выходные данные инструмента могут содержать сторонний контент.
-
consequentialboolean (необязательно)Инструмент выполняет действие, имеющее существенные последствия, например оформление заказа.
Подсказки об инструменте, предоставляемые страницей.
-
-