research
Deep-поиск ОДНИМ вызовом — норматив «10 источников» за один ход. queries — несколько формулировок запроса (агент сам планирует подзапросы, паттерн gpt-researcher); сервер ищет по каждой, дедуплицирует URL и возвращает список со сниппетами.
Instructions
Deep-поиск ОДНИМ вызовом — норматив «10 источников» за один ход. queries — несколько формулировок запроса (агент сам планирует подзапросы, паттерн gpt-researcher); сервер ищет по каждой, дедуплицирует URL и возвращает список со сниппетами.
⚠️ ЭТОТ ВЫЗОВ НЕ СЧИТАЕТСЯ В БЮДЖЕТЕ КАМПАНИИ (search_calls): research() — «в воздух» (нет camp_id); для бюджета используй research_start (кампания) — там волны считаются кросстаблично в campaigns.search_calls (budget_review.py / research_status). fetch_top>0 — сразу читает топ-N источников (тексты статей).
Режим «20+ источников, не топы» (реальный ресёрч):
target_domains=N — цель по РАЗНЫМ доменам (20 = двадцать разных сайтов). Пока не набрали — доборка волнами: базовые запросы, потом follow-up из термов сниппетов, потом пагинация.
domains_limit=K — не больше K источников с одного домена.
expand=True — к каждому запросу переформулировки («X comparison», «X documentation») — свежие домены и углы.
terms_wave=True — вторая волна из РЕДКИХ ТЕРМОВ первой волны (имена, названия из сниппетов) — паттерн Open Deep Research.
quality_first=True — отбор по качеству домена: доки/GitHub/arXiv первыми, форумы вниз (паттерн gpt-researcher source ranking).
fetch_all=True — тексты ВСЕХ отобранных, а не топ-N.
as_json=True — машинный JSON: meta (счётчики, follow-up запросы), sources (title/url/domain/tier/tier_label/snippet), texts, notes. Идеален для автоматизации и синтеза агентом.
academic=True — вертикальный АКАДЕМИЧЕСКИЙ канал: arXiv + Semantic Scholar (бесплатные API, без ключей) — первоисточники (tier 0), которых DDG почти не видит (паттерн Exa vertical index).
llm_planner=True — LLM (DeepSeek/Ollama) генерирует 10 follow-up запросов как в gpt-researcher/STORM (Layer B, опционально, требует DEEPSEEK_API_KEY или OLLAMA_HOST, иначе пропуск). Пример глубокого ресёрча: research(queries=["deep research agents"], target_domains=20, domains_limit=2, expand=True, terms_wave=True, quality_first=True, academic=True, llm_planner=True, fetch_all=True, as_json=True, max_results_per_query=6) Результат кэшируется на сутки. КОГДА: «собери 10-20+ источников» ОДНИМ вызовом, результат нужен сейчас (без кампании). НЕ КОГДА: нужен прогресс/статус и бюджет search_calls → research_start (кампания в sqlite); нужен только топ-5 → web_search.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | ||
| as_json | No | ||
| queries | Yes | ||
| academic | No | ||
| fetch_all | No | ||
| fetch_top | No | ||
| max_chars | No | ||
| terms_wave | No | ||
| llm_planner | No | ||
| article_only | No | ||
| max_parallel | No | ||
| domains_limit | No | ||
| quality_first | No | ||
| target_domains | No | ||
| max_results_per_query | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |