Довідник вбудованих інструментів
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": "Extracted body content...",
"truncated": false,
"final_url": "https://example.com/redirected"
}
web_search
Запитує пошукову систему та повертає структуровані результати пошуку.
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
query | string | Так | Пошукові ключові слова |
max_results | number | Ні | Максимальна кількість результатів (за замовчуванням 5, верхня межа 10) |
Підтримувані пошукові системи:
| Система | Опис | Потрібна конфігурація |
|---|---|---|
| DuckDuckGo | Система за замовчуванням | Немає |
| Bing | Пошук Microsoft Bing | Потрібен ключ API |
| Baidu | Пошук Baidu | Ключ API не потрібен |
| Google Custom Search | Google Custom Search | Потрібен ключ API + ID CSE |
Пошукові системи налаштовуються на сторінці керування → Agent → Налаштування.
Значення, що повертається:
[
{
"title": "Search result title",
"url": "https://example.com/result",
"snippet": "Result summary 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 | Ні | Збіг URL за регулярним виразом |
title_pattern | string | Ні | Збіг назви за регулярним виразом |
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 (за замовчуванням поточна активна); ігнорується для пісочниці |
Порівняння середовищ виконання:
| Середовище | DOM | JS сторінки | Blob URL розширення | Найкраще для |
|---|---|---|---|---|
target: "page" (завжди MAIN світ) | так | так | ні | Читання/маніпулювання DOM, виклик функцій сторінки, читання змінних сторінки |
target: "sandbox" | ні | ні | ні | Чисті обчислення |
Режим
pageзавжди працює в MAIN світі сторінки, ділячисьwindowзі сторінкою — тому він не може отримати доступ до власних blob URL розширення (напр. адреси, якуopfs_readповертає в режимі blob). Використовуйте SkillScript, коли потрібно працювати з blob URL.
Суб-агенти
agent
Створює незалежного суб-агента для обробки складного підзавдання.
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
prompt | string | Так | Опис підзавдання |
description | string | Ні | Коротка мітка (кілька слів, для відображення в інтерфейсі) |
type | string | Ні | Тип суб-агента (див. нижче), за замовчуванням "general" |
tab_id | number | Ні | ID вкладки для передачі суб-агенту; суб-агент працюватиме на цій вкладці |
Типи суб-агентів:
| type | Опис | Доступні інструменти |
|---|---|---|
researcher | Пошук інформації (лише читання) | web_search, web_fetch, читання вмісту сторінки |
page_operator | Автоматизація браузера | Керування вкладками, операції з DOM, взаємодія зі сторінкою |
general | Загального призначення (за замовчуванням) | Усі інструменти |
Характеристики:
- Суб-агент має власний незалежний контекст розмови
- Він не може використовувати
ask_userабоagent(щоб запобігти рекурсії) - Події суб-агента передаються батьківській розмові через
sub_agent_event
Керування завданнями
Ця група інструментів керує тимчасовим списком завдань у межах розмови (у пам'яті, не зберігається).
create_task
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
subject | string | Так | Назва завдання |
description | string | Ні | Детальний опис |
update_task
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
task_id | string | Так | ID завдання |
status | string | Ні | "pending" / "in_progress" / "completed" |
subject | string | Ні | Нова назва |
description | string | Ні | Новий опис |
list_tasks
Без параметрів; повертає короткий список усіх завдань.
Інструменти керування завданнями призначені в основному для того, щоб AI відстежував власний прогрес під час обробки складних багатокрокових завдань; дані завдань не зберігаються.