Skip to Content
Руководство для разработчиковИнструментыВеб-поиск

Веб-поиск

Qwen Code поддерживает веб-поиск двумя способами:

  1. Встроенный инструмент web_search — работает на основе серверного поиска через DashScope Responses API или, для сессий подписки Qwen, через сервис поиска Qwen MCP. Включается после входа в аккаунт Plus/Pro и по умолчанию активен при запуске для поддерживаемых конфигураций ModelStudio и OpenAI-совместимого DashScope; не требует настройки дополнительного провайдера или MCP.
  2. Интеграции через MCP (Model Context Protocol) — подключите любой внешний поисковый сервис (Tavily, GLM и другие). Используйте этот вариант, если ваш провайдер не может обслуживать встроенный инструмент.

Для DashScope встроенный инструмент отправляет автономный поисковый запрос вспомогательной модели малого размера с серверными инструментами web_search (и web_extractor) и возвращает изложенные результаты вместе с URL источников. При использовании аккаунта Qwen с подпиской применяется сервис поиска Qwen MCP и ваши текущие учетные данные для входа. Отдельный ключ API для поиска, вспомогательная модель или настройка mcpServers не требуются. webExtractor относится только к поиску DashScope.

Когда он включается автоматически

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

Способ входаВстроенный поиск
Аккаунт Qwen с подпиской  — Plus или Proвключено
Alibaba ModelStudio → Standard API Keyвключён
Alibaba ModelStudio → Token Planвключён
Alibaba ModelStudio → Coding Planвыключен — его эндпоинт не проверен для этого API
QwenCloud → Стандартный ключ APIвключено
QwenCloud → Тариф Token Planвключено
OpenAI-совместимая запись modelProviders или Custom Provider на известном хосте DashScope Responses с прямым ключомвключён
Сторонние провайдеры (OpenRouter, DeepSeek, ModelScope, …), пользовательские эндпоинты на других хостах, локальные моделивыключен

Поиск через DashScope тарифицируется тем же ключом, что и основная модель; поиск по подписке использует ваши учетные данные для входа в Qwen. Обработка разрешений следует активному режиму одобрения и правилам; в режиме одобрения default первый запрос на поиск требует подтверждения. Если ваш провайдер не может обеспечить работу инструмента, он просто не появляется при запуске — без предупреждения при старте.

Чтобы выключить:

{ "tools": { "webSearch": { "enabled": false } } }

или ENABLE_WEB_SEARCH=false. Bare mode и safe mode всегда его отключают.

Явная настройка

Этот раздел описывает настройку поиска DashScope. Поиск по подписке повторно использует учетные данные вашего членства и не требует дополнительной настройки. Явные настройки поиска имеют приоритет над автоматическим поиском по подписке.

Укажите инструменту ModelStudio Standard/Token Plan или другую проверенную запись DashScope Responses. Это полезно, когда ваша основная модель работает на другом провайдере, а у вас есть отдельный поддерживаемый ключ DashScope. Хосты Coding Plan исключены из автоматической активации, потому что поисковые инструменты Responses там не проверены. Вы можете явно подключить их через tools.webSearch.model; если эндпоинт их не обслуживает, первый поиск выдаст ошибку. Используйте MCP-провайдер поиска, если не хотите полагаться на этот непроверенный путь.

{ "modelProviders": { "openai": [ { "id": "qwen3.8-flash", "envKey": "DASHSCOPE_API_KEY", "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1" } ] }, "tools": { "webSearch": { "enabled": true, "model": "qwen3.8-flash" } } }
НастройкаПереопределение через envНазначение
tools.webSearch.enabledENABLE_WEB_SEARCHУстановите false, чтобы выключить инструмент. Неявная активация при запуске требует, чтобы enabled, model и бэкенд только через env были не установлены. Установка true разрешает автоматическое определение только когда бэкенд только через env также не установлен; иначе требуется model.
tools.webSearch.modelWEB_SEARCH_MODELСелектор модели поиска для явного пути (modelId или authType:modelId). С WEB_SEARCH_BASE_URL — это простой id модели для этого эндпоинта; иначе он должен совпадать с объявленной записью modelProviders, совместимой с DashScope. Автоматический путь использует qwen3.8-flash.
tools.webSearch.webExtractorWEB_SEARCH_EXTRACTORПозволяет поисковому агенту открывать страницы результатов для более обоснованных ответов (по умолчанию true; тарифицируется DashScope отдельно).
tools.webSearch.timeoutMsWEB_SEARCH_TIMEOUT_MSОбщий бюджет времени на один поиск в миллисекундах (по умолчанию 120000, максимум 600000; остальные значения возвращаются к значению по умолчанию). Поиск, у которого закончилось время, возвращает полученные данные как частичный результат, если хотя бы один поисковый вызов завершился; если бюджет истекает до завершения первого поискового вызова, инструмент сообщает об ошибке таймаута, потому что наррация без выполненного поиска не является аудируемым доказательством. Исполнительный лимит на инструмент (QWEN_CODE_TOOL_EXECUTION_TIMEOUT_MS) ниже этого бюджета срабатывает первым и отбрасывает частичный результат; держите его выше timeoutMs.
tools.webSearch.allowedHostsWEB_SEARCH_ALLOWED_HOSTSДополнительные суффиксы хостов, которым доверяется для явно настроенного поискового бэкенда — точное имя хоста или любой поддомен указанного суффикса (разделенные запятыми в переменной окружения). По умолчанию пусто, поэтому поведение не меняется, если не задано. Только бэкенд WEB_SEARCH_BASE_URL и путь modelProviders обращаются к нему; автоматическое определение никогда его не использует, поэтому пользовательский хост применяется только там, где это указано в вашей собственной конфигурации. Настроенный хост получает ключ API. Записи обрезаются и приводятся к нижнему регистру, а записи без точки игнорируются.
tools.webSearch.maxPerSessionWEB_SEARCH_MAX_PER_SESSIONМаксимальное количество вызовов web_search за одну сессию (по умолчанию 200, максимум 10000; остальные значения возвращаются к значению по умолчанию). Счётчик общий с субагентами и сбрасывается при смене сессии (/clear, /resume, ветвление). После достижения лимита дальнейшие поиски пропускаются, и модели предлагается продолжать с тем, что уже собрано.

Конфигурация только через env (без settings.json)

Для сред, где нельзя записать файл настроек (закрытые контейнеры, CI с инъекцией переменных окружения), инструмент можно настроить полностью через переменные окружения — запись в modelProviders не требуется:

export ENABLE_WEB_SEARCH=true export WEB_SEARCH_MODEL=qwen3.8-flash export WEB_SEARCH_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 export WEB_SEARCH_ALLOWED_HOSTS=llm-gw.example.com # only for a gateway host export DASHSCOPE_API_KEY=sk-... # or set WEB_SEARCH_API_KEY instead

WEB_SEARCH_BASE_URL отражает поля baseUrl и modelProviders из записи; это должен быть эндпоинт, совместимый с DashScope. При его задании он имеет приоритет над разрешением modelProviders, а WEB_SEARCH_MODEL используется как обычный идентификатор модели DashScope. Ключ API берётся из WEB_SEARCH_API_KEY, если задан, иначе из DASHSCOPE_API_KEY. Если эндпоинт — это шлюз на вашем домене, добавьте этот хост в WEB_SEARCH_ALLOWED_HOSTS (или tools.webSearch.allowedHosts) — иначе проверка принимает только встроенный список. Ошибки конфигурации по-прежнему отображаются как уведомление при запуске.

Примечания:

  • Для явного поиска DashScope селектор должен указывать на запись modelProviders, совместимую с DashScope, содержащую прямой ключ API через envKey. Ваша основная модель может быть от любого провайдера. Устаревший бесплатный провайдер Qwen OAuth не может обеспечить эту возможность; поиск по подписке Qwen использует отдельный сервис MCP, описанный выше.
  • Регистрация поиска переоценивается после успешных изменений аутентификации. Вход в подписку Qwen включает поиск в текущей сессии без перезапуска. Явное отключение, безопасный режим и правила разрешений инструментов все еще применяются.
  • Автоматическое определение хоста намеренно принимает только известные региональные хосты DashScope, Model Studio и MaaS-хосты QwenCloud (включая их подписочные поддомены token-plan.) и внутренние хосты Alibaba. Универсальные шлюзы *.alicloudapi.com, DASHSCOPE_PROXY_BASE_URL и любые хосты, добавленные вами только в allowedHosts, исключены из этого автоматического пути, так как он работает без вашего участия и иначе передал бы ключ основного провайдера хосту, который никто не объявлял. Для шлюза, который вы явно указываете, перечислите его в tools.webSearch.allowedHosts и направьте на него WEB_SEARCH_BASE_URL (или запись modelProviders).
  • Если инструмент включён явно, но неправильно настроен, он остаётся выключенным, а уведомление при запуске объясняет, какое условие не выполнено. Автоматическая активация никогда не выдаёт уведомление.
  • Поиск через DashScope тарифицируется по вашему ключу DashScope (учитывается usage.x_tools). Режим автоматического одобрения (по умолчанию) позволяет классификатору одобрять поисковые запросы без подтверждения; в режиме одобрения default инструмент запрашивает подтверждение, а выбор «разрешить всегда» сохраняет стандартное правило разрешения WebSearch, как и для других инструментов.
  • Клиентского белого списка моделей нет; модель, которую не обслуживает эндпоинт Responses, выдаст ошибку при первом использовании.
  • Поиск, превысивший бюджет времени, возвращает полученные данные как частичный результат, если хотя бы один поисковый вызов завершился; если бюджет истекает до завершения первого поискового вызова, инструмент сообщает об ошибке таймаута, потому что наррация без выполненного поиска не является аудируемым доказательством. Когда поисковый вызов завершился, но нарративный ответ так и не поступил, результат содержит не более 6000 символов текста страницы, прочитанного агентом, помеченных как необработанное содержимое страницы.
  • Лимит на сессию считает вызовы инструмента web_search, а не поиски, которые один вызов выполняет внутри себя, и вызов, который завершился ошибкой, всё равно считается, потому что запрос был отправлен. Пропущенный вызов — не ошибка: он сообщает модели, что бюджет исчерпан, и предлагает попросить вас увеличить tools.webSearch.maxPerSession, если дополнительные поиски действительно необходимы.

Альтернативы через MCP

Если ваш провайдер не может обслуживать встроенный инструмент, веб-поиск доступен через подключение внешнего MCP-сервера — см. сервисы ниже.

⚠️ Историческое критическое изменение: оригинальный встроенный web_search удалён

Затронутые версии: с V0.0.7+ до последнего релиза с поддержкой встроенного веб-поиска.

Оригинальный встроенный инструмент web_search (мультипровайдерный: Tavily/Google/GLM/DashScope) и его конфигурация были удалены. Встроенный инструмент, описанный выше, — это другая реализация с другой конфигурацией. Если вы использовали что-либо из перечисленного, перейдите на новый встроенный инструмент (DashScope) или на MCP:

УдаленоЧто делать
Блок webSearch в settings.jsonВместо этого настройте MCP-сервер в mcpServers (см. ниже)
advanced.tavilyApiKey в settings.jsonИспользуйте MCP-сервер Tavily
Переменная окружения TAVILY_API_KEYИспользуйте MCP-сервер Tavily
DASHSCOPE_API_KEY для веб-поискаИспользуйте встроенный инструмент web_search
GLM_API_KEY для веб-поискаИспользуйте GLM WebSearch Prime MCP
Флаги CLI --tavily-api-key / --glm-api-key / --dashscope-api-keyНастройте через mcpServers в settings.json

Примеры миграции

До (Tavily через встроенный инструмент):

{ "webSearch": { "provider": [{ "type": "tavily", "apiKey": "tvly-xxx" }], "default": "tavily" } }

После (Tavily через MCP):

{ "mcpServers": { "tavily": { "httpUrl": "https://mcp.tavily.com/mcp/?tavilyApiKey=tvly-xxx" } } }

До (DashScope через встроенный инструмент):

{ "webSearch": { "provider": [{ "type": "dashscope", "apiKey": "sk-xxx" }], "default": "dashscope" } }

После (Alibaba Cloud Bailian WebSearch через MCP):

{ "mcpServers": { "WebSearch": { "httpUrl": "https://dashscope.aliyuncs.com/api/v1/mcps/WebSearch/mcp", "headers": { "Authorization": "Bearer sk-xxx" } } } }

Поддерживаемые MCP-сервисы веб-поиска

Alibaba Cloud Bailian WebSearch

Официальный MCP-сервис веб-поиска, предоставляемый платформой Alibaba Cloud Bailian на базе DashScope. Если у вас есть ключ DashScope, предпочтите встроенный инструмент web_search выше — он использует более мощный путь поиска, чем этот MCP-сервис.

Настройка

Способ 1: команда CLI

qwen mcp add WebSearch \ -t http \ "https://dashscope.aliyuncs.com/api/v1/mcps/WebSearch/mcp" \ -H "Authorization: Bearer ${DASHSCOPE_API_KEY}"

Способ 2: settings.json

{ "mcpServers": { "WebSearch": { "httpUrl": "https://dashscope.aliyuncs.com/api/v1/mcps/WebSearch/mcp", "headers": { "Authorization": "Bearer ${DASHSCOPE_API_KEY}" } } } }

Замените ${DASHSCOPE_API_KEY} на ваш реальный API-ключ или установите его как переменную окружения, чтобы Qwen Code автоматически его подхватывал.


Tavily WebSearch

Готовый к использованию MCP-сервер с возможностями веб-поиска в реальном времени, извлечения данных, построения карт сайтов и сканирования.

  • Репозиторий: https://github.com/tavily-ai/tavily-mcp 
  • Стоимость: платная (доступен бесплатный тариф)
  • Получить API-ключ: https://app.tavily.com/home 
  • Подходит для: универсального веб-поиска с высококачественными ответами на основе AI

Доступные инструменты

  • tavily_search — Поиск в реальном времени в интернете
  • tavily_extract — Интеллектуальное извлечение данных из веб-страниц
  • tavily_map — Создание структурированной карты веб-сайта
  • tavily_crawl — Систематическое исследование веб-сайтов

Настройка

Способ 1: команда CLI (удалённый MCP)

qwen mcp add tavily \ -t http \ "https://mcp.tavily.com/mcp/?tavilyApiKey=${TAVILY_API_KEY}"

Способ 2: settings.json (удалённый MCP)

{ "mcpServers": { "tavily": { "httpUrl": "https://mcp.tavily.com/mcp/?tavilyApiKey=${TAVILY_API_KEY}" } } }

Замените ${TAVILY_API_KEY} на ваш реальный API-ключ или установите его как переменную окружения.

Способ 3: settings.json (локальный NPX)

{ "mcpServers": { "tavily-mcp": { "command": "npx", "args": ["-y", "tavily-mcp@latest"], "env": { "TAVILY_API_KEY": "your-api-key-here" } } } }

GLM WebSearch Prime (ZhipuAI)

Официальная служба удаленного поиска в интернете на базе MCP от ZhipuAI (智谱AI), предназначенная для пользователей GLM Coding Plan. Предоставляет поиск в реальном времени, включая новости, цены акций, погоду и другое.

Доступные инструменты

  • webSearchPrime — Веб-поиск, возвращающий заголовок страницы, URL, краткое описание, название сайта и иконку

Настройка

Способ 1: команда CLI

qwen mcp add web-search-prime \ -t http \ "https://open.bigmodel.cn/api/mcp/web_search_prime/mcp" \ -H "Authorization: Bearer ${GLM_API_KEY}"

Способ 2: settings.json

{ "mcpServers": { "web-search-prime": { "httpUrl": "https://open.bigmodel.cn/api/mcp/web_search_prime/mcp", "headers": { "Authorization": "Bearer ${GLM_API_KEY}" } } } }

Замените ${GLM_API_KEY} на ваш реальный API-ключ ZhipuAI или установите его как переменную окружения.


Firecrawl

Официальный размещаемый сервер MCP от Firecrawl, предоставляющий поиск в интернете, скрейпинг страниц, обход и картирование сайтов, взаимодействие с браузером и анализ файлов. Результаты поиска могут включать содержимое каждой страницы в формате Markdown, чтобы модель могла читать источники без отдельного шага загрузки. Размещаемый сервер работает без API-ключа для поиска, скрейпинга и анализа. Поисковые запросы, URL-адреса, которые вы просите прочитать, и любые анализируемые файлы отправляются в Firecrawl.

  • Документация: https://docs.firecrawl.dev/mcp-server 
  • Стоимость: Не требуется API-ключ для поиска, скрейпинга и анализа (суточный лимит на IP); платные тарифы для более высоких лимитов
  • Получить API-ключ: https://www.firecrawl.dev/app/api-keys 
  • Лучше всего подходит для: Поиска в интернете, когда модели также нужно читать найденные страницы, и тестирования веб-поиска через MCP без API-ключа

Доступные инструменты

  • firecrawl_search — Поиск в интернете, опционально возвращает содержимое страницы каждого результата в формате Markdown
  • firecrawl_scrape — Получить одну страницу в чистом виде Markdown
  • firecrawl_parse — Преобразовать локальный файл (PDF, Word, электронную таблицу и др.) в Markdown

С API-ключом сервер также предлагает инструменты для картирования и обхода сайтов, взаимодействия со страницами (нажатие, ввод, навигация) и поиска по источникам для разработчиков, таким как задачи GitHub и документация.

Настройка

Способ 1: команда CLI (удалённый MCP)

qwen mcp add firecrawl \ -t http \ "https://mcp.firecrawl.dev/v2/mcp" \ -H "Authorization: Bearer ${FIRECRAWL_API_KEY}"

Чтобы попробовать без ключа, уберите строку -H. Вы получите firecrawl_search, firecrawl_scrape и firecrawl_parse в рамках суточного лимита на IP.

Способ 2: settings.json (удалённый MCP)

{ "mcpServers": { "firecrawl": { "httpUrl": "https://mcp.firecrawl.dev/v2/mcp", "headers": { "Authorization": "Bearer ${FIRECRAWL_API_KEY}" } } } }

Замените ${FIRECRAWL_API_KEY} на ваш фактический API-ключ или установите его как переменную окружения. Если ключ пустой, сервер все равно подключается, но предлагает только три инструмента без ключа.

Способ 3: settings.json (локальный NPX)

{ "mcpServers": { "firecrawl-mcp": { "command": "npx", "args": ["-y", "firecrawl-mcp@latest"], "env": { "FIRECRAWL_API_KEY": "your-api-key-here" } } } }

SerpApi

Официальный размещаемый сервер MCP от SerpApi, предоставляющий структурированные результаты поиска в реальном времени из Google, Baidu, Bing и других поисковых систем через один инструмент. Поисковые запросы и их параметры отправляются в SerpApi.

  • Документация: https://serpapi.com/integrations/mcp 
  • Стоимость: Платно (доступен бесплатный тариф)
  • Получить API-ключ: https://serpapi.com/manage-api-key 
  • Лучше всего подходит для: Структурированных результатов из широкого выбора поисковых систем

Доступные инструменты

  • search — Поиск в интернете, опционально возвращает результаты в формате Markdown

Настройка

Способ 1: команда CLI

qwen mcp add serpapi \ -t http \ "https://mcp.serpapi.com/mcp" \ -H "Authorization: Bearer ${SERPAPI_API_KEY}"

Способ 2: settings.json

{ "mcpServers": { "serpapi": { "httpUrl": "https://mcp.serpapi.com/mcp", "headers": { "Authorization": "Bearer ${SERPAPI_API_KEY}" } } } }

Замените ${SERPAPI_API_KEY} на ваш фактический API-ключ или установите его как переменную окружения. Ключ нужен только для поиска. Без действительного API-ключа сервер все равно подключается и перечисляет свои инструменты, но search возвращает ошибку.


looot

Размещаемый сервер MCP от looot с поиском в интернете, результатами Google SERP, новостным поиском и чтением веб-страниц. Поисковые запросы и URL-адреса, которые вы просите прочитать, отправляются в looot.

  • Документация: https://docs.looot.ai 
  • Стоимость: Платно (предоплаченный баланс, нет бесплатного тарифа)
  • Получить API-ключ: https://looot.ai 
  • Лучше всего подходит для: Поиска в интернете, результатов Google SERP и новостей, а также чтения страницы как текста

Доступные инструменты

  • web_search — Поиск в интернете
  • google_search_results — Результаты Google SERP
  • news_search — Новостной поиск
  • read_web_page — Прочитать одну страницу как текст

Сервер также предоставляет функции поиска по компаниям и электронной почте.

Настройка

Способ 1: команда CLI (удалённый MCP)

qwen mcp add looot \ -t http \ "https://api.looot.ai/mcp" \ -H "Authorization: Bearer ${LOOOT_API_KEY}"

Способ 2: settings.json (удалённый MCP)

{ "mcpServers": { "looot": { "httpUrl": "https://api.looot.ai/mcp", "headers": { "Authorization": "Bearer ${LOOOT_API_KEY}" } } } }

Замените ${LOOOT_API_KEY} на ваш фактический API-ключ или установите его в качестве переменной окружения.


Last updated on