OpenClaw

Интеграция usellm с OpenClaw - мультиканальным AI-ассистентом для мессенджеров

OpenClaw

OpenClaw: open-source платформа для создания персонального AI-ассистента, работающего через Telegram, WhatsApp, Discord, Slack и другие мессенджеры. OpenClaw запускает локальный Gateway-сервер, который маршрутизирует сообщения из разных каналов к AI-модели.

Требования

Настройка подключения к usellm

usellm подключается к OpenClaw как custom provider через OpenAI-совместимый API.

  1. Откройте конфигурацию OpenClaw. Откройте файл конфигурации в текстовом редакторе:
    nano ~/.openclaw/openclaw.json
    

    Или используйте встроенные инструменты:
    openclaw configure
    
  2. Добавьте провайдер usellm. В секции models.providers добавьте провайдер usellm с вашим API-ключом:
    {
      models: {
        mode: "merge",
        providers: {
          usellm: {
            baseUrl: "https://api.usellm.ru/v1",
            apiKey: "<ваш API-ключ usellm>",
            api: "openai-completions",
            models: [
              {
                id: "anthropic/claude-sonnet-5",
                name: "Claude Sonnet 5"
              },
              {
                id: "google/gemini-3.8-flash",
                name: "Gemini 3.8 Flash"
              },
              {
                id: "zai/glm-5.3-flash",
                name: "GLM 5.3 Flash"
              }
            ]
          }
        }
      }
    }
    

    Поле api: "openai-completions" обязательно: без него OpenClaw не сможет определить тип API.

  3. Назначьте модель по умолчанию. Укажите модель usellm как основную в секции agents.defaults:
    {
      agents: {
        defaults: {
          model: {
            primary: "usellm/anthropic/claude-sonnet-5"
          },
          models: {
            "usellm/anthropic/claude-sonnet-5": {
              alias: "Claude"
            },
            "usellm/google/gemini-3.8-flash": {
              alias: "Gemini"
            },
            "usellm/zai/glm-5.3-flash": {
              alias: "GLM"
            }
          }
        }
      }
    }
    

    Формат ссылки на модель: usellm/<model-id>, где usellm - имя провайдера из конфига, а <model-id> - ID модели из списка models.

  4. Перезапустите Gateway. Если у вас включён hot reload (по умолчанию), изменения применятся автоматически. Если нет:
    openclaw gateway restart
    

Полный пример конфигурации

Готовый ~/.openclaw/openclaw.json с usellm и Telegram-каналом:

{
  gateway: {
    port: 18789,
    mode: "local",
    bind: "loopback"
  },
  models: {
    mode: "merge",
    providers: {
      usellm: {
        baseUrl: "https://api.usellm.ru/v1",
        apiKey: "<ваш API-ключ usellm>",
        api: "openai-completions",
        models: [
          {
            id: "anthropic/claude-sonnet-5",
            name: "Claude Sonnet 5"
          },
          {
            id: "google/gemini-3.8-flash",
            name: "Gemini 3.8 Flash"
          },
          {
            id: "zai/glm-5.3-flash",
            name: "GLM 5.3 Flash"
          },
          {
            id: "alibaba/qwen3.8-flash",
            name: "Qwen3.8 Flash"
          }
        ]
      }
    }
  },
  agents: {
    defaults: {
      model: {
        primary: "usellm/anthropic/claude-sonnet-5",
        fallbacks: ["usellm/zai/glm-5.3-flash"]
      },
      models: {
        "usellm/anthropic/claude-sonnet-5": {
          alias: "Claude"
        },
        "usellm/google/gemini-3.8-flash": {
          alias: "Gemini"
        },
        "usellm/zai/glm-5.3-flash": {
          alias: "GLM"
        },
        "usellm/alibaba/qwen3.8-flash": {
          alias: "Qwen"
        }
      }
    }
  },
  channels: {
    telegram: {
      dmPolicy: "allowlist",
      botToken: "<токен бота Telegram>",
      allowFrom: ["<ID аккаунта Telegram>"],
      groupPolicy: "allowlist"
    }
  },
  plugins: {
    entries: {
      telegram: {
        enabled: true
      }
    }
  }
}

Переключение моделей

После настройки нескольких моделей вы можете переключаться между ними прямо в чате:

/model usellm/zai/glm-5.3-flash

Или через CLI:

openclaw models set usellm/alibaba/qwen3.8-flash

Список доступных моделей:

openclaw models list

Настройка фоллбеков

OpenClaw поддерживает автоматическое переключение на запасную модель при недоступности основной:

{
  agents: {
    defaults: {
      model: {
        primary: "usellm/anthropic/claude-sonnet-5",
        fallbacks: [
          "usellm/zai/glm-5.3-flash",
          "usellm/google/gemini-3.8-flash"
        ]
      }
    }
  }
}

Рекомендуемые модели

МодельID в usellmДля чего подходит
Claude Sonnet 5anthropic/claude-sonnet-5Основная рабочая модель: длинные рассуждения, генерация кода, анализ документов
Gemini 3.8 Flashgoogle/gemini-3.8-flashБыстрая мультимодальная модель для коротких ответов и суммаризации
GLM 5.3 Flashzai/glm-5.3-flashЭкономичная модель для рутинных задач и аналитики
Qwen3.8 Flashalibaba/qwen3.8-flashСамая дешёвая: потоковые задачи, мониторинг, простые вопросы
Claude Fable 5.1anthropic/claude-fable-5.1Сложные многошаговые задачи, требующие глубокого рассуждения

Актуальный список моделей: Модели API

Использование переменных окружения

Вместо хранения API-ключа в конфиге можно использовать переменную окружения:

{
  env: {
    vars: {
      USELLM_API_KEY: "<ваш API-ключ>"
    }
  },
  models: {
    mode: "merge",
    providers: {
      usellm: {
        baseUrl: "https://api.usellm.ru/v1",
        apiKey: "${USELLM_API_KEY}",
        api: "openai-completions",
        models: [
          { id: "anthropic/claude-sonnet-5", name: "Claude Sonnet 5" },
          { id: "zai/glm-5.3-flash", name: "GLM 5.3 Flash" }
        ]
      }
    }
  }
}

Или задайте ключ через .env файл в ~/.openclaw/.env:

USELLM_API_KEY=usl_...

Решение проблем

Поддержка