> ## Documentation Index
> Fetch the complete documentation index at: https://speshu.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenClaw

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

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

## Требования

* Установленный OpenClaw ([инструкция по установке](https://openclaw-ai.com/en/install))
* Node.js ≥ 22
* API-ключ [speshu.ai](https://speshu.ai/profile)

## Настройка подключения к SpeShu.AI

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

<Steps>
  <Step title="Откройте конфигурацию OpenClaw">
    Откройте файл конфигурации в текстовом редакторе:

    ```bash theme={null} theme={null}
    nano ~/.openclaw/openclaw.json
    ```

    Или используйте встроенные инструменты:

    ```bash theme={null} theme={null}
    openclaw configure
    ```
  </Step>

  <Step title="Добавьте провайдер SpeShu.AI">
    В секции `models.providers` добавьте провайдер `speshu` с вашим API-ключом:

    ```json theme={null} theme={null}
    {
        models: {
            mode: "merge",
            providers: {
                speshu: {
                    baseUrl: "https://speshu.ai/api/v1",
                    apiKey: "<ваш API-ключ SpeShu.AI>",
                    api: "openai-completions",
                    models: [
                        {
                            id: "anthropic/claude-sonnet-4.6",
                            name: "Claude Sonnet 4.6"
                        },
                        {
                            id: "google/gemini-3.1-flash-lite-preview",
                            name: "Gemini 3.1 Flash Lite"
                        },
                        {
                            id: "moonshotai/kimi-k2.5",
                            name: "Kimi K2.5"
                        }
                    ]
                }
            }
        }
    }
    ```

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

  <Step title="Назначьте модель по умолчанию">
    Укажите модель SpeShu.AI как основную в секции `agents.defaults`:

    ```json theme={null} theme={null}
    {
        agents: {
            defaults: {
                model: {
                    primary: "speshu/anthropic/claude-sonnet-4.6"
                },
                models: {
                    "speshu/anthropic/claude-sonnet-4.6": {
                        alias: "Claude"
                    },
                    "speshu/google/gemini-3.1-flash-lite-preview": {
                        alias: "Gemini"
                    },
                    "speshu/moonshotai/kimi-k2.5": {
                        alias: "Kimi"
                    }
                }
            }
        }
    }
    ```

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

  <Step title="Перезапустите Gateway">
    Если у вас включён hot reload (по умолчанию), изменения применятся автоматически. Если нет:

    ```bash theme={null} theme={null}
    openclaw gateway restart
    ```
  </Step>
</Steps>

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

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

```json theme={null} theme={null}
{
gateway: {
    port: 18789,
        mode: "local",
        bind: "loopback"
},
models: {
    mode: "merge",
        providers: {
        speshu: {
            baseUrl: "https://speshu.ai/api/v1",
                apiKey: "<ваш API-ключ SpeShu.AI>",
                api: "openai-completions",
                models: [
                {
                    id: "anthropic/claude-sonnet-4.6",
                    name: "Claude Sonnet 4.6"
                },
                {
                    id: "google/gemini-3.1-flash-lite-preview",
                    name: "Gemini 3.1 Flash Lite"
                },
                {
                    id: "moonshotai/kimi-k2.5",
                    name: "Kimi K2.5"
                },
                {
                    id: "z-ai/glm-5-turbo",
                    name: "GLM-5 Turbo"
                },
                {
                    id: "qwen/qwen3-coder-480b-a35b",
                    name: "Qwen3 Coder 480B"
                }
            ]
        }
    }
},
agents: {
    defaults: {
        model: {
            primary: "speshu/anthropic/claude-sonnet-4.6",
                fallbacks: ["speshu/moonshotai/kimi-k2.5"]
        },
        models: {
            "speshu/anthropic/claude-sonnet-4.6": {
                alias: "Claude"
            },
            "speshu/google/gemini-3.1-flash-lite-preview": {
                alias: "Gemini"
            },
            "speshu/moonshotai/kimi-k2.5": {
                alias: "Kimi"
            },
            "speshu/z-ai/glm-5-turbo": {
                alias: "GLM"
            },
            "speshu/qwen/qwen3-coder-480b-a35b": {
                alias: "QwenCoder"
            }
        }
    }
},
channels: {
    telegram: {
        dmPolicy: "allowlist",
            botToken: "<токен бота Telegram>",
            allowFrom: ["<ID аккаунта Telegram>"],
            groupPolicy: "allowlist"
    }
},
plugins: {
    entries: {
        telegram: {
            enabled: true
        }
    }
}
}
```

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

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

```
/model speshu/moonshotai/kimi-k2.5
```

Или через CLI:

```bash theme={null} theme={null}
openclaw models set speshu/qwen/qwen3-coder-480b-a35b
```

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

```bash theme={null} theme={null}
openclaw models list
```

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

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

```json theme={null} theme={null}
{
agents: {
    defaults: {
        model: {
            primary: "speshu/anthropic/claude-sonnet-4.6",
                fallbacks: [
                "speshu/moonshotai/kimi-k2.5",
                "speshu/google/gemini-3.1-flash-lite-preview"
            ]
        }
    }
}
}
```

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

| Модель                | ID в SpeShu.AI                         | Для чего подходит                                                                                      |
| --------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| Claude Sonnet 4.6     | `anthropic/claude-sonnet-4.6`          | Основная рабочая модель: длинные рассуждения, генерация кода, анализ документов, мультиязычные диалоги |
| Gemini 3.1 Flash Lite | `google/gemini-3.1-flash-lite-preview` | Экономичная модель для коротких ответов, суммаризации и простых вопросов                               |
| Kimi K2.5             | `moonshotai/kimi-k2.5`                 | Кодинг и reasoning-задачи. MoE-архитектура, высокая скорость при низкой стоимости                      |
| GLM-5 Turbo           | `z-ai/glm-5-turbo`                     | Мультиязычные задачи (CN/EN), обработка длинного контекста, аналитика                                  |
| Qwen3 Coder 480B      | `qwen/qwen3-coder-480b-a35b`           | Специализированная модель для кодинга: 480B параметров, агентские сценарии, контекст до 256K токенов   |

Актуальный список моделей: [`/v1/models`](/docs/api-reference/models/list)

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

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

```json theme={null} theme={null}
{
env: {
    vars: {
        SPESHU_API_KEY: "<ваш API-ключ>"
    }
},
models: {
    mode: "merge",
        providers: {
        speshu: {
            baseUrl: "https://speshu.ai/api/v1",
                apiKey: "${SPESHU_API_KEY}",
                api: "openai-completions",
                models: [
                { id: "anthropic/claude-sonnet-4.6", name: "Claude Sonnet 4.6" },
                { id: "moonshotai/kimi-k2.5", name: "Kimi K2.5" }
            ]
        }
    }
}
}
```

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

```
SPESHU_API_KEY=sk-...
```

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

<AccordionGroup>
  <Accordion title="Ошибка аутентификации (401)">
    * Проверьте правильность API-ключа SpeShu.AI
    * Убедитесь в наличии средств на [балансе](https://speshu.ai/profile)
    * Проверьте Base URL: `https://speshu.ai/api/v1`
  </Accordion>

  <Accordion title="'No API provider registered for api: undefined'">
    Убедитесь, что в конфиге провайдера указано поле `api`:

    ```json theme={null} theme={null}
    speshu: {
    baseUrl: "https://speshu.ai/api/v1",
    apiKey: "...",
    api: "openai-completions",  // ← обязательно
    models: [...]
    }
    ```
  </Accordion>

  <Accordion title="Модель не найдена">
    * Проверьте что модель добавлена в `models.providers.speshu.models`
    * Проверьте что модель есть в `agents.defaults.models` (это allowlist)
    * Формат ссылки: `speshu/<model-id>` — например, `speshu/anthropic/claude-sonnet-4.6`
    * Актуальный список моделей: [`/v1/models`](/docs/api-reference/models/list)
  </Accordion>

  <Accordion title="Gateway не запускается после изменения конфига">
    OpenClaw строго валидирует конфигурацию. Запустите диагностику:

    ```bash theme={null} theme={null}
    openclaw doctor
    openclaw doctor --fix
    ```
  </Accordion>

  <Accordion title="Медленные ответы">
    * Переключитесь на более быстрые модели: Gemini 3.1 Flash Lite или GLM-5 Turbo
    * Проверьте интернет-соединение
    * Установите `streamMode: "partial"` в настройках канала для стриминга ответов
  </Accordion>
</AccordionGroup>

## Поддержка

* [Документация OpenClaw](https://openclaw-ai.com/en/docs)
* [Discord OpenClaw](https://discord.gg/clawd)
* [Страница поддержки SpeShu.AI](/docs/support)
