OpenClaw 🦞

"ОТШЕЛУШИВАЙТЕ! ОТШЕЛУШИВАЙТЕ!" — Космический лобстер, вероятно

OpenClaw

Любая ОС + WhatsApp/Telegram/Discord/iMessage шлюз для AI-агентов (Pi).
Плагины добавляют Mattermost и другое. Отправьте сообщение, получите ответ агента — прямо из кармана.

GitHub · Релизы · Документация · Настройка ассистента OpenClaw

OpenClaw связывает WhatsApp (через WhatsApp Web / Baileys), Telegram (Bot API / grammY), Discord (Bot API / channels.discord.js) и iMessage (imsg CLI) с кодирующими агентами, такими как Pi. Плагины добавляют Mattermost (Bot API + WebSocket) и другое. OpenClaw также поддерживает ассистента OpenClaw.

Начните здесь

Если Gateway работает на том же компьютере, эта ссылка сразу открывает веб-интерфейс управления в браузере. Если это не работает, сначала запустите Gateway: openclaw gateway.

Панель управления (веб-интерфейс управления в браузере)

Панель управления — это веб-интерфейс управления для чата, конфигурации, узлов, сессий и прочего. Локальный адрес по умолчанию: http://127.0.0.1:18789/ Удалённый доступ: Веб-интерфейсы и Tailscale

Как это работает

WhatsApp / Telegram / Discord / iMessage (+ плагины)
        │
        ▼
  ┌───────────────────────────┐
  │          Gateway          │  ws://127.0.0.1:18789 (только loopback)
  │     (единый источник)     │
  │                           │  http://<gateway-host>:18793
  │                           │    /__openclaw__/canvas/ (хост Canvas)
  └───────────┬───────────────┘
              │
              ├─ Агент Pi (RPC)
              ├─ CLI (openclaw …)
              ├─ UI чата (SwiftUI)
              ├─ приложение macOS (OpenClaw.app)
              ├─ узел iOS через Gateway WS + сопряжение
              └─ узел Android через Gateway WS + сопряжение

Большинство операций проходят через Gateway (openclaw gateway), единственный долгоживущий процесс, который владеет подключениями каналов и плоскостью управления WebSocket.

Сетевая модель

  • Один Gateway на хост (рекомендуется): это единственный процесс, которому разрешено владеть сессией WhatsApp Web. Если вам нужен резервный бот или строгая изоляция, запустите несколько шлюзов с изолированными профилями и портами; см. Несколько шлюзов.
  • Loopback-first: WebSocket Gateway по умолчанию использует ws://127.0.0.1:18789.
    • Мастер теперь генерирует токен шлюза по умолчанию (даже для loopback).
    • Для доступа через Tailnet запустите openclaw gateway --bind tailnet --token ... (токен требуется для привязок не-loopback).
  • Узлы: подключаются к WebSocket шлюза (LAN/tailnet/SSH по необходимости); устаревший TCP-мост удалён.
  • Хост Canvas: HTTP-сервер файлов на canvasHost.port (по умолчанию 18793), обслуживающий /__openclaw__/canvas/ для WebView узлов; см. Конфигурация Gateway (canvasHost).
  • Удалённое использование: SSH-туннель или tailnet/VPN; см. Удалённый доступ и Обнаружение.

Функции (высокий уровень)

  • 📱 Интеграция WhatsApp — Использует Baileys для протокола WhatsApp Web
  • ✈️ Telegram бот — Личные сообщения + группы через grammY
  • 🎮 Discord бот — Личные сообщения + каналы гильдии через channels.discord.js
  • 🧩 Mattermost бот (плагин) — Токен бота + события WebSocket
  • 💬 iMessage — Интеграция локального CLI imsg (macOS)
  • 🤖 Мост агента — Pi (режим RPC) с потоковой передачей инструментов
  • ⏱️ Потоковая передача + разбиение на части — Блочная потоковая передача + детали потоковой передачи черновиков Telegram (/concepts/streaming)
  • 🧠 Маршрутизация между агентами — Маршрутизация учётных записей/пиров провайдера к изолированным агентам (рабочее пространство + сессии для каждого агента)
  • 🔐 Авторизация подписки — Anthropic (Claude Pro/Max) + OpenAI (ChatGPT/Codex) через OAuth
  • 💬 Сессии — Прямые чаты сворачиваются в общий main (по умолчанию); группы изолированы
  • 👥 Поддержка групповых чатов — По умолчанию на основе упоминаний; владелец может переключать /activation always|mention
  • 📎 Поддержка медиа — Отправка и получение изображений, аудио, документов
  • 🎤 Голосовые заметки — Опциональный хук транскрипции
  • 🖥️ WebChat + приложение macOS — Локальный UI + компаньон в строке меню для операций и голосового пробуждения
  • 📱 Узел iOS — Сопрягается как узел и предоставляет интерфейс Canvas
  • 📱 Узел Android — Сопрягается как узел и предоставляет Canvas + Чат + Камеру

Примечание: устаревшие пути Claude/Codex/Gemini/Opencode были удалены; Pi — единственный путь кодирующего агента.

Быстрый старт

Требование к среде выполнения: Node ≥ 22.

# Рекомендуется: глобальная установка (npm/pnpm)
npm install -g openclaw@latest
# или: pnpm add -g openclaw@latest

# Адаптация + установка сервиса (пользовательский сервис launchd/systemd)
openclaw onboard --install-daemon

# Сопряжение WhatsApp Web (показывает QR)
openclaw channels login

# Gateway запускается через сервис после адаптации; ручной запуск всё ещё возможен:
openclaw gateway --port 18789

Переключение между установками npm и git позже легко: установите другой вариант и запустите openclaw doctor для обновления точки входа сервиса шлюза.

Из исходного кода (разработка):

git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build # автоматически устанавливает зависимости UI при первом запуске
pnpm build
openclaw onboard --install-daemon

Если у вас ещё нет глобальной установки, запустите шаг адаптации через pnpm openclaw ... из репозитория.

Быстрый старт нескольких экземпляров (опционально):

OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \
OPENCLAW_STATE_DIR=~/.openclaw-a \
openclaw gateway --port 19001

Отправить тестовое сообщение (требуется работающий Gateway):

openclaw message send --target +15555550123 --message "Hello from OpenClaw"

Конфигурация (опционально)

Конфигурация находится в ~/.openclaw/openclaw.json.

  • Если вы ничего не делаете, OpenClaw использует встроенный бинарный файл Pi в режиме RPC с сессиями для каждого отправителя.
  • Если вы хотите это ограничить, начните с channels.whatsapp.allowFrom и (для групп) правил упоминаний.

Пример:

{
  channels: {
    whatsapp: {
      allowFrom: ["+15555550123"],
      groups: { "*": { requireMention: true } }
    }
  },
  messages: { groupChat: { mentionPatterns: ["@openclaw"] } }
}

Документация

Название

OpenClaw = CLAW + TARDIS — потому что каждому космическому лобстеру нужна машина времени и пространства.


"Мы все просто играем со своими промптами." — ИИ, вероятно под кайфом от токенов

Благодарности

  • Peter Steinberger (@steipete) — Создатель, шептун лобстеров
  • Mario Zechner (@badlogicc) — Создатель Pi, пен-тестер безопасности
  • Clawd — Космический лобстер, который потребовал лучшего названия

Основные контрибьюторы

  • Maxim Vovshin (@Hyaxia, [email protected]) — Навык Blogwatcher
  • Nacho Iacovino (@nachoiacovino, [email protected]) — Парсинг местоположения (Telegram + WhatsApp)

Лицензия

MIT — Свободен как лобстер в океане 🦞


"Мы все просто играем со своими промптами." — ИИ, вероятно под кайфом от токенов