OpenClaw
Интеграция usellm с OpenClaw - мультиканальным AI-ассистентом для мессенджеров
OpenClaw
OpenClaw: open-source платформа для создания персонального AI-ассистента, работающего через Telegram, WhatsApp, Discord, Slack и другие мессенджеры. OpenClaw запускает локальный Gateway-сервер, который маршрутизирует сообщения из разных каналов к AI-модели.
Требования
- Установленный OpenClaw (инструкция по установке)
- Node.js ≥ 22
- API-ключ usellm
Настройка подключения к usellm
usellm подключается к OpenClaw как custom provider через OpenAI-совместимый API.
- Откройте конфигурацию OpenClaw. Откройте файл конфигурации в текстовом редакторе:
nano ~/.openclaw/openclaw.json
Или используйте встроенные инструменты:openclaw configure - Добавьте провайдер 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. - Назначьте модель по умолчанию. Укажите модель 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. - Перезапустите 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 5 | anthropic/claude-sonnet-5 | Основная рабочая модель: длинные рассуждения, генерация кода, анализ документов |
| Gemini 3.8 Flash | google/gemini-3.8-flash | Быстрая мультимодальная модель для коротких ответов и суммаризации |
| GLM 5.3 Flash | zai/glm-5.3-flash | Экономичная модель для рутинных задач и аналитики |
| Qwen3.8 Flash | alibaba/qwen3.8-flash | Самая дешёвая: потоковые задачи, мониторинг, простые вопросы |
| Claude Fable 5.1 | anthropic/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_...