Веб-панель управления

Обновлено: 2026-04-05

Веб-панель управления OpenClaw

OpenClaw включает встроенную веб-панель для управления и мониторинга системы.

Включение веб-панели

Базовая конфигурация

{
  "web": {
    "enabled": true,
    "bind": "127.0.0.1",        // ⚠️ Для безопасности используйте localhost
    "port": 18789,              // Порт по умолчанию
    "path": "/ui"               // Путь к панели
  }
}

Расширенная конфигурация с безопасностью

{
  "web": {
    "enabled": true,
    "bind": "127.0.0.1",
    "port": 18789,
    "path": "/ui",

    // Аутентификация
    "auth": {
      "enabled": true,
      "type": "basic",          // basic, jwt, oauth2
      "users": [
        {
          "username": "admin",
          "password": "${WEB_ADMIN_PASSWORD}",
          "role": "admin"
        }
      ]
    },

    // HTTPS (рекомендуется для production)
    "https": {
      "enabled": true,
      "key": "/path/to/key.pem",
      "cert": "/path/to/cert.pem"
    },

    // CORS настройки
    "cors": {
      "enabled": true,
      "origins": ["https://ваш-домен.com"],
      "methods": ["GET", "POST"],
      "credentials": true
    },

    // Rate limiting
    "rateLimit": {
      "enabled": true,
      "windowMs": 60000,
      "max": 100
    }
  }
}

Доступ к веб-панели

Локальный доступ

# После запуска шлюза откройте в браузере:
http://127.0.0.1:18789/ui

# Или используйте curl для проверки
curl -s http://127.0.0.1:18789/ui/health

Удаленный доступ через reverse proxy

# Конфигурация nginx
server {
    listen 443 ssl;
    server_name openclaw.ваш-домен.com;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location /ui/ {
        proxy_pass http://127.0.0.1:18789/ui/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;

        # Базовая аутентификация
        auth_basic "Restricted Access";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}

Функциональность веб-панели

Основные разделы

  1. Dashboard - общая статистика и метрики
  2. Channels - управление каналами связи
  3. Agents - управление агентами и моделями
  4. Skills - установка и настройка навыков
  5. Logs - просмотр логов в реальном времени
  6. Config - редактирование конфигурации
  7. Users - управление пользователями и правами

API Endpoints

# Health check
GET /ui/api/health

# Статистика
GET /ui/api/stats

# Список каналов
GET /ui/api/channels

# Список агентов
GET /ui/api/agents

# Логи
GET /ui/api/logs?limit=100&level=error

# Конфигурация
GET /ui/api/config
PUT /ui/api/config

Примеры использования

Пример 1: Локальная панель для администрирования

{
  "web": {
    "enabled": true,
    "bind": "127.0.0.1",
    "port": 18789,
    "path": "/admin",
    "auth": {
      "enabled": true,
      "type": "basic",
      "users": [
        {
          "username": "admin",
          "password": "${ADMIN_PASSWORD}",
          "role": "admin"
        }
      ]
    }
  }
}

Пример 2: Production панель с HTTPS

{
  "web": {
    "enabled": true,
    "bind": "127.0.0.1",
    "port": 18789,
    "path": "/dashboard",
    "auth": {
      "enabled": true,
      "type": "jwt",
      "secret": "${JWT_SECRET}",
      "expiresIn": "8h"
    },
    "https": {
      "enabled": true,
      "key": "/etc/ssl/private/openclaw.key",
      "cert": "/etc/ssl/certs/openclaw.crt"
    },
    "rateLimit": {
      "enabled": true,
      "windowMs": 60000,
      "max": 60
    }
  }
}

Пример 3: Панель для команды

{
  "web": {
    "enabled": true,
    "bind": "127.0.0.1",
    "port": 18789,
    "path": "/team",
    "auth": {
      "enabled": true,
      "type": "oauth2",
      "provider": "github",
      "clientId": "${GITHUB_CLIENT_ID}",
      "clientSecret": "${GITHUB_CLIENT_SECRET}",
      "allowedOrgs": ["your-org"]
    },
    "roles": {
      "admin": ["github:your-username"],
      "member": ["github:team-member-*"]
    }
  }
}

Интеграция с другими сервисами

Prometheus метрики

{
  "web": {
    "metrics": {
      "enabled": true,
      "path": "/metrics",
      "collectDefault": true,
      "custom": [
        "messages_processed_total",
        "agents_active",
        "channels_connected"
      ]
    }
  }
}

Grafana dashboard

{
  "dashboard": {
    "title": "OpenClaw Monitoring",
    "panels": [
      {
        "title": "Messages per minute",
        "targets": [
          {
            "expr": "rate(messages_processed_total[5m])",
            "legendFormat": "{{channel}}"
          }
        ]
      }
    ]
  }
}

Устранение неполадок

❌ Веб-панель не доступна

  1. Проверьте, включена ли панель: grep "web" ~/.openclaw/openclaw.json
  2. Проверьте порт: sudo netstat -tlnp | grep 18789
  3. Проверьте логи: tail -f ~/.openclaw/logs/gateway.log

❌ Ошибка аутентификации

  1. Проверьте пароль/токен
  2. Проверьте настройки auth в конфигурации
  3. Проверьте JWT secret (если используется)

❌ Медленная работа

  1. Проверьте использование CPU/памяти
  2. Увеличьте rate limit
  3. Включите кэширование

Лучшие практики

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

  1. Всегда используйте аутентификацию в production
  2. Используйте HTTPS для удаленного доступа
  3. Ограничивайте доступ по IP если возможно
  4. Регулярно обновляйте пароли/токены

Производительность

  1. Включите кэширование статических ресурсов
  2. Используйте CDN для статических файлов
  3. Оптимизируйте запросы к API
  4. Мониторьте метрики производительности

Доступность

  1. Настройте health checks
  2. Реализуйте graceful shutdown
  3. Используйте load balancer для высокой доступности
  4. Настройте мониторинг uptime

Дополнительные ресурсы


Совет: Используйте веб-панель для мониторинга, но для критических операций предпочитайте CLI или API.

Помогла ли вам эта статья?

Оставьте отзыв или предложите улучшения

🐛 Сообщить об ошибке

Комментарии и обсуждение

Пока нет комментариев. Будьте первым!

Добавить комментарий

Комментарии проходят модерацию