# Инструменты и возможности ## Обзор Инструменты, это действия, которые ваши агенты могут выполнять в ходе разговоров. Когда агенту нужно просмотреть веб-страницу, выполнить команду, прочитать файл или управлять устройством, он использует инструменты. Neotask предоставляет богатый набор встроенных инструментов, охватывающих управление файлами, выполнение кода, автоматизацию браузера, управление устройствами, обмен сообщениями, веб-поиск и многое другое. ## Операции с файлами Агенты могут читать, записывать и редактировать файлы в своём рабочем пространстве: - **Read**, читать содержимое файла - **Write**, создавать или перезаписывать файлы - **Edit**, вносить целевые правки в конкретные части файла - **Apply Patch**, применять многострочные унифицированные диффы для сложных изменений файлов ## Выполнение кода Агенты могут выполнять команды оболочки с настраиваемой изоляцией: - **Выполнение на Gateway**, запускать команды непосредственно на машине, хостящей Gateway - **Выполнение в sandbox**, запускать команды в изолированных Docker-контейнерах с ограничениями ресурсов - **Выполнение на узле**, запускать команды на подключённых компаньон-устройствах (узлы macOS, Linux) ### Функции выполнения - Настраиваемые таймауты (по умолчанию 30 минут) - Управление фоновыми заданиями (список, опрос, завершение, очистка) - Автоматический перевод в фоновый режим для долго работающих команд - Поддержка TTY для интерактивных программ - Расширенный режим для привилегированных операций (только хост Gateway) ### Процессы подтверждения Чувствительные команды могут требовать подтверждения пользователя перед выполнением: - **Allowlist**, выполняются только предварительно одобренные команды - **Ask**, неизвестные команды запрашивают подтверждение - **Full**, без ограничений ## Автоматизация браузера Агенты управляют полноценным браузером на основе Chromium (Chrome, Brave или Edge): ### Действия - **Navigate**, открывать URL и перемещаться между страницами - **Interact**, нажимать, вводить, наводить курсор, перетаскивать, выбирать, заполнять формы - **Capture**, делать скриншоты, экспортировать PDF - **Inspect**, делать снимки DOM или дерева доступности - **Execute**, выполнять JavaScript в контексте страницы - **Upload**, загружать файлы в веб-формы - **Manage**, обрабатывать диалоги (оповещения, подтверждения), читать вывод консоли ### Профили браузера Несколько изолированных профилей браузера для разделения аккаунтов: - Каждый профиль имеет собственные куки, хранилище и историю - Автоматически назначаемые порты CDP для программного управления - Поддержка удалённого браузера (подключение к браузерам на других машинах) ## Canvas и A2UI Система Agent-to-UI (A2UI) позволяет агентам отрисовывать интерактивный визуальный контент на подключённых устройствах: - **Present**, отображать веб-страницы или пользовательский контент в canvas устройства - **Navigate**, управлять тем, что отображается в окне canvas - **Evaluate**, выполнять JavaScript в контексте canvas - **Snapshot**, захватывать то, что в данный момент отображается - **A2UI Push**, отправлять структурированные обновления UI (JSONL-нагрузки) в canvas - **A2UI Reset**, очищать состояние canvas Отрисовка canvas доступна на macOS (WebKit), iOS (SwiftUI), Android (Jetpack Compose) и веб (WebChat). ## Возможности устройств через узлы Через подключённые компаньон-приложения агенты могут: ### Камера - **Snap**, делать фото (передняя или задняя камера) - **Clip**, записывать видеоклипы с настраиваемой длительностью и FPS ### Экран - **Record**, захватывать запись экрана с настраиваемой длительностью и качеством ### Геолокация - **Get**, получать GPS-координаты с выбором точности ### Уведомления - **Notify**, отправлять нативные уведомления ОС с заголовком, текстом и приоритетом ### Системные команды - **Run**, выполнять команды оболочки на узловом устройстве - **Which**, проверять, доступна ли команда на узле ## Обмен сообщениями Агенты могут отправлять и управлять сообщениями по подключённым каналам: - **Send**, отправлять сообщения на любой подключённый канал/получателю - **Edit**, редактировать ранее отправленные сообщения - **React**, добавлять реакции на сообщения - **Thread**, создавать треды и отвечать внутри них - **Poll**, создавать опросы на поддерживаемых платформах - **Voice**, проверять статус голосового канала (Discord) ## Веб - **Search**, поиск в интернете через Brave Search API - **Fetch**, получать веб-страницы и конвертировать HTML в markdown/текст ## Память и контекст - **Memory Search**, поиск по векторному сходству в файлах памяти агента - **Memory Get**, получать конкретные файлы памяти по имени ## Управление сессиями - **List Sessions**, просматривать активные сессии по агентам - **Session History**, получать транскрипт для любой сессии - **Send to Session**, отправлять сообщения в другие сессии агентов - **Spawn Sub-Agent**, запускать изолированные запуски суб-агентов - **List Agents**, просматривать доступных агентов ## Автоматизация - **Cron**, создавать, редактировать, запускать и управлять запланированными заданиями - **Gateway**, перезапускать Gateway, применять изменения конфигурации, запускать обновления ## Анализ изображений Агенты могут анализировать изображения с использованием настроенных моделей зрения, описывать содержимое, извлекать текст, идентифицировать объекты и отвечать на вопросы о визуальном контенте. ## Группы инструментов Инструменты организованы в группы для удобного управления разрешениями: | Группа | Инструменты | |-------|-------| | **runtime** | exec, bash, process | | **fs** | read, write, edit, apply_patch | | **sessions** | sessions_list, sessions_history, sessions_send, sessions_spawn, session_status | | **memory** | memory_search, memory_get | | **web** | web_search, web_fetch | | **ui** | browser, canvas | | **automation** | cron, gateway | | **messaging** | message | | **nodes** | nodes |