Перейти к содержанию

Внутри обработчика

Машинный перевод

Эта страница переведена с английской документации автоматически, и основной версией остаётся английская страница. Если что-то читается неправильно, на странице Переводы объясняется, как об этом сообщить.

Аргументы обработчика приходят от клиента. Всё остальное, что он может прочитать, и всё, что он может делать во время выполнения, описано здесь.

Что он может прочитать:

  • Объект Context — единственный дополнительный параметр, который может запросить любой обработчик: текущий запрос, его заголовки, его сессия, а также методы для уведомлений о ходе выполнения и об изменениях.
  • Зависимости — параметры, которые модель никогда не видит; их заполняют ваши собственные функции через Resolve.
  • Жизненный цикл (lifespan) — состояние, которое сервер создаёт один раз при запуске, и то, как обработчик добирается до него через Context.

Что он может делать во время выполнения:

  • Запрашивать у пользователя дополнительные данные — Элицитация (elicitation) и Многораундовые запросы (multi-round-trip), шаблон версии 2026-07-28, через который она передаётся.
  • Просить у клиента генерацию LLM или папки его рабочего пространства — Сэмплирование и корневые каталоги (sampling и roots), возможности устаревшие, но всё ещё обслуживаемые.
  • Сообщать о ходе выполнения долгой операции.
  • Прибирать за собой или останавливаться досрочно, когда клиент отказывается от вызова, — Отмена.
  • Писать логи (в стандартный поток ошибок, для тех, кто эксплуатирует сервер) — Логирование.
  • Сообщать подписанным клиентам, что что-то изменилось, — Подписки.

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