--- date: 2026-05-26 type: decision tags: [decision, bot, openclaw, omniroute] --- # Антошка на Opus 4.7: Kiro/GH-free варианты нерабочие, primary остаётся cc/ (Max-подписка) **Дата:** 2026-05-26 **Статус:** Реализовано (конфиг откатан на cc/claude-opus-4-7) ## Контекст - LXC 137 (бывшая "Максимка", переименовано в **"Антошка"** 2026-05-26) - Цель: перевести Антошку с Sonnet 4.5/Opus 4.6 на **Opus 4.7** как primary - Гипотеза: использовать бесплатный `kr/claude-opus-4.7` через Kiro (AWS Free Tier), как уже работает для `kr/claude-sonnet-4.5`. Если квоты не хватит — добавить ещё Kiro-учёток. ## Что попробовал ### 1. Переключил primary на `omniroute/kr/claude-opus-4.7` Добавил модель в `models.providers.omniroute.models` (её там не было — только `cc/claude-opus-4-7`): ```bash openclaw config set agents.defaults.model.primary omniroute/kr/claude-opus-4.7 openclaw config set agents.defaults.model.fallbacks \ '["omniroute/cc/claude-opus-4-7","omniroute/cc/claude-sonnet-4-6","omniroute/cx/gpt-5.4"]' ``` Hot reload применился, gateway: `agent model: omniroute/kr/claude-opus-4.7`. ### 2. Результат — каскадный фейл всех Anthropic-каналов Первый же реальный запрос (Telegram): ``` 14:02:18 kr/claude-opus-4.7 → 402 You have reached the limit (×4 раза по разным учёткам) 14:04:21 kr/claude-opus-4.7 → 400 No credentials for provider: kiro 14:04:24 cc/claude-opus-4-7 → 400 You're out of extra usage (Max-подписка выгорела) 14:04:26 cc/claude-sonnet-4-6 → 400 You're out of extra usage 14:04:50 cx/gpt-5.4 → 200 success (Codex выручил) ``` ### 3. Состояние Kiro в OmniRoute (LXC 132, storage.sqlite) ``` provider_connections WHERE provider='kiro': 5 connections: 4 × credits_exhausted + 1 × banned ``` Все Opus 4.7 вызовы через Kiro **сегодня и исторически** = 402. Ни одного 200. ### 4. Проверил остальные провайдеры на Opus 4.7 | Провайдер | Opus 4.7 | |---|---| | `cc/` (Max OAuth) | **200 OK** — работает (после rolling-окна) | | `kr/` (Kiro AWS) | 402, кредиты выгорели на всех учётках | | `gh/` (GitHub Models) | 400 — модель есть в `available`, но адаптер OmniRoute шлёт под `integrator="vscode-chat"` который её не имеет | | `kimi-coding/` | 402 billing | | `amazon-q/` | 500 | | `antigravity/` | timeout | ## Ключевое открытие **Kiro Opus 4.7 — не Free Tier.** На Sonnet 4.5 учётка живёт месяц (~250-300M токенов), на Opus 4.7 — выгорает с первых запросов. Это **отдельная квота**, и она либо нулевая, либо настолько мелкая что неотличима от нуля. Добавление новых Kiro-учёток **не решает** проблему — каждая новая учётка выгорит на Opus так же быстро. ## Решение **Primary возвращён на `cc/claude-opus-4-7` (Max-подписка):** ```json "agents.defaults.model.primary": "omniroute/cc/claude-opus-4-7" "agents.defaults.model.fallbacks": [ "omniroute/cc/claude-sonnet-4-6", "omniroute/kr/claude-sonnet-4.5", "omniroute/cx/gpt-5.4" ] ``` Логика fallback chain: 1. Max-подписка Opus — основной 2. Max-подписка Sonnet — если Opus rolling-окно временно выгорело 3. **Kiro Sonnet** — бесплатный месячный канал, страховка пока Max не восстановится 4. Codex — последний резерв (rolling 3h, ~120 успехов/день суммарно) ## Что НЕ делать впредь 1. **Не пытаться использовать `kr/claude-opus-4.x` как primary** — квота меньше дневной нагрузки бота (~450 вызовов/день), сколько учёток ни добавляй. 2. **Не доверять `gh/claude-opus-*` через OmniRoute** — модель в `available list`, но адаптер несовместим (integrator-ID). Может починят апстрим, тогда переоценить. 3. **Перед сменой primary** — проверять `provider_connections.test_status` и делать одиночный `curl` тест через `http://10.0.0.179:20128/v1/chat/completions` с `model="<новая>"`. Сегодня я этого не сделал → пользователь увидел "Something went wrong" в Telegram. ## Файлы - Бэкап: `/root/.openclaw/openclaw.json.bak-opus47-2026-05-26-*` - Текущий конфиг: `/root/.openclaw/openclaw.json` (Antoshka primary = `cc/claude-opus-4-7`) ## См. также - [[projects/dttb/openclaw|openclaw.md]] — справочник Антошки (бывш. Максимка) - [[projects/clawdbot-bots|clawdbot-bots.md]] — список всех ботов - [[decisions/2026-04-17-code-server-upgrade]] — предыдущая работа по OmniRoute/Kiro