# DEV-014: Аудит и настройка моделей в OpenClaw **Дата:** 27 марта 2026 **Статус:** ✅ Завершено --- ## 1. Что нашёл в документации ### `/app/docs/providers/google.md` - Провайдер: `google` - Аутентификация: `GEMINI_API_KEY` или `GOOGLE_API_KEY` (из `~/.openclaw/.env`) - Синтаксис модели в конфиге: `google/gemini-3.1-pro-preview` (prefix `google/` + ID модели) - Если Gateway запущен как демон — `GEMINI_API_KEY` должен быть в `~/.openclaw/.env` ✅ (уже так) - Альтернативный провайдер: `google-gemini-cli` (OAuth, unofficial) ### `/app/docs/providers/models.md` - Формат задания модели: `provider/model` (например `google/gemini-2.5-pro`) - Для OpenRouter: `openrouter//` ### `/app/docs/providers/openrouter.md` - Модели OpenRouter: `openrouter//` (например `openrouter/anthropic/claude-sonnet-4.6`) - Принципиальное отличие от Google: OpenRouter имеет промежуточный слой (один ключ → много провайдеров) --- ## 2. Что было неправильно в конфиге ### Проблема: Устаревшие/несуществующие ID моделей Google Были добавлены следующие модели, которые **не существуют в Google API**: | Неправильный ID | HTTP ответ | Причина ошибки | |-----------------|------------|----------------| | `gemini-2.5-pro-preview-03-25` | **404 NOT FOUND** | Устаревший preview ID (был заменён стабильным) | | `gemini-2.5-flash-preview-04-17` | **404 NOT FOUND** | Устаревший preview ID (был заменён стабильным) | Проверка через `GET /v1beta/models?key=...` показала, что этих моделей больше нет в API. --- ## 3. Что исправил ### Удалены невалидные модели ``` - google/gemini-2.5-pro-preview-03-25 - gemini-2.5-pro-preview-03-25 - google/gemini-2.5-flash-preview-04-17 - gemini-2.5-flash-preview-04-17 ``` ### Добавлены актуальные модели (проверено через Google ListModels API) ```json "google/gemini-2.5-pro": {}, "gemini-2.5-pro": {}, "google/gemini-2.5-flash": {}, "gemini-2.5-flash": {}, "google/gemini-2.5-flash-lite": {}, "gemini-2.5-flash-lite": {}, "google/gemini-2.0-flash": {}, "gemini-2.0-flash": {}, "google/gemini-3.1-pro-preview": {}, "gemini-3.1-pro-preview": {}, "google/gemini-3.1-flash-lite-preview": {}, "gemini-3.1-flash-lite-preview": {} ``` Все модели добавлены **двумя записями** — с prefix `google/` и без (согласно правилу из MEMORY.md). ### Почему профиль `google:default` корректен ```json "google:default": { "provider": "google", "mode": "api_key" } ``` Профиль настроен правильно. Ключ `GEMINI_API_KEY` читается из `~/.openclaw/.env` ✅. --- ## 4. Результаты тестирования ### Полный список актуальных моделей Google (через ListModels API) Из API получен список всех моделей, поддерживающих `generateContent`: | ID модели | Название | |-----------|---------| | `gemini-2.5-flash` | Gemini 2.5 Flash | | `gemini-2.5-pro` | Gemini 2.5 Pro | | `gemini-2.0-flash` | Gemini 2.0 Flash | | `gemini-2.0-flash-001` | Gemini 2.0 Flash 001 | | `gemini-2.0-flash-lite` | Gemini 2.0 Flash-Lite | | `gemini-2.5-flash-lite` | Gemini 2.5 Flash-Lite | | `gemini-3.1-pro-preview` | Gemini 3.1 Pro Preview | | `gemini-3.1-flash-lite-preview` | Gemini 3.1 Flash Lite Preview | | `gemini-3-pro-preview` | Gemini 3 Pro Preview | | `gemini-3-flash-preview` | Gemini 3 Flash Preview | ### Тестовые вызовы | Модель | Статус | Результат | |--------|--------|-----------| | `gemini-2.5-flash` | ✅ 200 OK | `Hi` (корректный ответ) | | `gemini-2.5-pro` | ⚠️ 429 | Rate limit (Free Tier) — модель существует, лимит квоты | | `gemini-3.1-pro-preview` | ⚠️ 429 | Rate limit (Free Tier) — модель существует, лимит квоты | | `gemini-2.5-pro-preview-03-25` | ❌ 404 | Модель не существует | | `gemini-2.5-flash-preview-04-17` | ❌ 404 | Модель не существует | **Вывод:** API работает. Free Tier имеет строгие rate limits, но модели валидны. --- ## 5. Нужна ли перезагрузка гейтвея? **Да, нужна** — изменения в `openclaw.json` (список `agents.defaults.models`) вступают в силу только после перезапуска Gateway. ```bash # Перезапуск Gateway openclaw gateway restart ``` Или вручную: ```bash kill -9 $(pgrep -f "openclaw gateway") && openclaw gateway & ``` --- ## Итог - ✅ Документация изучена — Google provider работает через `google/` prefix + `GEMINI_API_KEY` в `.env` - ✅ Обнаружены 2 невалидных ID моделей (устаревшие preview-версии с датой) - ✅ Конфиг исправлен: добавлены актуальные стабильные модели Google (2.5-pro, 2.5-flash, 2.0-flash, 2.5-flash-lite, 3.1-pro-preview, 3.1-flash-lite-preview) - ✅ Все модели добавлены двумя записями (с prefix `google/` и без) - ✅ API протестирован — `gemini-2.5-flash` отвечает корректно (HTTP 200) - ⚠️ Free Tier активен — есть rate limits, но это ограничение плана, не конфигурации - 🔄 Требуется перезапуск Gateway для применения изменений