6.0 KiB
6.0 KiB
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(prefixgoogle/+ 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 для применения изменений