Files
wiki/tasks/reports/DEV-014-models-audit.md
2026-04-12 21:55:33 +03:00

6.0 KiB
Raw Blame History

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/<provider>/<model>

/app/docs/providers/openrouter.md

  • Модели OpenRouter: openrouter/<provider>/<model> (например 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)

"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 корректен

"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.

# Перезапуск Gateway
openclaw gateway restart

Или вручную:

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 для применения изменений