Skip to Content
Guia do DesenvolvedorFerramentasPesquisa na Web

Pesquisa na Web

O Qwen Code oferece pesquisa na web de duas formas:

  1. Ferramenta web_search integrada — baseada na busca no lado do servidor da API Responses do DashScope ou, para sessões de Assinatura Qwen, no serviço de busca MCP da Qwen. Ativada após o login na assinatura Plus/Pro e habilitada por padrão na inicialização para configurações compatíveis com ModelStudio e OpenAI via DashScope; sem necessidade de provedor adicional ou configuração de MCP.
  2. Integrações MCP (Model Context Protocol) — conecte qualquer serviço de busca externo (Tavily, GLM e outros). Use esta opção quando seu provedor não puder suportar a ferramenta integrada.

Para o DashScope, a ferramenta integrada emite uma solicitação de busca autônoma para um modelo auxiliar pequeno com ferramentas web_search (e web_extractor) no lado do servidor, e retorna os achados narrados mais as URLs das fontes. Com Conta Qwen com Assinatura, ela usa o serviço de busca MCP da Qwen e suas credenciais de login atuais. Não é necessária uma chave de API de busca separada, um modelo auxiliar ou configuração mcpServers. webExtractor se aplica apenas à busca do DashScope.

Quando ela se ativa sozinha

Se você não configurou nada em tools.webSearch, a ferramenta é registrada sempre que o modelo que você está executando pode suportar a requisição de busca com as mesmas credenciais:

Como você fez loginBusca integrada
Conta Qwen com Assinatura  — Plus ou Proativado
Alibaba ModelStudio → Chave de API Padrãoativada
Alibaba ModelStudio → Token Planativada
Alibaba ModelStudio → Coding Plandesativada — seu endpoint não é verificado para esta API
QwenCloud → Chave de API Padrãoativado
QwenCloud → Plano de Tokensativado
Uma entrada modelProviders compatível com OpenAI ou Provedor Personalizado em um host reconhecido de DashScope Responses, com uma chave diretaativada
Provedores de terceiros (OpenRouter, DeepSeek, ModelScope, …), endpoints personalizados em outros hosts, modelos locaisdesativada

As buscas do DashScope cobram a mesma chave que seu modelo principal; as buscas por assinatura reutilizam suas credenciais de login da Qwen. O tratamento de permissões segue o modo de aprovação ativo e as regras; no modo de aprovação default, a primeira busca solicita confirmação. Quando seu provedor não pode suportar a ferramenta, ela simplesmente não aparece na inicialização — sem aviso na inicialização.

Para desativá-la:

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

ou ENABLE_WEB_SEARCH=false. O modo bare e o modo safe sempre a desativam.

Configurando-a explicitamente

Esta seção configura a busca do DashScope. A busca por assinatura reutiliza suas credenciais de associação e não requer configuração adicional. Configurações explícitas de busca ainda têm precedência sobre a busca automática por assinatura.

Aponte a ferramenta para um ModelStudio Standard/Token Plan ou outra entrada verificada de DashScope Responses. Isso é útil quando seu modelo principal está em outro provedor e você também tem uma chave DashScope suportada separada. Hosts do Coding Plan são excluídos da ativação automática porque as ferramentas de busca Responses não são verificadas neles. Você pode ativar explicitamente com tools.webSearch.model; se o endpoint não as servir, a primeira busca falha de forma explícita. Use um provedor de busca MCP se não quiser depender desse caminho não verificado.

{ "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" } } }
ConfiguraçãoSubstituição por envSignificado
tools.webSearch.enabledENABLE_WEB_SEARCHDefina false para desativar a ferramenta. A ativação implícita na inicialização requer deixar enabled, model e o backend somente-env não definidos. Definir true permite a derivação automática somente quando o backend somente-env também não está definido; caso contrário, um model é obrigatório.
tools.webSearch.modelWEB_SEARCH_MODELSeletor do modelo de busca para o caminho explícito (modelId ou authType:modelId). Com WEB_SEARCH_BASE_URL, é o id simples do modelo para aquele endpoint; caso contrário, deve corresponder a uma entrada modelProviders compatível com DashScope declarada. O caminho automático usa qwen3.8-flash.
tools.webSearch.webExtractorWEB_SEARCH_EXTRACTORPermite que o agente de busca abra páginas de resultado para respostas melhor fundamentadas (padrão true; cobrado separadamente pelo DashScope).
tools.webSearch.timeoutMsWEB_SEARCH_TIMEOUT_MSOrçamento de tempo total para uma busca, em milissegundos (padrão 120000, máximo 600000; outros valores voltam ao padrão). Uma busca que esgota o tempo retorna o que chegou como resultado parcial quando pelo menos uma chamada de busca foi concluída; se o orçamento expira antes da primeira chamada de busca terminar, a ferramenta reporta um erro de timeout, porque narração sem busca executada não é evidência auditável. Um limite de execução por ferramenta (QWEN_CODE_TOOL_EXECUTION_TIMEOUT_MS) abaixo desse orçamento dispara primeiro e descarta o resultado parcial; mantenha-o acima de timeoutMs.
tools.webSearch.allowedHostsWEB_SEARCH_ALLOWED_HOSTSSufixos de host adicionais confiáveis para um backend de busca configurado explicitamente — um host exato, ou qualquer subdomínio de um sufixo listado (separados por vírgula na variável de ambiente). Vazio por padrão, então o comportamento permanece inalterado a menos que definido. Apenas o backend WEB_SEARCH_BASE_URL e o caminho modelProviders consultam isso; a derivação automática nunca faz isso, então um host personalizado é usado apenas onde sua própria configuração o nomeia. O host configurado recebe a chave de API. As entradas são aparadas e convertidas para minúsculas, e entradas sem ponto são ignoradas.
tools.webSearch.maxPerSessionWEB_SEARCH_MAX_PER_SESSIONMáximo de chamadas web_search em uma sessão (padrão 200, máximo 10000; outros valores voltam ao padrão). A contagem é compartilhada com subagentes e reinicia quando a sessão muda (/clear, /resume, ramificação). Quando atingido, buscas adicionais são ignoradas e o modelo é instruído a continuar com o que já coletou.

Configuração apenas por env (sem settings.json)

Para ambientes onde você não pode escrever um arquivo de configurações (contêineres restritos, CI com injeção apenas via variáveis de ambiente), a ferramenta pode ser configurada inteiramente através de variáveis de ambiente — nenhuma entrada modelProviders é necessária:

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 espelha o baseUrl de uma entrada modelProviders e deve ser um endpoint compatível com DashScope; quando definido, ele tem precedência sobre a resolução modelProviders e WEB_SEARCH_MODEL é usado como o id do modelo DashScope simples. A chave da API é lida de WEB_SEARCH_API_KEY se definida, caso contrário, de DASHSCOPE_API_KEY. Se o endpoint for um gateway em seu próprio domínio, liste esse host em WEB_SEARCH_ALLOWED_HOSTS (ou tools.webSearch.allowedHosts) — caso contrário, a lista incorporada é a única aceita pela verificação. Uma configuração incorreta ainda aparece como um aviso na inicialização.

Notas:

  • Para busca explícita do DashScope, o seletor deve resolver para uma entrada modelProviders compatível com DashScope carregando uma chave de API direta via envKey. Seu modelo principal pode ser de qualquer provedor. O provedor legado gratuito Qwen OAuth não pode suportar este caminho; a busca por Assinatura Qwen usa o serviço MCP separado descrito acima.
  • O registro da busca é reavaliado após mudanças bem-sucedidas de autenticação. Entrar na Assinatura Qwen habilita a busca na sessão atual sem reiniciar. Desativação explícita, modo seguro/bare e regras de permissão de ferramentas ainda se aplicam.
  • A detecção automática de host aceita intencionalmente apenas hosts regionais conhecidos do DashScope, Model Studio e hosts MaaS da QwenCloud (incluindo seus subdomínios de assinatura token-plan.), além de hosts internos da Alibaba. Gateways genéricos *.alicloudapi.com, DASHSCOPE_PROXY_BASE_URL e qualquer host que você tenha adicionado apenas em allowedHosts são excluídos desse caminho automático, pois ele é executado sem sua intervenção e poderia entregar a chave do seu provedor principal a um host não declarado. Para um gateway que você declara explicitamente, liste-o em tools.webSearch.allowedHosts e aponte WEB_SEARCH_BASE_URL (ou uma entrada modelProviders) para ele.
  • Se habilitada explicitamente mas mal configurada, a ferramenta permanece desligada e um aviso de inicialização explica qual condição falhou. A ativação automática nunca emite um aviso.
  • As buscas no DashScope cobram sua chave DashScope (usage.x_tools conta). O modo de aprovação automática (padrão) permite que o classificador aprove buscas sem solicitar confirmação; no modo de aprovação default, a ferramenta pergunta, e aprovar com “permitir sempre” persiste uma regra de permissão padrão WebSearch, como ocorre com outras ferramentas.
  • Não há lista de permissão de modelo no lado do cliente; um modelo que o endpoint Responses não serve falha de forma explícita no primeiro uso.
  • Uma busca que excede seu orçamento de tempo retorna o que chegou como resultado parcial quando pelo menos uma chamada de busca foi concluída; se o orçamento expira antes da primeira chamada de busca terminar, a ferramenta reporta um erro de timeout, porque narração sem busca executada não é evidência auditável. Quando uma chamada de busca foi concluída mas a resposta narrada nunca chegou, o resultado carrega no máximo 6.000 caracteres do texto da página que o agente havia lido, rotulado como conteúdo bruto de página.
  • O limite por sessão conta chamadas da ferramenta web_search, não as buscas que uma chamada executa internamente, e uma chamada que falha ainda conta porque a requisição foi enviada. Uma chamada ignorada não é um erro: ela informa ao modelo que o orçamento foi usado e para pedir que você aumente tools.webSearch.maxPerSession se mais buscas forem genuinamente necessárias.

Alternativas MCP

Se seu provedor não puder suportar a ferramenta integrada, a pesquisa na web está disponível conectando um servidor MCP externo — consulte os serviços abaixo.

⚠️ Mudança Significativa Histórica: web_search integrado original removido

Versões afetadas: V0.0.7+ até a última versão com a busca web integrada multi-provedor original.

A ferramenta web_search integrada original (multi-provedor Tavily/Google/GLM/DashScope) e sua configuração foram removidas. A ferramenta integrada documentada acima é uma implementação diferente com configuração diferente. Se você estava usando qualquer um dos seguintes, migre para a nova ferramenta integrada (DashScope) ou para MCP:

RemovidoO que fazer
Bloco webSearch em settings.jsonConfigure um servidor MCP em mcpServers em vez disso (veja abaixo)
advanced.tavilyApiKey em settings.jsonUse o servidor MCP Tavily
Variável de ambiente TAVILY_API_KEYUse o servidor MCP Tavily
DASHSCOPE_API_KEY para pesquisa na webUse a ferramenta web_search integrada
GLM_API_KEY para pesquisa na webUse o GLM WebSearch Prime MCP
Flags CLI --tavily-api-key / --glm-api-key / --dashscope-api-keyConfigure via mcpServers em settings.json

Exemplos de Migração

Antes (Tavily via ferramenta integrada):

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

Depois (Tavily via MCP):

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

Antes (DashScope via ferramenta integrada):

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

Depois (Alibaba Cloud Bailian WebSearch via MCP):

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

Serviços de Pesquisa na Web MCP Suportados

WebSearch da Alibaba Cloud Bailian

O serviço oficial de pesquisa na web MCP fornecido pela plataforma Alibaba Cloud Bailian, alimentado pelo DashScope. Se você tem uma chave DashScope, prefira a ferramenta web_search integrada acima — ela usa um caminho de busca mais forte que este serviço MCP.

Configuração

Método 1: Comando CLI

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

Método 2: settings.json

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

Substitua ${DASHSCOPE_API_KEY} pela sua chave de API real, ou defina-a como uma variável de ambiente para que o Qwen Code a reconheça automaticamente.


Tavily WebSearch

Um servidor MCP pronto para produção que oferece recursos de pesquisa na web em tempo real, extração, mapeamento e rastreamento.

Ferramentas Disponíveis

  • tavily_search — Pesquisa na web em tempo real
  • tavily_extract — Extração inteligente de dados de páginas web
  • tavily_map — Criar um mapa estruturado de um site
  • tavily_crawl — Explorar sites de forma sistemática

Configuração

Método 1: Comando CLI (MCP Remoto)

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

Método 2: settings.json (MCP Remoto)

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

Substitua ${TAVILY_API_KEY} pela sua chave de API real, ou defina-a como uma variável de ambiente.

Método 3: settings.json (NPX Local)

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

GLM WebSearch Prime (ZhipuAI)

O serviço Remote MCP oficial de busca na web fornecido pela ZhipuAI (智谱AI), projetado para usuários do GLM Coding Plan. Fornece busca na web em tempo real, incluindo notícias, preços de ações, clima e muito mais.

Ferramentas Disponíveis

  • webSearchPrime — Pesquisa na web que retorna título da página, URL, resumo, nome do site e favicon

Configuração

Método 1: Comando 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}"

Método 2: settings.json

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

Substitua ${GLM_API_KEY} pela sua chave de API ZhipuAI real, ou defina-a como uma variável de ambiente.


Firecrawl

O servidor MCP hospedado oficial da Firecrawl, fornecendo busca na web, scraping de páginas, crawling e mapeamento de sites, interação com navegador e análise de arquivos. Os resultados da busca podem incluir o conteúdo de cada página em Markdown, permitindo que o modelo leia suas fontes sem uma etapa separada de fetch. O servidor hospedado funciona sem chave de API para busca, scraping e análise. As consultas de busca, as URLs que você solicita para leitura e os arquivos analisados são enviados à Firecrawl.

Ferramentas Disponíveis

  • firecrawl_search — Busca na web, opcionalmente retornando o conteúdo da página de cada resultado em Markdown
  • firecrawl_scrape — Obter uma única página em Markdown limpo
  • firecrawl_parse — Converter um arquivo local (PDF, Word, planilha e outros) para Markdown

Com uma chave de API, o servidor também oferece ferramentas para mapear e rastrear sites, interagir com páginas (clicar, digitar, navegar) e buscar fontes de desenvolvedores, como issues e docs do GitHub.

Configuração

Método 1: Comando CLI (MCP Remoto)

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

Para experimentar sem uma chave, omita a linha -H. Você obtém firecrawl_search, firecrawl_scrape e firecrawl_parse dentro de um limite diário por IP.

Método 2: settings.json (MCP Remoto)

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

Substitua ${FIRECRAWL_API_KEY} pela sua chave de API real ou defina-a como uma variável de ambiente. Se a chave estiver vazia, o servidor ainda se conecta, mas oferece apenas as três ferramentas sem chave.

Método 3: settings.json (NPX Local)

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

SerpApi

O servidor MCP hospedado oficial da SerpApi, fornecendo resultados de busca estruturados em tempo real do Google, Baidu, Bing e outros mecanismos de busca através de uma única ferramenta. As consultas de busca e seus parâmetros são enviados à SerpApi.

Ferramentas Disponíveis

  • search — Busca na web, opcionalmente retornando resultados em Markdown

Configuração

Método 1: Comando CLI

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

Método 2: settings.json

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

Substitua ${SERPAPI_API_KEY} pela sua chave de API real ou defina-a como uma variável de ambiente. A chave é necessária apenas para buscas. Sem uma chave de API válida, o servidor ainda se conecta e lista suas ferramentas, mas search retorna um erro.


looot

Um servidor MCP hospedado da looot com busca na web, resultados SERP do Google, busca de notícias e leitura de páginas da web. As consultas de busca e as URLs que você solicita para leitura são enviadas à looot.

  • Documentação: https://docs.looot.ai 
  • Custo: Pago (saldo pré-pago, sem nível gratuito)
  • Obter Chave de API: https://looot.ai 
  • Ideal para: Busca na web, resultados SERP do Google e notícias, e leitura de uma página como texto

Ferramentas Disponíveis

  • web_search — Busca na web
  • google_search_results — Resultados SERP do Google
  • news_search — Busca de notícias
  • read_web_page — Ler uma única página como texto

O servidor também expõe buscas de empresas e e-mails.

Configuração

Método 1: Comando CLI (MCP Remoto)

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

Método 2: settings.json (MCP Remoto)

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

Substitua ${LOOOT_API_KEY} pela sua chave de API real, ou defina-a como uma variável de ambiente.


Last updated on