Providers

ClawRouter

ClawRouter предоставляет OpenClaw один ключ с заданной политикой для нескольких вышестоящих поставщиков моделей. Встроенный плагин clawrouter обнаруживает только модели, разрешённые для этого ключа, направляет запросы к каждой модели по заявленному для неё протоколу и отображает бюджет ключа и совокупное использование в интерфейсах использования OpenClaw.

Вышестоящие учётные данные и перенаправление с учётом конкретного поставщика остаются в ClawRouter, поэтому вам не требуется устанавливать или проходить аутентификацию в плагине каждого вышестоящего поставщика на хосте OpenClaw. Плагин поставляется в составе OpenClaw (enabledByDefault: true); вам нужны только выданные учётные данные ClawRouter.

Свойство Значение
Поставщик clawrouter
Плагин встроенный (включён в OpenClaw)
Аутентификация CLAWROUTER_API_KEY
URL по умолчанию https://clawrouter.openclaw.ai
Каталог моделей Ограничен учётными данными через /v1/catalog
Квоты Месячный бюджет и использование через /v1/usage

Начало работы

  • Получите учётные данные с заданной областью действия

    Запросите у администратора ClawRouter учётные данные, политика которых включает поставщиков, модели и месячный бюджет, которые вам следует использовать. Учётные данные отображаются один раз при выдаче.

  • Настройте OpenClaw

    bash
    export CLAWROUTER_API_KEY="..."openclaw onboard --auth-choice clawrouter-api-keyopenclaw plugins enable clawrouter

    clawrouter встроен и включён по умолчанию. Если в вашей конфигурации задан plugins.allow, добавьте clawrouter в этот список перед включением. Для пользовательского развёртывания задайте в models.providers.clawrouter.baseUrl источник ClawRouter; значение по умолчанию — https://clawrouter.openclaw.ai.

  • Выведите список предоставленных моделей

    bash
    openclaw models list --all --provider clawrouter

    Используйте возвращённые ссылки на модели в точности в указанном виде. Они сохраняют вышестоящее пространство имён, например clawrouter/openai/gpt-5.5, clawrouter/anthropic/claude-sonnet-4-6 или clawrouter/google/gemini-3.5-flash. Если agents.defaults.models используется в вашей конфигурации как список разрешений, добавьте в него каждую выбранную ссылку ClawRouter.

  • Выберите модель

    bash
    openclaw models set clawrouter/<provider>/<model>

    Вы также можете выбрать возвращённую модель для одного запуска с помощью openclaw agent --model clawrouter/<provider>/<model> --message "...".

  • Управляемое неинтерактивное развёртывание

    Храните ключ прокси в механизме внедрения секретов рабочей нагрузки, а в openclaw.json сохраняйте только SecretRef. Канонические управляемые поля:

    Назначение Поле конфигурации или окружения
    Источник маршрутизатора models.providers.clawrouter.baseUrl
    Учётные данные models.providers.clawrouter.apiKey -> SecretRef окружения
    Значение секрета CLAWROUTER_API_KEY в окружении процесса Gateway
    Модель по умолчанию agents.defaults.model.primary -> clawrouter/<provider>/<model>
    Тег рабочей нагрузки models.providers.clawrouter.headers.X-ClawRouter-Project-Id (необязательно)

    Например, контроллер развёртывания может управлять этим исправлением JSON5:

    json5
    {  plugins: {    entries: { clawrouter: { enabled: true } },  },  models: {    providers: {      clawrouter: {        baseUrl: "https://clawrouter.internal.example",        apiKey: {          source: "env",          provider: "default",          id: "CLAWROUTER_API_KEY",        },        headers: {          "X-ClawRouter-Project-Id": "fakeco",        },      },    },  },  agents: {    defaults: {      model: { primary: "clawrouter/openai/gpt-5.5" },    },  },}

    Если развёртывание задаёт plugins.allow, сохраните существующие записи и добавьте clawrouter. Проверьте и примените без интерактивного мастера:

    bash
    openclaw config patch --file ./clawrouter.patch.json5 --dry-run --jsonopenclaw config patch --file ./clawrouter.patch.json5

    Пробный запуск разрешает SecretRef, но никогда не выводит его значение. Чтобы сменить учётные данные, обновите внешний Secret, предоставляющий CLAWROUTER_API_KEY, и перезапустите рабочую нагрузку Gateway, чтобы загрузилось новое окружение процесса. Файл конфигурации и ссылка на модель не изменяются.

    Для автономного Docker Gateway, собранного из исходного кода, ClawRouter уже включён в корневую среду выполнения. Выберите только плагин канала, которому нужна отдельная упаковка, например OPENCLAW_EXTENSIONS=clickclack, slack или msteams; см. образы, собранные из исходного кода с выбранными плагинами. Архивные развёртывания и развёртывания в виде программно-аппаратного комплекса должны упаковывать тот же интегрированный исходный код через собственный конвейер артефактов, а не использовать образ OCI.

    Готовность и проверка в рабочей среде

    Эти проверки подтверждают разные границы; не заменяйте одну другой:

    bash
    # Только работоспособность процесса ClawRouter; учётные данные и вышестоящая модель не проверяются.curl -fsS https://clawrouter.internal.example/v1/health # Только готовность запуска Gateway OpenClaw; вызов модели не выполняется.curl -fsS http://127.0.0.1:18789/readyz # Обнаружение каталога в области действия учётных данных.openclaw models list --all --provider clawrouter --json # Минимальная проверка реального вывода через настроенного поставщика ClawRouter.openclaw models status --probe --probe-provider clawrouter --probe-max-tokens 8 --json # Контрольная проверка рабочей нагрузки с точной ссылкой на предоставленную модель.openclaw agent --agent main \  --model clawrouter/openai/gpt-5.5 \  --message "Ответьте в точности: CLAWROUTER_CANARY_OK" \  --json

    Используйте модель, возвращённую каталогом с заданной областью действия, вместо бездумного копирования модели из примера. Успешный ответ /readyz означает, что Gateway может обслуживать запросы; он не подтверждает готовность ClawRouter, его учётных данных или вышестоящего поставщика. Проверка модели и контрольная проверка агента подтверждают выполнение вывода.

    Для диагностики в рабочей среде запустите контрольную проверку и изучите стандартные журналы Gateway. Существующая диагностика транспорта модели, содержащая только метаданные, выводит строки следующего вида:

    text
    [model-fetch] запуск provider=clawrouter api=openai-responses model=openai/gpt-5.5 method=POST url=https://clawrouter.internal.example/v1/responses[model-fetch] ответ provider=clawrouter api=openai-responses model=openai/gpt-5.5 status=200

    Плагин отправляет ограниченные по длине заголовки X-ClawRouter-Client, X-ClawRouter-Agent-Id и X-ClawRouter-Session-Id, когда эти идентификаторы доступны. Он также сопоставляет диагностический callId вызова модели (<run-id>:model:<n>) с X-Request-ID, чтобы событие вызова модели OpenClaw можно было связать с аудиторским журналом ClawRouter, содержащим только метаданные. Значения, укладывающиеся в ограничение идентификатора запроса в 128 символов, идентичны. Более длинные значения сохраняют суффикс :model:<n> и детерминированный хеш, поэтому различные вызовы остаются ограниченными по длине и доступными для сопоставления. Статические метаданные развёртывания, такие как X-ClawRouter-Project-Id, можно задать в карте headers поставщика. Заголовки атрибуции агента и сеанса сохраняют отдельное ограничение в 256 символов. Автоматические идентификаторы запросов, содержащие символы вне набора ASCII-идентификаторов ClawRouter, используют ту же детерминированную форму с ограниченной длиной. Явно настроенные заголовки, включая любой вариант регистра X-Request-ID, имеют приоритет над автоматическими значениями. Диагностика транспорта записывает метаданные маршрутизации и ответа; она не регистрирует учётные данные, идентификаторы запросов, запросы к модели или результаты. Собственное событие аудита ClawRouter содержит выбранного вышестоящего поставщика и состояние хранения содержимого.

    Обнаружение моделей

    GET /v1/catalog возвращает { providers: [...] }, где каждая запись поставщика содержит собственный models[] (с вышестоящим идентификатором, возможностями и ценами) и поддерживаемые маршруты запросов. OpenClaw не поставляет второй фиксированный список моделей ClawRouter. Модель каталога объявляется моделью OpenClaw, если:

    • политика учётных данных предоставляет доступ к её поставщику;
    • модель каталога объявляет поддерживаемую возможность LLM (llm.responses, llm.chat, llm.messages или llm.stream с соответствующим потоковым маршрутом); и
    • поставщик предоставляет соответствующий маршрут для одного из указанных ниже транспортов.

    Для добавления модели к поддерживаемому поставщику ClawRouter выпуск новой версии OpenClaw не требуется: следующее обновление каталога (кэшируется на 60 секунд для каждой области действия учётных данных) обнаружит её. Для модели, которой нужен новый протокол передачи, сначала требуется поддержка в плагине.

    Плагины протоколов и поставщиков

    ClawRouter управляет вышестоящими учётными данными; его каталог сообщает OpenClaw, какой транспорт использовать, поэтому вам не требуется устанавливать плагин аутентификации каждой вышестоящей компании.

    Возможность/маршрут каталога Транспорт OpenClaw
    llm.responses (OpenAI-совместимый поставщик) openai-responses
    llm.chat (OpenAI-совместимый поставщик) openai-completions
    llm.messages + маршрут anthropic.messages anthropic-messages
    llm.stream + потоковый маршрут google.generate_content google-generative-ai

    Плагин также применяет соответствующие политики повторного воспроизведения и схем инструментов для этих семейств (совместимость схем инструментов OpenAI/DeepSeek/Gemini; собственные политики повторного воспроизведения Anthropic и Google Gemini). Поставщик каталога, предоставляющий только неподдерживаемый формат запроса, намеренно не объявляется текстовой моделью OpenClaw. Нормализуйте таких поставщиков в ClawRouter до одного из поддерживаемых контрактов, а не отправляйте несовместимую полезную нагрузку.

    Квоты и использование

    Ответ /v1/usage ClawRouter передаётся в обычные интерфейсы использования поставщиков OpenClaw: итоговые значения запросов, токенов и расходов, а также окно месячного бюджета, если для ключа задано ограничение. Для ключей без учёта также отображается совокупное использование без процентного окна.

    При запросе квоты используется тот же ключ с заданной областью действия, что и при обнаружении моделей. Ошибка запроса квоты не блокирует выполнение модели.

    Проверьте текущий снимок с помощью:

    bash
    openclaw status --usageopenclaw models status

    Тот же снимок поставщика доступен для /status в чате и интерфейсе использования OpenClaw. Бюджет действует на всю политику, поэтому запросы другого клиента, использующего ту же политику ClawRouter, могут изменить оставшийся процент.

    Устранение неполадок

    Симптом Проверка
    Нет моделей ClawRouter Убедитесь, что плагин включён и разрешён в plugins.allow, затем проверьте, что учётные данные активны и предоставляют доступ хотя бы к одному готовому поставщику.
    Настроенная модель ClawRouter отсутствует Проверьте её возможность /v1/catalog и поддержку маршрута. Неподдерживаемые контракты транспорта намеренно отфильтровываются.
    Unknown model: clawrouter/... Добавьте точную ссылку из каталога в agents.defaults.models, если эта карта конфигурации используется как список разрешений.
    401 или 403 от каталога или интерфейса использования Повторно выдайте учётные данные ClawRouter или измените их область действия; OpenClaw не переключается на ключи вышестоящего поставщика.
    Вызов модели завершается ошибкой после обнаружения Проверьте подключение поставщика и состояние вышестоящей службы в ClawRouter, затем повторите попытку после восстановления её готовности.
    Есть итоговые значения использования, но нет процента Политика не тарифицируется; добавьте месячный бюджет в ClawRouter, чтобы отобразить процентное окно.

    Поведение безопасности

    • Обнаружение каталога ограничено областью настроенного ключа прокси и кэшируется для каждой области учётных данных (каталог агента, каталог рабочего пространства, идентификатор профиля аутентификации и базовый URL-адрес).
    • Ключ прокси добавляется только при отправке запроса; он не сохраняется в метаданных модели.
    • Перед отправкой из значений автоматической атрибуции и корреляции запросов удаляются пробелы по краям, а управляющие символы отклоняются. Длина значений атрибуции ограничена 256 символами, а идентификаторов запросов — 128.
    • Диагностические данные транспорта модели содержат только метаданные и никогда не включают ключ прокси или содержимое модели.
    • Идентификаторы нативных моделей Anthropic и Gemini преобразуются в соответствующие идентификаторы вышестоящих сервисов только при отправке.
    • Строки каталога, которые не поддерживаются или к которым не предоставлен доступ, отклоняются по принципу запрета по умолчанию и недоступны для выбора.

    Связанные материалы

    Was this useful?
    On this page

    On this page