OpenClaw — опенсорсный ИИ-агент с открытым API, системой плагинов (SDK) и CLI для автоматизации. Разработчики могут создавать собственные инструменты, каналы, провайдеры моделей и интегрировать агента с внешними системами через webhooks. В статье — обзор возможностей: от плагинов до мультиагентной архитектуры.
Что такое API OpenClaw?
API OpenClaw — это программный интерфейс для расширения и интеграции ИИ-агента. В отличие от закрытых ChatGPT-подобных сервисов, OpenClaw даёт полный доступ к исходному коду и позволяет модифицировать поведение агента на каждом уровне: от добавления нового инструмента до создания собственного канала связи.
OpenClaw построен на Node.js/TypeScript. Архитектура модульная: Gateway (сервер) управляет сессиями, маршрутами и инструментами, а плагины подключаются через декларативный SDK.
Как расширить OpenClaw: система плагинов (SDK)
Плагины OpenClaw — это npm-пакеты, которые расширяют функциональность агента без изменения ядра. Публикация через ClawHub или npm, установка одной командой.
Что можно сделать с плагином
Плагин может зарегистрировать:
Быстрый старт: создание tool-плагина
Минимальный плагин состоит из двух файлов: package.json с манифестом и index.ts с точкой входа.
package.json:
{
"name": "@myorg/openclaw-my-plugin",
"version": "1.0.0",
"type": "module",
"openclaw": {
"extensions": ["./index.ts"],
"compat": {
"pluginApi": ">=2026.3.24-beta.2",
"minGatewayVersion": "2026.3.24-beta.2"
}
}
}
index.ts:
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
import { Type } from "@sinclair/typebox";
export default definePluginEntry({
id: "my-plugin",
name: "My Plugin",
description: "Adds a custom tool to OpenClaw",
register(api) {
api.registerTool({
name: "my_tool",
description: "Do a thing",
parameters: Type.Object({ input: Type.String() }),
async execute(_id, params) {
return { content: [{ type: "text", text: `Got: ${params.input}` }] };
},
});
},
});
Для каналов используйте defineChannelPluginEntry, для провайдеров — defineSingleProviderPluginEntry.
Публикация и установка
# Тест (dry-run)
clawhub package publish your-org/your-plugin --dry-run
# Публикация
clawhub package publish your-org/your-plugin
# Установка
openclaw plugins install clawhub:@myorg/openclaw-my-plugin
OpenClaw проверяет ClawHub перед npm. Bare package specs тоже работают.
Обязательные и опциональные инструменты
По умолчанию инструмент плагина доступен всегда. Если нужно, чтобы пользователь явно включил его — используйте флаг optional:
api.registerTool(
{
name: "workflow_tool",
description: "Run a workflow",
parameters: Type.Object({ pipeline: Type.String() }),
async execute(_id, params) {
return { content: [{ type: "text", text: params.pipeline }] };
},
},
{ optional: true },
);
Пользователи включают опциональные инструменты через конфиг: "tools": { "allow": ["workflow_tool"] }. Все инструменты плагина сразу: "tools": { "allow": ["my-plugin"] }.
Webhooks: интеграция с внешними системами
Gateway OpenClaw принимает HTTP-запросы для запуска задач извне. Это позволяет интегрировать агента с мониторингом, CI/CD, формами на сайте и любыми системами, которые могут отправить POST-запрос.
Два типа webhook
Системное событие — будит текущую сессию агента:
curl -X POST http://127.0.0.1:18789/hooks/wake \
-H 'Authorization: Bearer SECRET' \
-d '{"text":"Новое письмо от клиента","mode":"now"}'
Изолированный запуск — создаёт отдельную сессию агента:
curl -X POST http://127.0.0.1:18789/hooks/agent \
-H 'Authorization: Bearer SECRET' \
-d '{"message":"Обобщи входящие письма","name":"Email"}'
Настройка hooks
В конфигурации Gateway:
{
"hooks": {
"enabled": true,
"token": "shared-secret",
"path": "/hooks"
}
}
Webhooks — это мост между внешним миром и ИИ-агентом. Мониторинг сервера обнаружил аномалию → webhook → агент анализирует и отправляет отчёт в Telegram.
Plugin hooks: перехват событий
Плагины могут перехватывать внутренние события OpenClaw через систему хуков:
| Хук | Что делает | Блокировка |
|---|---|---|
| `before_tool_call` | Перед вызовом инструмента | `{ block: true }` — стоп, `{ requireApproval: true }` — запрос одобрения |
| `before_install` | Перед установкой плагина | `{ block: true }` — стоп |
| `message_sending` | Перед отправкой сообщения | `{ cancel: true }` — отмена |
| `message_received` | При получении сообщения | — |
Хуки полезны для аудита, фильтрации контента и реализации политики безопасности. Например, before_tool_call может блокировать вызовы shell-команд для определённых пользователей.
CLI для разработчиков
OpenClaw предоставляет полноценный CLI для управления агентом из терминала. Основные команды для разработчиков:
Gateway и сервис
openclaw gateway # Запустить Gateway (foreground)
openclaw gateway install # Установить как systemd-сервис
openclaw gateway start/stop # Управление сервисом
openclaw gateway health # Health snapshot
openclaw gateway call # Прямой RPC вызов
Диагностика
openclaw doctor # Интерактивная диагностика
openclaw doctor --repair # Применить исправления автоматически
openclaw doctor --deep # Проверить системные службы
openclaw status --all # Полный отчёт о состоянии
Модели и inference
openclaw models list # Список доступных моделей
openclaw models set # Установить модель
openclaw infer model run # Запустить inference
openclaw infer image generate # Генерация изображения
openclaw infer tts convert # Text-to-speech
Плагины и навыки
openclaw plugins list # Список плагинов
openclaw plugins install # Установить плагин
openclaw plugins inspect # Детали плагина
openclaw plugins doctor # Диагностика плагинов
openclaw skills list # Список навыков
Мультиагентная архитектура
OpenClaw поддерживает запуск нескольких изолированных агентов на одном сервере. Каждый агент получает свой workspace, свои сессии, свои credentials.
Зачем несколько агентов
Конфигурация
{
"agents": {
"list": [
{ "id": "main", "workspace": "~/.openclaw/workspace" },
{ "id": "work", "workspace": "~/.openclaw/workspace-work" }
]
},
"bindings": [
{ "agentId": "work", "match": { "channel": "telegram", "accountId": "work-bot" } },
{ "agentId": "main", "match": { "channel": "telegram" } }
]
}
Маршрутизация работает через bindings — правила, которые связывают канал и аккаунт с конкретным агентом. Правило «наиболее конкретный побеждает»: peer → guildId → accountId → канал → default agent.
Автоматизация: cron, hooks, standing orders
OpenClaw имеет четыре механизма автоматизации, которые можно комбинировать:
| Механизм | Когда использовать | Пример |
|---|---|---|
| **Cron** | Точное время или интервал | «Каждый день в 9:00 собрать новости» |
| **Hooks** | Событие внутри Gateway | «При /new сохранить контекст сессии» |
| **Standing orders** | Постоянные полномочия | «Ты отвечаешь за еженедельный отчёт» |
| **Heartbeat** | Периодические проверки | «Проверяй почту каждые 30 мин» |
Standing orders + cron — мощная комбинация: standing order задаёт полномочия, cron запускает выполнение по расписанию. Агент читает инструкции, выполняет задачу и отчитывается.
Skills: навыки как модули поведения
Skills (навыки) — это markdown-файлы с инструкциями, которые агент загружает по запросу. В отличие от плагинов, skills не пишут код — они описывают поведение и процедуры.
Skills полезны для:
Установка: openclaw skills install . Skills хранятся в workspace агента и доступны через skill_view.
Где развернуть OpenClaw для разработки
Для разработки плагинов и интеграций нужен сервер с OpenClaw. Два основных варианта:
Свой VPS — полный контроль, SSH-доступ, можно ставить любые зависимости. Подходит для опытных разработчиков. Установка: git clone + npm install + openclaw gateway install.
Neirohost (neirohost.ru) — платформа AI-ассистентов на базе OpenClaw. LXC-контейнер с Ubuntu, SSH есть, нейросети включены (MiMo V2.5 Pro, DeepSeek V4 Flash). Подходит для быстрого старта: зарегистрировался → получил работающего агента → начал разработку плагинов. Тарифы от 390₽/мес.
FAQ
OpenClaw API — это REST API?
Нет. OpenClaw не имеет публичного REST API в классическом смысле. Расширяемость реализована через систему плагинов (SDK), CLI и webhooks. Плагины регистрируют свои capabilities через api.register*() методы, а webhooks позволяют отправлять HTTP-запросы в Gateway.
Могу ли я написать плагин на Python?
Плагины пишутся на TypeScript/JavaScript и запускаются в Node.js runtime OpenClaw. Если нужен Python-код — используйте инструмент code_execution (удалённый Python) или exec shell-команды из плагина.
Как отладить плагин?
Используйте openclaw plugins inspect для проверки загрузки. Логи Gateway покажут ошибки регистрации: openclaw logs --follow. Для dry-run публикации: clawhub package publish --dry-run.
Можно ли использовать OpenClaw как библиотеку?
OpenClaw — это самостоятельный сервер (Gateway), а не библиотека. Интеграция происходит через webhooks, плагины или CLI. Если нужно встроить ИИ-агента в своё приложение — используйте webhook для отправки задач в Gateway и получайте результат через announce или webhook callback.
Безопасны ли плагины?
OpenClaw проверяет манифест плагина и совместимость версий. Плагины работают в runtime Gateway, поэтому важно доверять источникам. Команда openclaw plugins doctor диагностирует проблемы. Для production используйте только проверенные плагины.