OpenClaw для разработчиков: API, интеграции и расширяемость

OpenClaw — опенсорсный ИИ-агент с открытым API, системой плагинов (SDK) и CLI для автоматизации. Разработчики могут создавать собственные инструменты, каналы, провайдеры моделей и интегрировать агента с внешними системами через webhooks. В статье — обзор возможностей: от плагинов до мультиагентной архитектуры.

Что такое API OpenClaw?

API OpenClaw — это программный интерфейс для расширения и интеграции ИИ-агента. В отличие от закрытых ChatGPT-подобных сервисов, OpenClaw даёт полный доступ к исходному коду и позволяет модифицировать поведение агента на каждом уровне: от добавления нового инструмента до создания собственного канала связи.

OpenClaw построен на Node.js/TypeScript. Архитектура модульная: Gateway (сервер) управляет сессиями, маршрутами и инструментами, а плагины подключаются через декларативный SDK.

Как расширить OpenClaw: система плагинов (SDK)

Плагины OpenClaw — это npm-пакеты, которые расширяют функциональность агента без изменения ядра. Публикация через ClawHub или npm, установка одной командой.

Что можно сделать с плагином

Плагин может зарегистрировать:

  • Текстовый LLM-провайдер — подключить свою модель (OpenAI, Anthropic, Mistral и другие)
  • Канал связи — добавить мессенджер (Microsoft Teams, Matrix, свой HTTP-канал)
  • Голос (TTS/STT) — подключить провайдера озвучки (ElevenLabs, Microsoft Speech)
  • Генерацию медиа — изображения (DALL-E, Google, Fal), видео (Qwen)
  • Инструмент агента — кастомный tool для специфических задач
  • HTTP-маршрут — добавить endpoint в Gateway
  • CLI-подкоманду — расширить командную строку
  • Быстрый старт: создание 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 полезны для:

  • Пошаговых инструкций (деплой, публикация, мониторинг)
  • Ролевого поведения (как общаться, какие инструменты использовать)
  • Интеграции с конкретными сервисами (WordPress, Telegram, GitHub)
  • Установка: 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 используйте только проверенные плагины.

    См. также

  • Плагины (SDK) — полная документация по созданию плагинов
  • CLI справочник — все команды OpenClaw
  • Автоматизация: cron, hooks, standing orders — механизмы автоматизации
  • Мультиагентность — несколько агентов на одном сервере
  • Навыки (skills) в OpenClaw — создание и управление навыками