Настройка инструментов OpenClaw: браузер, код, поиск и файлы

OpenClaw — это self-hosted AI-ассистент, который умеет не просто отвечать на вопросы, а реально работать: открывать браузер, запускать команды, искать в интернете, читать и редактировать файлы. Всё это работает через встроенные инструменты (tools), которые можно включать, выключать и настраивать под свои задачи. В этой статье — полный разбор каждого инструмента: что делает, как настроить и когда использовать.

Что такое инструменты в OpenClaw

Инструменты (tools) — это функции, которые агент вызывает сам, когда ему нужно что-то сделать. Вы пишете «найди в интернете рецепт борща» — агент вызывает web_search. Просите «прочитай файл config.json» — вызывает read. Это не скрипты, которые вы запускаете вручную, а возможности, которые агент использует автоматически.

Все инструменты настраиваются через конфигурационный файл агента. По умолчанию большинство базовых инструментов уже включены — но их можно ограничить, переключить провайдеров или добавить новые.

Обзор инструментов

Инструмент Что делает
**exec** Выполнение shell-команд на сервере
**browser** Управление браузером (открыть страницу, кликнуть, заполнить форму)
**web_search** Поиск в интернете через разные провайдеры
**web_fetch** Загрузка и чтение веб-страниц (HTML → текст)
**read / write / edit** Работа с файлами на сервере
**image** Анализ изображений (распознавание, описание)
**image_generate** Генерация изображений по текстовому описанию
**tts** Озвучка текста (text-to-speech)
**pdf** Анализ PDF-документов
**memory** Поиск по памяти агента

Поиск в интернете: web_search

Инструмент web_search ищет информацию через настроенный поисковый провайдер. Результаты кешируются на 15 минут — повторный запрос по тому же вопросу не тратит API-лимиты.

Доступные провайдеры

Провайдер Нужен API-ключ Особенности
**Brave** `BRAVE_API_KEY` Структурированные результаты, фильтры по стране и языку. Есть бесплатный тариф
**DuckDuckGo** Не нужен Работает без ключа — бесплатный fallback
**Gemini** `GEMINI_API_KEY` AI-ответы с цитатами через Google Search
**Grok** `XAI_API_KEY` AI-ответы с цитатами через xAI
**Perplexity** `PERPLEXITY_API_KEY` Структурированные результаты с фильтрами
**Tavily** `TAVILY_API_KEY` Структурированные результаты + извлечение URL
**Exa** `EXA_API_KEY` Neural + keyword поиск с извлечением контента
**SearXNG** Не нужен (self-hosted) Мета-поиск, агрегирует Google, Bing, DuckDuckGo

Если провайдер не указан в конфиге, OpenClaw автоматически выбирает первый доступный по приоритету: Brave → Gemini → Grok → Perplexity → Firecrawl → Exa → Tavily → DuckDuckGo.

Как настроить

В конфигурационном файле агента (config.jsonc или config.json):

{
  "tools": {
    "web": {
      "search": {
        "enabled": true,
        "provider": "brave",
        "maxResults": 5,
        "timeoutSeconds": 30,
        "cacheTtlMinutes": 15
      }
    }
  }
}

API-ключи задаются через переменные окружения. Например, для Brave:

export BRAVE_API_KEY="ваш-ключ"

Достаточно просто создать бесплатный аккаунт на brave.com/search/api и получить ключ. DuckDuckGo работает вообще без ключа — хороший вариант, если не хотите регистрироваться нигде.

Чтение веб-страниц: web_fetch

web_fetch загружает страницу по URL и конвертирует HTML в читаемый текст (markdown). Это полезно, когда агенту нужно прочитать конкретную статью или документацию — он не ищет, а открывает уже известный адрес.

Важный момент: web_fetch не выполняет JavaScript. Если страница динамическая (React, Vue, SPA) — контент может не загрузиться. В таких случаях используйте browser.

Параметры

web_fetch(url="https://example.com", maxLength=10000, extractMode="markdown")
  • url — адрес страницы (обязательно)
  • maxLength — максимальная длина текста в символах
  • extractMode — формат: markdown (по умолчанию) или text
  • Конфигурация

    {
      "tools": {
        "web": {
          "fetch": {
            "enabled": true,
            "timeoutSeconds": 30,
            "maxContentLength": 50000,
            "userAgent": "OpenClaw/1.0"
          }
        }
      }
    }
    

    Полноценный браузер: browser

    Это самый мощный инструмент для работы с интернетом. В отличие от web_fetch, браузер умеет кликать по кнопкам, заполнять формы, логиниться в сервисы, делать скриншоты и работать с JavaScript-сайтами.

    OpenClaw использует два браузерных движка:

  • Chromium (CDP/Playwright) — полный контроль: клики, формы, скриншоты, навигация
  • Lobster (lightpanda) — лёгкий headless-браузер для чтения (без GUI)
  • Когда использовать браузер вместо web_fetch

    Задача Инструмент
    Прочитать статью по URL web_fetch
    Найти информацию в поиске web_search
    Кликнуть по кнопке на сайте browser
    Заполнить и отправить форму browser
    Залогиниться в сервис browser
    Сделать скриншот страницы browser
    Работать с SPA/JS-сайтами browser

    Настройка Chromium

    {
      "tools": {
        "browser": {
          "enabled": true,
          "engine": "chromium",
          "headless": true,
          "timeout": 30000,
          "viewport": {
            "width": 1280,
            "height": 720
          }
        }
      }
    }
    

    Стелс-режим

    Для обхода антибот-защиты (Cloudflare, DataDome) можно включить стелс-плагин:

    {
      "plugins": {
        "entries": {
          "browserbase": {
            "enabled": true,
            "config": {
              "stealth": true
            }
          }
        }
      }
    }
    

    Работа с файлами: read, write, edit

    Четыре инструмента для файловых операций:

  • read — прочитать файл (с номерами строк, пагинацией)
  • write — записать файл (полная перезапись)
  • edit — найти и заменить текст в файле (патч)
  • apply_patch — многофайловые патчи (аналог git apply)
  • Примеры использования

    Прочитать файл:

    read(path="/home/user/config.json", offset=1, limit=50)
    

    Записать файл:

    write(path="/home/user/notes.md", content="# Заметки\n\nТекст")
    

    Редактировать (найти и заменить):

    edit(path="/home/user/config.json", old_string="\"debug\": false", new_string="\"debug\": true")
    

    Безопасность

    По умолчанию агент работает в sandbox-директории. Доступ к файлам за её пределами зависит от настроек безопасности. Если нужно дать агенту доступ к определённым путям — настройте allowedPaths в конфиге.

    Выполнение команд: exec

    Инструмент exec запускает shell-команды на сервере. Это как терминал, но управляемый агентом.

    Основные параметры

    Параметр По умолчанию Описание
    `command` Shell-команда (обязательно)
    `workdir` текущая директория Рабочая директория
    `timeout` 1800 Таймаут в секундах
    `background` false Фоновый запуск
    `pty` false Псевдо-терминал (для интерактивных CLI)

    Foreground и Background

    Foreground — агент ждёт завершения команды:

    exec(command="ls -la /home/user")
    

    Background — команда запускается в фоне, агент продолжает работу:

    exec(command="npm run build", background=true)
    

    Для управления фоновыми процессами используется инструмент process:

  • process(action="list") — список запущенных
  • process(action="poll", session_id="...") — проверить статус
  • process(action="wait", session_id="...", timeout=60) — ждать завершения
  • process(action="kill", session_id="...") — остановить
  • Где запускаются команды

    Значение `host` Где выполняется
    `auto` (по умолчанию) В sandbox-контейнере, если активен, иначе на хосте Gateway
    `sandbox` В изолированном контейнере
    `gateway` На хосте сервера
    `node` На подключённом устройстве

    Медиа-инструменты

    Генерация изображений

    image_generate создаёт картинки по текстовому описанию. Поддерживает несколько провайдеров:

    Провайдер Модель API-ключ
    OpenAI gpt-image-2 `OPENAI_API_KEY`
    Google gemini-3.1-flash-image-preview `GEMINI_API_KEY`
    xAI grok-imagine-image `XAI_API_KEY`
    fal flux/dev `FAL_KEY`

    Настройка модели:

    {
      "agents": {
        "defaults": {
          "imageGenerationModel": {
            "primary": "openai/gpt-image-2",
            "fallbacks": ["google/gemini-3.1-flash-image-preview"]
          }
        }
      }
    }
    

    TTS (Text-to-Speech)

    Озвучка текста. Поддерживает OpenAI, ElevenLabs, Google и другие провайдеры. Агент может отправлять голосовые сообщения в Telegram, Discord и другие мессенджеры.

    PDF

    Анализ PDF-документов. Для Anthropic и Google — нативный режим (модель напрямую читает PDF). Для остальных — fallback через конвертацию.

    {
      "agents": {
        "defaults": {
          "pdfModel": "anthropic/claude-sonnet-4-6"
        }
      }
    }
    

    Навыки (Skills) и плагины

    Навыки

    Навыки (skills) — это наборы инструкций, которые учат агента работать с конкретными задачами. Каждый навык — папка с файлом SKILL.md.

    openclaw skills list                    # установленные навыки
    openclaw skills install навык-слаг      # установить из ClawHub
    openclaw skills update --all            # обновить все
    

    ClawHub

    ClawHub — публичный реестр скиллов и плагинов. Можно найти готовые навыки для календаря, почты, задач и других интеграций.

    openclaw skills search "calendar"
    openclaw skills install календарь-слаг
    

    Плагины

    Плагины расширяют OpenClaw на уровне движка: добавляют каналы, провайдеры, голосовые возможности и другое.

    openclaw plugins list                   # что загружено
    openclaw plugins install @openclaw/voice-call  # установить
    openclaw plugins enable voice-call       # включить
    

    Конфигурация плагина:

    {
      "plugins": {
        "enabled": true,
        "allow": ["voice-call"],
        "entries": {
          "voice-call": {
            "enabled": true,
            "config": { "provider": "twilio" }
          }
        }
      }
    }
    

    Защита от петель

    Иногда агент может застрять в цикле — вызывать один и тот же инструмент снова и снова. Для этого есть обнаружение петель (loop detection). По умолчанию отключено:

    {
      "agents": {
        "defaults": {
          "tools": {
            "loopDetection": {
              "enabled": true,
              "maxConsecutiveIdentical": 5,
              "windowSeconds": 60
            }
          }
        }
      }
    }
    

    Если агент вызвал один и тот же инструмент 5 раз подряд за 60 секунд — система прервёт цикл.

    Практические советы

  • Начните с простого. По умолчанию OpenClaw уже настроен на работу: web_search с автоподбором провайдера, exec в sandbox, базовые файловые операции. Не нужно настраивать всё сразу.
  • DuckDuckGo как запасной вариант. Если не хотите регистрировать API-ключи — DuckDuckGo работает бесплатно и без ключа. Качество хуже, чем у Brave или Tavily, но для базового поиска достаточно.
  • Используйте browser для сложных задач. Если web_fetch не справляется (страница не загружается, контент динамический) — переключайтесь на browser. Это медленнее, но надёжнее.
  • Ограничивайте exec. Если агент работает с важными данными — настройте sandbox и ограничьте доступ к критичным директориям. Лучше дать агенту доступ только к нужным папкам.
  • Проверяйте навыки. Перед установкой навыка из ClawHub — почитайте его SKILL.md. Навыки могут содержать любые инструкции, и от них зависит поведение агента.
  • Где узнать больше

  • Документация OpenClaw — полный справочник по всем инструментам
  • Браузер и веб-поиск — детальная настройка web_search, web_fetch и browser
  • Код и файлы — exec, файловые операции, apply_patch
  • Медиа-возможности — генерация изображений, видео, TTS
  • ClawHub — каталог скиллов и плагинов