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

# Настройка OpenClaw с BetterToken

> Подключите BetterToken к OpenClaw, мультиплатформенному AI agent gateway.

OpenClaw — кроссплатформенный AI agent gateway для Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo и других платформ. На этой странице показано, как подключить BetterToken к OpenClaw и выполнить базовую проверку.

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

<Tabs>
  <Tab title="macOS / Linux">
    ```bash theme={null}
    curl -fsSL https://openclaw.ai/install.sh | bash
    ```
  </Tab>

  <Tab title="Windows">
    ```powershell theme={null}
    iwr -useb https://openclaw.ai/install.ps1 | iex
    ```
  </Tab>
</Tabs>

## Установка и подключение

<Tabs>
  <Tab title="Автоматическая настройка">
    Можно запустить автоматический скрипт BetterToken. Подготовьте API Key BetterToken до начала. Скрипту нужен `Node.js`. Если API Key или модель не переданы явно, скрипт запросит их интерактивно, когда это поддерживается. После завершения скрипта перейдите к разделу «Как применить» ниже.

    Выберите шаг для своей ОС. Нужен только один вариант.

    <Steps>
      <Step title="macOS / Linux">
        ```bash theme={null}
        curl -fsSL https://www.bettertoken.ai/install-openclaw-provider.sh | bash
        ```
      </Step>

      <Step title="Windows">
        ```powershell theme={null}
        iwr https://www.bettertoken.ai/install-openclaw-provider.ps1 -OutFile "$env:TEMP\install-openclaw-provider.ps1"; powershell -ExecutionPolicy Bypass -File "$env:TEMP\install-openclaw-provider.ps1"
        ```
      </Step>
    </Steps>
  </Tab>

  <Tab title="Настройка через CC Switch">
    Этот путь поддерживается в [инструкции CC Switch](/ru/ai-tools/cc-switch#openclaw).

    Перейдите сразу к [вкладке OpenClaw в инструкции CC Switch](/ru/ai-tools/cc-switch#openclaw).

    После настройки в CC Switch вернитесь на эту страницу, чтобы проверить startup, verification и activation notes.
  </Tab>

  <Tab title="Ручная настройка">
    <Steps>
      <Step title="Очистите конфликтующие переменные окружения">
        ```bash theme={null}
        unset ANTHROPIC_AUTH_TOKEN
        unset ANTHROPIC_BASE_URL
        unset OPENAI_API_KEY
        unset OPENAI_BASE_URL
        ```
      </Step>

      <Step title="Запустите onboarding">
        ```bash theme={null}
        openclaw onboard --install-daemon
        ```
      </Step>

      <Step title="Добавьте credential BetterToken через auth flow">
        ```bash theme={null}
        openclaw models auth add
        ```
      </Step>

      <Step title="Добавьте или проверьте provider BetterToken">
        В wizard или provider editor заполните или проверьте:

        * **Base URL**: `https://www.bettertoken.ai/v1`
        * **API**: `openai-responses`
        * **API Key**: ваш API Key BetterToken
        * **Model**: актуальный model ID из model plaza (`https://www.bettertoken.ai/pricing`)

        Минимальный provider config snippet выглядит так:

        ```json theme={null}
        {
          "models": {
            "mode": "merge",
            "providers": {
              "bettertoken": {
                "baseUrl": "https://www.bettertoken.ai/v1",
                "apiKey": "YOUR_BETTERTOKEN_API_KEY",
                "api": "openai-responses",
                "models": [
                  {
                    "id": "YOUR_CODEX_MODEL_ID",
                    "name": "YOUR_CODEX_MODEL_ID"
                  }
                ]
              }
            }
          }
        }
        ```
      </Step>

      <Step title="Extra `headers` обычно не нужны">
        При подключении BetterToken обычно не нужен дополнительный `User-Agent`.

        Добавляйте headers только если вы также используете custom gateway, tenant routing или другой upstream service, который явно требует их.
      </Step>

      <Step title="Задайте default model и проверьте">
        Выполните `openclaw models list`, чтобы проверить provider id, затем задайте default model и проверьте status:

        ```bash theme={null}
        openclaw models list
        openclaw models set <provider>/<Codex model ID copied from https://www.bettertoken.ai/pricing>
        openclaw gateway restart
        openclaw models status
        ```

        После записи config перейдите к разделу «Как применить» ниже, чтобы перезапустить gateway и проверить сессию.
      </Step>
    </Steps>
  </Tab>
</Tabs>

### Примечания для multi-agent setups и существующих сессий

Effective model priority в OpenClaw обычно такой:

`session override` > `agents.list[*].model` > `agents.defaults.model.primary`

Это значит:

* Если agent явно задает `model` в `agents.list`, он не наследует global default model.
* Если BetterToken установлен как global default model, но `main` все еще закрепляет старую модель, Discord DM flows, использующие `main`, продолжат использовать старую модель.
* Если в предыдущей session остались `providerOverride`, `modelOverride` или `authProfileOverride`, текущая session может продолжать использовать старый route даже после обновления default model.

Рекомендуемый workflow:

1. Если вы хотите, чтобы `main` следовал global default, не задавайте отдельный `model` для `main` или измените его на BetterToken.
2. Выполните `openclaw gateway restart` после изменения config.
3. Выполните `/new` в Discord, чтобы начать fresh session.
4. Используйте `/status` и `/model`, чтобы проверить active model.

### Минимальный пример config

Используйте provider id, который показывает `openclaw models list`. В примере ниже используется `bettertoken/gpt-5.4`; замените его, если provider id отличается.

```json theme={null}
{
  "agents": {
    "defaults": {
      "model": {
        "primary": "bettertoken/gpt-5.4",
        "fallbacks": []
      },
      "models": {
        "bettertoken/gpt-5.4": {
          "alias": "bettertoken"
        }
      }
    },
    "list": [
      {
        "id": "main"
      },
      {
        "id": "fitness-coach"
      },
      {
        "id": "trade-recorder",
        "model": {
          "primary": "bettertoken/gpt-5.4",
          "fallbacks": []
        }
      }
    ]
  }
}
```

* `main` не задает `model`, поэтому наследует global BetterToken default.
* `trade-recorder` задает `model`, поэтому не следует последующим изменениям global default.

## Как применить

<Tip>
  Если `/model` работает нестабильно, hot reload непоследователен или model picker странно ведет себя в старом OpenClaw build, обновитесь до последней версии перед глубокой диагностикой.
</Tip>

<Steps>
  <Step title="Сначала проверьте config layer">
    Выполните:

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

    Убедитесь, что provider BetterToken существует, а default model указывает на BetterToken.
  </Step>

  <Step title="Reload gateway">
    ```bash theme={null}
    openclaw gateway restart
    ```
  </Step>

  <Step title="Начните новую session">
    Выполните `/new` в Discord.
  </Step>

  <Step title="Проверьте модель текущей session">
    Выполните `/status` в Discord и убедитесь, что current agent и current session используют BetterToken.
  </Step>

  <Step title="При необходимости проверьте available model picker">
    Выполните `/model` в Discord.

    Если BetterToken там не появляется, проверьте:

    * указана ли текущая модель в `agents.defaults.models`
    * есть ли у provider model читаемое display name и, при необходимости, `alias` в `agents.defaults.models`
    * выполняли ли вы `openclaw gateway restart`
    * выполняли ли вы `/new`
  </Step>
</Steps>

## Быстрая диагностика

* Если вы изменили default model, но runtime все еще использует старую, сначала проверьте `agents.list.main.model`
* Если BetterToken не появляется в `/model`, проверьте, указан ли он в `agents.defaults.models`
* Если Discord все еще показывает старый route после изменения config, выполните `openclaw gateway restart`, затем `/new`
* Если model picker или hot reload все еще выглядят устаревшими, сначала обновите OpenClaw и протестируйте снова

## Запасной вариант: пусть Codex настроит это за вас

Если вы не хотите редактировать конфигурацию вручную, задайте API Key как переменную окружения и запустите Codex:

```bash theme={null}
export BETTERTOKEN_API_KEY="YOUR_API_KEY"
codex
```

Затем отправьте Codex такой запрос:

```text theme={null}
Проверь и исправь мою локальную настройку OpenClaw для BetterToken.

Требования:
1. Сначала прочитай текущую конфигурацию OpenClaw и определи provider id, модель по умолчанию и агентов в `agents.list`, у которых явно задано поле `model`.
2. Если provider BetterToken отсутствует, добавь provider с Base URL `https://www.bettertoken.ai/v1` и `api: "openai-responses"`.
3. Используй уже сохраненные в OpenClaw credentials. Добавляй extra headers только если текущая версия OpenClaw или upstream gateway явно требует их; не считай `User-Agent` обязательным для BetterToken.
4. Переключи модель по умолчанию на BetterToken и проверь, не закреплена ли у `main` старая модель. Если я хочу, чтобы `main` следовал global default, убери явное поле `model` у `main`.
5. Убедись, что активная модель BetterToken есть в `agents.defaults.models`, и добавь для нее понятный `alias`.
6. Сделай backup исходного config, подготовь минимальный diff и перед изменением скажи, какие поля собираешься менять.
7. После изменения выполни `openclaw gateway restart` и напомни мне проверить результат через `/new`, `/status` и `/model` в Discord.

Ограничения:
- Если нужен API Key, читай его из переменной окружения `BETTERTOKEN_API_KEY` и не выводи секрет в чат или логи.
- Если в текущей конфигурации еще нет модели BetterToken, попроси у меня model ID из Codex group в BetterToken model plaza.
```
