Справочник встроенных инструментов
У Agent есть набор встроенных инструментов, которые AI может автоматически вызывать во время диалога. Эти инструменты доступны по умолчанию в постоянных диалогах, и разработчикам скриптов обычно не нужно вызывать их напрямую — AI сам выбирает подходящий инструмент исходя из намерения пользователя.
Понимание возможностей этих инструментов помогает писать лучшие системные промпты и пользовательские инструменты.
Получение веб-данных
web_fetch
Загружает содержимое URL, поддерживая извлечение текста из HTML и суммаризацию LLM.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
url | string | Да | Целевой URL (только http/https) |
prompt | string | Нет | Промпт суммаризации (при указании LLM используется для сжатия содержимого) |
max_length | number | Нет | Максимальное число символов содержимого |
Подробности поведения:
- Таймаут запроса 30 секунд
- Из HTML автоматически извлекается основное тело (навигация, боковые панели и т.д. удаляются)
- JSON-ответы автоматически разбираются
- Обычный текст возвращается как есть
- При указании
promptзагруженное содержимое отправляется в LLM для суммаризации
Возвращаемое значение:
{
"url": "https://example.com",
"content_type": "text/html",
"content": "The extracted body content...",
"truncated": false,
"final_url": "https://example.com/redirected"
}
web_search
Запрашивает поисковую систему и возвращает структурированные результаты поиска.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
query | string | Да | Поисковые ключевые слова |
max_results | number | Нет | Максимальное число результатов (по умолчанию 5, максимум 10) |
Поддерживаемые поисковые системы:
| Система | Описание | Требуется настройка |
|---|---|---|
| DuckDuckGo | Система по умолчанию | Настройка не нужна |
| Bing | Microsoft Bing Search | Нужен API Key |
| Baidu | Baidu Search | API Key не нужен |
| Google Custom Search | Google Custom Search | Нужны API Key + CSE ID |
Поисковые сист емы настраиваются в панели управления: Agent → Настройки.
Возвращаемое значение:
[
{
"title": "Search result title",
"url": "https://example.com/result",
"snippet": "Result snippet text..."
}
]
get_tab_content
Читает отрисованное содержимое страницы заданной вкладки, преобразуя его в структурированный Markdown с аннотациями CSS-селекторов.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
tab_id | number | Да | ID вкладки |
selector | string | Нет | CSS-селектор; извлекается только совпадающая часть |
prompt | string | Нет | Промпт суммаризации |
max_length | number | Нет | Максимальное число символов содержимого |
Отличие от web_fetch: get_tab_content читает страницу уже отрисованную браузером (включая динамический JS-контент), тогда как web_fetch делает новый HTTP-запрос.
Возвращаемое зн ачение:
{
"tab_id": 123,
"url": "https://example.com",
"title": "Page title",
"content": "Structured content...",
"truncated": false,
"used_selector": "main"
}
Управление вкладками
list_tabs
Запрашивает открытые вкладки с поддержкой нескольких условий фильтрации.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
url_pattern | string | Нет | Regex для сопоставления URL |
title_pattern | string | Нет | Regex для сопоставления заголовка |
active | boolean | Нет | Только активная вкладка |
window_id | number | Нет | Конкретное окно |
audible | boolean | Нет | Только вкладки, воспроизводящие аудио |
open_tab
Открывает новую вкладку или навигирует существующую.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
url | string | Да | Целевой URL |
tab_id | number | Нет | ID существующей вкладки (при указании навигирует её; иначе открывается новая) |
active | boolean | Нет | Активировать ли (по умолчанию true) |
window_id | number | Нет | Конкретное окно |
wait_until_loaded | boolean | Нет | Ждать ли окончания загрузки страницы (по умолчанию true) |
close_tab
Закрывает вкладку.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
tab_id | number | Да | ID вкладки |
activate_tab
Активирует вкладку и фокусирует её окно.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
tab_id | number | Да | ID вкладки |
Файловая система (OPFS)
opfs_write
Записывает файл в рабочее пространство.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
path | string | Да | Путь к файлу |
content | string | Да | Содержимое файла (бинарные данные через data URL) |
opfs_read
Читает файл из рабочего пространства. По умолчанию автоматически определяет тип: текстовые файлы возвращают содержимое, бинарные — blob URL.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
path | string | Да | Путь к файлу |
mode | string | Нет | "text" / "blob" / "auto" (по умолчанию), принудительный режим возврата |
offset | number | Нет | Начальный номер строки (с 1), только текстовый режим |
limit | number | Нет | Число строк для чтения, только текстовый режим (при более чем 200 строках нужна пагинация) |
opfs_list
Выводит содержимое каталога.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
path | string | Нет | Путь к каталогу (по умолчанию корневой) |
opfs_delete
Удаляет файл или каталог.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
path | string | Да | Путь к файлу/каталогу |
Взаимодействие с пользователем
ask_user
Задаёт пользователю вопрос: свободный ввод или структурированный выбор.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
question | string | Да | Текст вопроса |
options | string[] | Н ет | Список вариантов (при указании — вопрос с выбором) |
multiple | boolean | Нет | Разрешить множественный выбор (по умолчанию false) |
Таймаут: возвращает { answer: null, reason: "timeout" } после 5 минут без ответа.
Возвращаемое значение:
{ "answer": "The user's answer text" }
execute_script
Выполняет JavaScript-код на странице или в песочнице.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
code | string | Да | Код JavaScript |
target | string | Да | "page" или "sandbox" |
tab_id | number | Нет | Целевая вкладка, когда target — page (по умолчанию текущая активная) |
world | string | Нет | "MAIN" или "ISOLATED" (по умолчанию), только режим page |
Сравнение окружений выполнения:
| Окружение | DOM | JS страницы | Blob URL расширения | Сценарий |
|---|---|---|---|---|
| page + ISOLATED | Да | Нет | Да | Чтение DOM, извлечение контента |
| page + MAIN | Да | Да | Нет | Вызов функций страницы |
| sandbox | Нет | Нет | Нет | Чистые вычисления |
Подагенты
agent
Запускает независимый подагент для сложной подзадачи.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
prompt | string | Да | Описание подзадачи |
description | string | Нет | Короткая метка (3–5 слов, для UI) |
type | string | Нет | Тип подагента (см. ниже); по умолчанию "general" |
tab_id | number | Нет | ID вкладки, передаваемый подагенту для работы с ней |
Типы подагентов:
| type | Описание | Доступные инструменты |
|---|---|---|
researcher | Поиск информации (только чтение) | web_search, web_fetch, чтение содержимого страницы |
page_operator | Автоматизация браузера | Управление вкладками, операции DOM, взаимодействие со страницей |
general | Универсальный (по умолчанию) | Все инструменты |
Особенности:
- У подагента свой независимый контекст диалога
- Он не может использовать
ask_userилиagent(чтобы предотвратить рекурсию) - События подагента передаются родительскому диалогу через
sub_agent_event