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

# OpenClaw

> Как подключить личного AI-ассистента OpenClaw к RuAPI

[OpenClaw](https://github.com/openclaw/openclaw) — личный AI-ассистент, который вы запускаете на собственных устройствах: доступ через Telegram, WhatsApp, Discord, Signal, iMessage и другие каналы. Он поддерживает разные провайдеры моделей — RuAPI подключается через **Anthropic-совместимый** или **OpenAI-совместимый** протокол.

## Предварительные требования

<Steps>
  <Step title="Аккаунт RuAPI и API-ключ">
    Консоль → **Токены** → **Создать токен**. См. [API-ключи и безопасность](/ru/authentication).
  </Step>

  <Step title="Node.js ≥ 18">
    ```bash theme={null}
    node --version
    ```

    Установка: [nodejs.org](https://nodejs.org).
  </Step>

  <Step title="Операционная система">
    macOS и Linux работают из коробки. На Windows используйте **WSL2**.
  </Step>
</Steps>

## Установка OpenClaw

```bash theme={null}
npm install -g openclaw@latest
```

Проверка:

```bash theme={null}
openclaw --version
```

## Настройка RuAPI

OpenClaw использует SDK Anthropic, поэтому проще всего задать **`ANTHROPIC_BASE_URL`** и **`ANTHROPIC_API_KEY`** как переменные окружения и выбрать модель в `~/.openclaw/openclaw.json`.

### Способ 1: env + конфиг (рекомендуется)

<Steps>
  <Step title="Запустите onboarding, чтобы создалась директория">
    ```bash theme={null}
    openclaw onboard
    ```

    Пройдите мастер. Когда спросят «выберите провайдера» — выберите что угодно (например, Anthropic API key) и впишите ключ-заглушку. Это нужно, чтобы создались `~/.openclaw/` и начальная конфигурация.
  </Step>

  <Step title="Отредактируйте openclaw.json">
    Откройте `~/.openclaw/openclaw.json` (создайте, если нет) и пропишите:

    ```json5 theme={null}
    {
      env: {
        ANTHROPIC_BASE_URL: "https://www.ruapi.ai",
        ANTHROPIC_API_KEY: "sk-ваш-токен-RuAPI",
      },
      agents: {
        defaults: {
          model: { primary: "anthropic/claude-sonnet-5" },
        },
      },
    }
    ```

    <Warning>
      **Не** добавляйте `/v1` к `ANTHROPIC_BASE_URL`.
    </Warning>
  </Step>

  <Step title="Перезапустите gateway">
    Если установлен как демон:

    ```bash theme={null}
    openclaw onboard --install-daemon
    ```

    Или вручную:

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

### Способ 2: переменные окружения в shell

Если конфиг трогать не хочется — пропишите переменные в shell:

<Tabs>
  <Tab title="macOS / Linux">
    Добавьте в `~/.zshrc` или `~/.bashrc`:

    ```bash theme={null}
    export ANTHROPIC_BASE_URL="https://www.ruapi.ai"
    export ANTHROPIC_API_KEY="sk-ваш-ключ"
    ```

    Затем `source` файл или откройте новый терминал.
  </Tab>

  <Tab title="WSL2">
    Аналогично — редактируйте `~/.bashrc` внутри WSL.
  </Tab>
</Tabs>

В `openclaw.json` всё равно нужно прописать `agents.defaults.model`, иначе OpenClaw будет спрашивать модель при каждом запуске.

## Первый запрос

```bash theme={null}
openclaw agent --message "Поздоровайся одним предложением по-русски" --local
```

В ответ должно прийти сообщение, а в Консоли RuAPI → **Логи** — соответствующий вызов выбранной вами модели Claude.

Когда подключите Telegram / Discord и др., сообщения оттуда тоже пойдут через RuAPI.

## Выбор другой модели

Отредактируйте `~/.openclaw/openclaw.json`:

```json5 theme={null}
{
  agents: {
    defaults: {
      model: { primary: "anthropic/claude-opus-4-8" },
    },
  },
}
```

OpenClaw использует именование `<provider>/<model-id>`. Часто используемые:

| ID модели                             | Назначение               |
| ------------------------------------- | ------------------------ |
| `anthropic/claude-sonnet-5`           | Основная рабочая лошадка |
| `anthropic/claude-opus-4-8`           | Тяжёлые задачи           |
| `anthropic/claude-haiku-4-5-20251001` | Быстро и дёшево          |

Полный список — на [странице цен](https://www.ruapi.ai/pricing).

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

<AccordionGroup>
  <Accordion title="401 Unauthorized">
    * `ANTHROPIC_API_KEY` должен быть **токеном RuAPI** (`sk-...`), а не официальным ключом Anthropic.
    * В Консоли RuAPI → **Токены** проверьте, что ключ активен и модель не исключена из allowlist.
  </Accordion>

  <Accordion title="404 / model not found">
    * ID модели должен начинаться с `anthropic/`, например `anthropic/claude-sonnet-5`.
    * Не добавляйте `/v1` к `ANTHROPIC_BASE_URL`.
  </Accordion>

  <Accordion title="`openclaw onboard` зависает">
    * Проверьте сеть: `curl -I https://www.ruapi.ai`.
    * Прервите onboarding (Ctrl+C), отредактируйте `~/.openclaw/openclaw.json` вручную — при следующем запуске будет использован этот файл.
  </Accordion>

  <Accordion title="Несколько провайдеров для отказоустойчивости">
    `models.providers` в OpenClaw поддерживает fallback-цепочки. Сначала добейтесь работы RuAPI как единственного провайдера, затем добавляйте fallback по [конфигурации OpenClaw](https://docs.openclaw.ai/gateway/configuration).
  </Accordion>

  <Accordion title="Использовать OpenAI-совместимый протокол вместо Anthropic">
    Объявите кастомного провайдера в `openclaw.json`:

    ```json5 theme={null}
    {
      models: {
        providers: {
          ruapi: {
            api: "openai",
            baseUrl: "https://www.ruapi.ai/v1",
            apiKey: "sk-ваш-ключ",
            models: ["gpt-5.4", "gpt-5.4-mini"],
          },
        },
      },
      agents: {
        defaults: { model: { primary: "ruapi/gpt-5.4" } },
      },
    }
    ```
  </Accordion>
</AccordionGroup>

## Продвинутое: подключение каналов

Основная ценность OpenClaw — «общаться с Claude через мессенджер». После того как RuAPI настроен, подключайте Telegram / Discord / Signal по [документации каналов OpenClaw](https://docs.openclaw.ai/channels) — модельные вызовы автоматически пойдут через RuAPI.
