# WebSearch

Виконує живий веб-пошук і повертає ранжовані результати, які асистент використовує, щоб обґрунтувати свою відповідь у поточній інформації поза межею навчання моделі.

## Коли використовувати

- Відповіді на запитання про поточні події, нещодавні релізи чи термінові новини.
- Пошук останньої версії бібліотеки, фреймворка чи CLI-інструмента.
- Знаходження документації чи блог-постів, коли точний URL невідомий.
- Перевірка факту, який міг змінитися з моменту навчання моделі.
- Виявлення кількох перспектив на тему перед отриманням будь-якої окремої сторінки через `WebFetch`.

## Параметри

- `query` (string, обовʼязковий): Пошуковий запит. Мінімальна довжина 2 символи. Включайте поточний рік, коли запитуєте про "latest" чи "recent" інформацію, щоб результати були свіжими.
- `allowed_domains` (array of strings, необовʼязковий): Обмежує результати лише цими доменами, наприклад `["nodejs.org", "developer.mozilla.org"]`. Корисно, коли ви довіряєте конкретному джерелу.
- `blocked_domains` (array of strings, необовʼязковий): Виключає результати з цих доменів. Не передавайте той самий домен у `allowed_domains` і `blocked_domains`.

## Приклади

### Приклад 1: Пошук версії з поточним роком

```
WebSearch(
  query="React 19 stable release date 2026",
  allowed_domains=["react.dev", "github.com"]
)
```

Повертає офіційні оголошення та уникає сайтів-агрегаторів низької якості.

### Приклад 2: Виключення шумних джерел

```
WebSearch(
  query="kubernetes ingress-nginx CVE April 2026",
  blocked_domains=["pinterest.com", "medium.com"]
)
```

Утримує результати сфокусованими на рекомендаціях постачальників і трекерах безпеки.

## Примітки

- Коли ви використовуєте `WebSearch` у відповіді, ви повинні додати розділ `Sources:` в кінці вашої відповіді, перелічуючи кожен цитований результат як Markdown-гіперпосилання у формі `[Title](URL)`. Це жорстка вимога, а не опціональна.
- `WebSearch` доступний лише користувачам у Сполучених Штатах. Якщо інструмент недоступний у вашому регіоні, поверніться до `WebFetch` на відомий URL або попросіть користувача вставити релевантний вміст.
- Кожен виклик виконує пошук за один круговий рейс — ви не можете стримити чи розбивати на сторінки. Уточніть запит, якщо перший набір результатів невдалий.
- Інструмент повертає фрагменти й метадані, а не повний вміст сторінок. Щоб детально прочитати конкретний результат, продовжіть `WebFetch`, використовуючи повернутий URL.
- Використовуйте `allowed_domains` для примусового авторитетного джерельного добору для чутливих до безпеки запитань, таких як CVE чи відповідність, і `blocked_domains`, щоб відсікти SEO-ферми, що дзеркалять документацію.
- Тримайте запити короткими й орієнтованими на ключові слова. Природномовні запитання працюють, але схильні повертати розмовні відповіді, а не первинні джерела.
- Не вигадуйте URL на основі пошукової інтуїції — завжди виконуйте пошук і цитуйте те, що інструмент насправді повернув.
