Русский

Инструменты сайта

Инструменты сайта — это реализация предлагаемого стандарта WebMCP в ChatGPT. С помощью WebMCP сайт может предлагать ИИ-агенту полезные действия непосредственно рядом с интерфейсом, которым уже пользуются люди. Вы и агент можете работать с одной и той же открытой страницей и авторизованным сеансом.

Во встроенном браузере настольного приложения ChatGPT сервис ChatGPT Work и Codex могут обнаруживать и использовать эти инструменты, когда они доступны.

WebMCP и MCP: различия

Model Context Protocol (MCP) подключает ИИ-приложение к локальному или удалённому серверу. Его инструменты могут работать независимо от открытой веб-страницы — например, искать данные в сервисе или управлять записями через API.

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

Этот подход полезен, когда вам и агенту необходимо видеть одно и то же, например при редактировании холста или изучении панели мониторинга. Плагин с MCP-сервером может обеспечивать интеграцию, работающую независимо от открытой страницы. Сайт может поддерживать оба варианта.

Как это работает в браузере

Откройте сайт во встроенном браузере и попросите ChatGPT Work или Codex помочь с задачей. Если страница предлагает инструменты сайта, агент может обнаружить и использовать подходящие действия на просматриваемом вами сайте. Например, редактор документов может позволить агенту найти раздел или оставить комментарий для вашей проверки.

Выберите Инструменты сайта в адресной строке браузера, чтобы посмотреть, что предлагает сайт. Выберите Доступные инструменты сайта, чтобы изучить отдельные инструменты. Браузер проверяет каждый запрос до того, как сайт его выполнит, а агент может изучить страницу и увидеть, что изменилось. Если доступны сведения о недавних действиях, выберите Недавно использованные, чтобы открыть Источники и просмотреть эти вызовы.

В этом примере разверните раздел Доступные инструменты сайта, чтобы изучить инструменты, предоставляемые Margin.

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

Пример: изучение документации OpenAI

ChatGPT Learn и OpenAI Developers предлагают инструменты сайта для поиска и чтения документации. Выберите Открыть в ChatGPT в поле ввода, чтобы открыть Learn во встроенном браузере настольного приложения рядом с новым чатом, в котором этот запрос уже готов к отправке.

Запрос:

Find the documentation for building reusable skills, open the relevant page, and explain when I should turn a skill into a plugin.

Агент может использовать эти инструменты для поиска, чтения и открытия нужной страницы:

Инструмент Назначение
search_openai_docs Ищет информацию в документации OpenAI.
lookup_page Читает страницу документации по пути или URL.
lookup_context Читает текущий маршрут документации и выделенный текст.
navigate_to_page Открывает подходящую страницу на текущем сайте документации.
generate_custom_guide Запускает создание собственного руководства или учебного материала и возвращает его статус и ссылку.

Docs Agent создаёт собственное руководство асинхронно. Получение ссылки на него не означает, что создание завершено.

Безопасность и пользовательский контроль

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

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

Вы можете отключить параметр Включить инструменты сайта в разделе Настройки > Браузер > Разрешения. Проверяйте сайт, запрошенное действие и результат, прежде чем передавать конфиденциальную информацию или полагаться на внесённое изменение.

Сообщайте об уязвимостях безопасности через программу вознаграждений за обнаружение ошибок безопасности OpenAI. Сведения о рисках для безопасности ИИ см. в программе вознаграждений за обнаружение ошибок в области безопасности ИИ. Следуйте требованиям каждой программы к области охвата и отправке отчётов.

Добавление WebMCP на ваш сайт

Вы можете попросить Codex добавить поддержку WebMCP в веб-приложение или Site, над которым вы работаете. Опишите, какие действия должен уметь выполнять агент, и попросите Codex повторно использовать существующую логику и разрешения приложения.

Начните с операции, которую ваше приложение уже поддерживает. Например:

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

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

if (typeof document.modelContext?.registerTool === "function") {
  await document.modelContext.registerTool({
    name: "get_page_title",
    description: "Read the title of the current page.",
    inputSchema: {
      type: "object",
      properties: {},
      additionalProperties: false,
    },
    annotations: { readOnlyHint: true },
    execute: async () => ({ title: document.title }),
  });
}

Совместимый агент может обнаружить get_page_title и получить текущий заголовок страницы. Для инструмента, принимающего аргументы, опишите их во входной схеме и используйте их в обработчике execute для вызова существующей логики вашего приложения.

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

Подробности об API и примеры см. в спецификации WebMCP и руководстве Chrome для разработчиков.