Общая архитектура OpenClaw
OpenClaw — это ИИ-агент, который получает текстовую команду от пользователя и самостоятельно выполняет её, управляя операционной системой так же, как это делает человек: кликает мышью, вводит текст, открывает приложения, читает содержимое экрана.
Архитектура агента состоит из четырёх ключевых слоёв:
- LLM-ядро — языковая модель, которая «понимает» задачу и принимает решения.
- Tool Use / Computer Use API — механизм вызова инструментов и управления компьютером.
- Система навыков (Skills) — модульные сценарии для повторяемых задач.
- Слой разрешений — контроль того, что агент может делать, а что нет.
Все слои взаимодействуют через единый оркестратор — центральный компонент, который координирует выполнение задачи от первого шага до финального результата.
Подробное введение в возможности агента — в полном гиде по OpenClaw.
LLM-ядро: мозг агента
OpenClaw не привязан к одной языковой модели. Архитектура спроектирована как model-agnostic: можно использовать GPT-4o, Claude Sonnet, Gemini 1.5, Llama 3.3 или любую другую модель с поддержкой function calling / tool use.
Как LLM принимает решения
Когда пользователь отправляет команду, например «скачай прикреплённый PDF из последнего письма в Gmail», происходит следующее:
- Оркестратор формирует промпт с описанием задачи, доступных инструментов и текущего состояния системы.
- LLM возвращает не просто текст, а структурированный вызов инструмента:
browser.navigate("https://gmail.com"). - Оркестратор выполняет вызов и возвращает результат (скриншот, HTML, текст) обратно в модель.
- Модель анализирует результат и делает следующий шаг.
Этот цикл «наблюдение → мышление → действие» повторяется до выполнения задачи или достижения лимита шагов.
Поддерживаемые провайдеры
- OpenAI (GPT-4o, GPT-4.1)
- Anthropic (Claude Sonnet, Claude Opus)
- Google (Gemini 1.5 Pro, Gemini 2.0)
- Ollama (локальные модели: Llama, Mistral, Qwen)
- LM Studio и любой OpenAI-совместимый API
Computer Use API: как агент управляет компьютером
OpenClaw управляет компьютером через несколько механизмов в зависимости от задачи:
Браузер
Для работы с браузером используется Playwright — библиотека автоматизации, которая управляет Chrome, Firefox и Safari через DevTools Protocol. Агент может:
- Переходить по URL и кликать по элементам.
- Заполнять формы и отправлять данные.
- Делать скриншоты и читать DOM-дерево страницы.
- Перехватывать сетевые запросы.
Файловая система
Работа с файлами выполняется через встроенные Node.js API с проверкой разрешений:
- Чтение, запись, перемещение, удаление файлов.
- Рекурсивный обход директорий.
- Работа с архивами ZIP/TAR.
Нативные приложения
Управление нативными приложениями (Telegram, VS Code, Finder, и др.) реализовано через Accessibility API операционной системы:
- На macOS — через
AXUIElementи AppleScript. - На Windows — через UI Automation API.
- На Linux — через AT-SPI (Assistive Technology Service Provider Interface).
Агент «видит» элементы интерфейса как дерево объектов и может взаимодействовать с ними программно, без скриншотов.
Скриншоты и компьютерное зрение
Когда структурированный доступ к UI недоступен, OpenClaw делает скриншот экрана и передаёт его в мультимодальную LLM. Модель определяет, что находится на экране, и указывает координаты для клика.
Этот режим медленнее, но универсален — работает с любым приложением.
Gateway: сетевой слой OpenClaw (порт 18789)
OpenClaw запускается как долгоживущий сервис Node.js, который открывает HTTP/WebSocket-сервер на порту 18789 — это и есть Gateway. Через него проходит всё взаимодействие: команды от мессенджеров, запросы от Desktop App, API-вызовы от внешних систем (TaskFlows Webhook).
Почему порт 18789
18789 — нестандартный порт вне диапазона «известных» сервисов (1–1023). Это снижает вероятность конфликтов с другим ПО. При желании изменить его — через openclaw.json:
{
"gateway": {
"listen": {
"port": 9999,
"host": "127.0.0.1"
}
}
}
Критически важно: host: "127.0.0.1" означает, что Gateway доступен только с локальной машины. Если изменить на 0.0.0.0 — Gateway становится доступен из сети. Никогда не делайте это без firewall и аутентификации.
Channels vs Skills: принципиальное различие
Многие путают эти два понятия. Они работают на разных уровнях:
| Channels (Каналы) | Skills (Навыки) | |
|---|---|---|
| Уровень | Транспортный | Функциональный |
| Отвечает на вопрос | Откуда агент получает команды? | Что агент умеет делать? |
| Примеры | Telegram, Slack, WhatsApp, Discord, REST API | Анализ файла, отправка email, git push, SEO-аудит |
| Количество | 50+ из коробки | 6000+ в ClawHub |
| Конфиг | channels в openclaw.json | ~/.openclaw/skills/ |
| Аналогия | Телефонная линия | То, что вы говорите по телефону |
Канал — это «вход» для команд. Навык — это «инструмент» для выполнения команды.
Пример: вы пишете в Telegram (канал) «проанализируй мой сайт» → агент использует навык SEO-аудита (скилл) для выполнения.
Система навыков (Skills)
Навыки OpenClaw — это переиспользуемые модули автоматизации. Каждый навык описывает конкретный сценарий: «ответить на письмо», «сделать скриншот и отправить в Slack», «запустить тесты и исправить ошибки».
Структура навыка
Каждый навык представляет собой Markdown-файл (SKILL.md) с описанием и опциональным JavaScript/Python-кодом:
skill-name/
SKILL.md # описание и инструкции для LLM
handler.js # (опционально) логика выполнения
schema.json # (опционально) параметры навыка
Загрузка и выполнение навыков
При старте OpenClaw сканирует директорию ~/.openclaw/skills/ и загружает все доступные навыки. Когда пользователь даёт команду, оркестратор выбирает наиболее подходящий навык или строит план выполнения из нескольких навыков последовательно.
Навыки можно создавать самостоятельно или скачивать из реестра сообщества.
Локальное vs облачное выполнение
OpenClaw поддерживает два режима работы:
| Параметр | Облако (GPT/Claude) | Локально (Ollama) |
|---|---|---|
| Скорость | Высокая | Зависит от железа |
| Приватность | Данные уходят в API | Полная приватность |
| Качество | Отличное | Хорошее |
| Стоимость | По тарифу API | Бесплатно |
| Работа офлайн | Нет | Да |
Для задач с конфиденциальными данными рекомендуется локальный режим. Для повседневных задач — облачный, он точнее и быстрее.
Модель разрешений
OpenClaw работает по принципу явного согласия: агент не может выполнить действие, которое не разрешено в конфигурации.
Разрешения делятся на три уровня:
- Автоматические — чтение файлов из разрешённых директорий, навигация в браузере.
- С подтверждением — отправка сообщений, запись файлов, запуск программ.
- Всегда запрещено — доступ к паролям, системным файлам, операции за пределами явно разрешённых областей.
Пользователь задаёт разрешения в config.json. При попытке выполнить несанкционированное действие агент останавливается и запрашивает подтверждение.
Как изучить возможности глубже
Понимание архитектуры помогает эффективнее использовать агента:
- Изучите систему навыков, чтобы создавать собственные автоматизации.
- Подключите интеграции для расширения возможностей.
- Сравните провайдеры в разделе сравнений, чтобы выбрать оптимальную модель для своих задач.