Веб-поиск
Qwen Code поддерживает веб-поиск двумя способами:
- Встроенный инструмент
web_search— работает через серверный поиск DashScope Responses API. Включён по умолчанию при запуске для поддерживаемых конфигураций ModelStudio и OpenAI-совместимых конфигураций DashScope; дополнительная настройка провайдера или MCP не требуется. - Интеграции через MCP (Model Context Protocol) — подключите любой внешний поисковый сервис (Tavily, GLM и другие). Используйте этот вариант, если ваш провайдер не может обслуживать встроенный инструмент.
Встроенный web_search
Встроенный инструмент отправляет самодостаточный запрос поиска небольшой вспомогательной модели с серверными инструментами DashScope web_search (и web_extractor) и возвращает описанные результаты плюс URL-адреса источников.
Когда он включается автоматически
Если вы ничего не настраивали в tools.webSearch, инструмент регистрируется, когда модель, которую вы используете, может обслуживать поисковый запрос с теми же учётными данными:
| Способ входа | Встроенный поиск |
|---|---|
| Alibaba ModelStudio → Standard API Key | включён |
| Alibaba ModelStudio → Token Plan | включён |
| Alibaba ModelStudio → Coding Plan | выключен — его эндпоинт не проверен для этого API |
OpenAI-совместимая запись modelProviders или Custom Provider на известном хосте DashScope Responses с прямым ключом | включён |
| Сторонние провайдеры (OpenRouter, DeepSeek, ModelScope, …), пользовательские эндпоинты на других хостах, локальные модели | выключен |
Поиск тарифицируется на тот же ключ, что и ваша основная модель. Обработка разрешений следует активному режиму одобрения и правилам; в режиме одобрения default первый поиск запрашивает подтверждение. Когда ваш провайдер не может обслуживать инструмент, он просто не появляется при запуске — без предупреждения.
Чтобы выключить:
{ "tools": { "webSearch": { "enabled": false } } }или ENABLE_WEB_SEARCH=false. Bare mode и safe mode всегда его отключают.
Явная настройка
Укажите инструменту 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.enabled | ENABLE_WEB_SEARCH | Установите false, чтобы выключить инструмент. Неявная активация при запуске требует, чтобы enabled, model и бэкенд только через env были не установлены. Установка true разрешает автоматическое определение только когда бэкенд только через env также не установлен; иначе требуется model. |
tools.webSearch.model | WEB_SEARCH_MODEL | Селектор модели поиска для явного пути (modelId или authType:modelId). С WEB_SEARCH_BASE_URL — это простой id модели для этого эндпоинта; иначе он должен совпадать с объявленной записью modelProviders, совместимой с DashScope. Автоматический путь использует qwen3.8-flash. |
tools.webSearch.webExtractor | WEB_SEARCH_EXTRACTOR | Позволяет поисковому агенту открывать страницы результатов для более обоснованных ответов (по умолчанию true; тарифицируется DashScope отдельно). |
tools.webSearch.timeoutMs | WEB_SEARCH_TIMEOUT_MS | Общий бюджет времени на один поиск в миллисекундах (по умолчанию 120000, максимум 600000; остальные значения возвращаются к значению по умолчанию). Поиск, у которого закончилось время, возвращает полученные данные как частичный результат, если хотя бы один поисковый вызов завершился; если бюджет истекает до завершения первого поискового вызова, инструмент сообщает об ошибке таймаута, потому что наррация без выполненного поиска не является аудируемым доказательством. Исполнительный лимит на инструмент (QWEN_CODE_TOOL_EXECUTION_TIMEOUT_MS) ниже этого бюджета срабатывает первым и отбрасывает частичный результат; держите его выше timeoutMs. |
tools.webSearch.maxPerSession | WEB_SEARCH_MAX_PER_SESSION | Максимальное количество вызовов web_search за одну сессию (по умолчанию 200, максимум 10000; остальные значения возвращаются к значению по умолчанию). Счётчик общий с субагентами и сбрасывается при смене сессии (/clear, /resume, ветвление). После достижения лимита дальнейшие поиски пропускаются, и модели предлагается продолжать с тем, что уже собрано. |
Конфигурация только через env (без settings.json)
Для окружений, где невозможно записать файл настроек (заблокированные контейнеры, CI только с инъекцией env), инструмент можно настроить полностью через переменные окружения — запись в 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 DASHSCOPE_API_KEY=sk-... # или установите WEB_SEARCH_API_KEYWEB_SEARCH_BASE_URL дублирует baseUrl из записи modelProviders и должен быть эндпоинтом, совместимым с DashScope; когда он установлен, он имеет приоритет над разрешением через modelProviders, а WEB_SEARCH_MODEL используется как простой id модели DashScope. API-ключ читается из WEB_SEARCH_API_KEY, если установлен, иначе из DASHSCOPE_API_KEY. Неправильная конфигурация по-прежнему отображается как уведомление при запуске.
Примечания:
- Селектор должен разрешаться в совместимую с DashScope запись
modelProvidersс прямым API-ключом черезenvKey. Ваша основная модель может быть любым провайдером — только запрос поисковой стороны требует запись DashScope. Qwen OAuth не может использоваться для инструмента. - Какие провайдеры могут активировать инструмент, определяется при запуске. После активации поисковый бэкенд следует за текущей выбранной моделью при следующем поиске; переключение на неподдерживаемый провайдер приводит к сбою этого вызова, а переключение из сессии, где инструмент отсутствовал, всё равно требует перезапуска для его регистрации.
- Автоматическое определение хоста намеренно принимает только известные региональные хосты DashScope, Token Plan MaaS и внутренние хосты Alibaba. Общие шлюзы
*.alicloudapi.comиDASHSCOPE_PROXY_BASE_URLисключены, потому что неизвестно, перенаправляют ли они поисковые инструменты Responses. - Если инструмент включён явно, но неправильно настроен, он остаётся выключенным, а уведомление при запуске объясняет, какое условие не выполнено. Автоматическая активация никогда не выдаёт уведомление.
- Поиск тарифицируется с вашего ключа DashScope (
usage.x_tools). Режим автоматического одобрения (по умолчанию) позволяет классификатору одобрять поисковые запросы без подтверждения; в режиме одобренияdefaultинструмент запрашивает подтверждение, и одобрение с “always allow” сохраняет стандартное правило разрешения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-сервис.
- Маркетплейс MCP: https://bailian.console.aliyun.com/cn-beijing?tab=mcp#/mcp-market/detail/WebSearch
- Стоимость: платная (тарификация через Alibaba Cloud DashScope)
- Получить API-ключ: https://help.aliyun.com/zh/model-studio/get-api-key
- Подходит для: запросов на китайском языке, доступа к китайскому веб-контенту, интеграции с экосистемой Alibaba Cloud
Настройка
Способ 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. Обеспечивает поиск в реальном времени, включая новости, котировки акций, погоду и многое другое.
- Документация: https://docs.bigmodel.cn/cn/coding-plan/mcp/search-mcp-server
- Стоимость: включена в подписку GLM Coding Plan (Lite: 100 вызовов/мес, Pro: 1,000/мес, Max: 4,000/мес)
- Получить API-ключ: https://open.bigmodel.cn/apikey/platform
- Подходит для: запросов на китайском языке, получения информации в реальном времени
Доступные инструменты
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 или установите его как переменную окружения.