German fallback → cc/sonnet-4-6 → cx/gpt-5.5 (Kiro-креды в OmniRoute сдохли); пометка про kr/* в omniroute
This commit is contained in:
@@ -6,6 +6,8 @@ originSessionId: 9f26284f-db92-456f-813d-fd8210b7d7b6
|
|||||||
---
|
---
|
||||||
## OmniRoute v3.6.5 (LXC 132, 10.0.0.179)
|
## OmniRoute v3.6.5 (LXC 132, 10.0.0.179)
|
||||||
|
|
||||||
|
> ⚠️ **2026-06-19: провайдер Kiro (`kr/*`) потерял креды** — любой `kr/...` отдаёт `400 "No credentials for provider: kiro"`. Бьёт по fallback-цепочкам всех агентов, где стоял `kr/claude-sonnet-4.5` (German переведён на `cx/gpt-5.5`; проверить openclaw/swarmclaw). Лечение — переподключить Kiro-провайдер в дашборде OmniRoute. Что точно живо на 2026-06-19: `cc/claude-opus-4-8`, `cc/claude-opus-4-7`, `cc/claude-sonnet-4-6` (все Max — общий кап, периодический 400 «out of extra usage»), `cx/gpt-5.5` (Codex, отдельный провайдер). Мертво: `kr/*`, `cx/gpt-5.4`, `gemini-cli/*` (403), `gh/*` (500).
|
||||||
|
|
||||||
- **Путь**: /root/OmniRoute/, Node.js 22, Next.js 16.2, git repo (github.com/diegosouzapw/OmniRoute)
|
- **Путь**: /root/OmniRoute/, Node.js 22, Next.js 16.2, git repo (github.com/diegosouzapw/OmniRoute)
|
||||||
- **Dashboard**: http://10.0.0.179:20128, пароль: 1qaz!QAZ
|
- **Dashboard**: http://10.0.0.179:20128, пароль: 1qaz!QAZ
|
||||||
- **API**: http://10.0.0.179:20128/v1
|
- **API**: http://10.0.0.179:20128/v1
|
||||||
@@ -15,6 +17,15 @@ originSessionId: 9f26284f-db92-456f-813d-fd8210b7d7b6
|
|||||||
- **ExecStart**: `/usr/bin/node /root/.npm/_npx/<hash>/node_modules/omniroute/app/server.js` (hash меняется при обновлении)
|
- **ExecStart**: `/usr/bin/node /root/.npm/_npx/<hash>/node_modules/omniroute/app/server.js` (hash меняется при обновлении)
|
||||||
- **Конфиг**: /root/OmniRoute/.env (секреты сгенерированы)
|
- **Конфиг**: /root/OmniRoute/.env (секреты сгенерированы)
|
||||||
|
|
||||||
|
### Инцидент 2026-06-16: disk-full + Claude OAuth протух (всё на cc/* легло)
|
||||||
|
Симптом: агенты SwarmClaw (Бенелюкс и др.) + Антошка молчат, `cc/claude-opus-4-8` → 500/504. **Два корня:**
|
||||||
|
1. **Диск LXC 132 = 100%.** OmniRoute делает **бэкап БД ~300МБ на КАЖДУЮ запись** в `/root/.omniroute/db_backups/` → за время съел 50G → `SqliteError: database or disk is full` → 500. Лечение: чистка `db_backups` (оставить 2-3), старых `storage.sqlite.bak`/`call_logs`, `journalctl --vacuum`; диск расширен `pct resize 132 rootfs +50G` → **100G**. ⚠️ Backup-спам надо ограничить (cron-чистка `db_backups`), иначе 100G тоже забьётся. ⚠️ local-lvm thin pool физически на 90% — не расширять бесконечно.
|
||||||
|
2. **Claude Max OAuth протух** (`invalid_grant: Refresh token not found`, `claude | none active`). **Reconnect (процедура):**
|
||||||
|
- `curl -s -c /tmp/cj -X POST -d '{"password":"1qaz!QAZ"}' -H 'Content-Type: application/json' http://localhost:20128/api/auth/login`
|
||||||
|
- `curl -b /tmp/cj http://localhost:20128/api/oauth/claude/authorize` → отдаёт **authorize-URL** `https://claude.ai/oauth/authorize?...&code_challenge=...&state=...`
|
||||||
|
- Олег открывает URL → логин в **Max-аккаунт** → Authorize → Anthropic redirect на `platform.claude.com/oauth/code/callback?code=...&state=...` показывает код.
|
||||||
|
- Обмен кода завершается (UI/redirect) → `claude active`. Проверка: тест `cc/claude-opus-4-8` → 200.
|
||||||
|
|
||||||
### SSH доступ к LXC 132
|
### SSH доступ к LXC 132
|
||||||
- **Прямой SSH (root@10.0.0.179) НЕ РАБОТАЕТ** — пароль 1qaz!QAZ не подходит, ключ claude-code отсутствует
|
- **Прямой SSH (root@10.0.0.179) НЕ РАБОТАЕТ** — пароль 1qaz!QAZ не подходит, ключ claude-code отсутствует
|
||||||
- **Доступ через Proxmox**: `sshpass -p '1qaz!QAZ' ssh root@10.0.0.250 "pct exec 132 -- bash -c 'COMMAND'"` — РАБОТАЕТ
|
- **Доступ через Proxmox**: `sshpass -p '1qaz!QAZ' ssh root@10.0.0.250 "pct exec 132 -- bash -c 'COMMAND'"` — РАБОТАЕТ
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ tags: [decision, ai, hermes, telegram, lxc, assistant]
|
|||||||
|
|
||||||
## Модель
|
## Модель
|
||||||
- Провайдер **OmniRoute** (OpenAI-совместимый шлюз на LXC 132): `base_url http://10.0.0.179:20128/v1`.
|
- Провайдер **OmniRoute** (OpenAI-совместимый шлюз на LXC 132): `base_url http://10.0.0.179:20128/v1`.
|
||||||
- **Активная модель: `cc/claude-opus-4-8`** (Opus 4.8 via Max) + fallback `kr/claude-sonnet-4.5` (free).
|
- **Активная модель: `cc/claude-opus-4-8`** (Opus 4.8 via Max). **Fallback-цепочка (исправлена 2026-06-19): `cc/claude-sonnet-4-6` → `cx/gpt-5.5`.** Fallback в Hermes **срабатывает на 400 «out of extra usage»** (проверено по логам cc→fallback) — поэтому рабочий fallback критичен. ⚠️ Прежний fallback `kr/claude-sonnet-4.5` сдох: **OmniRoute потерял креды провайдера Kiro** («No credentials for provider: kiro», 2026-06-19) → German падал ПОЛНОСТЬЮ (и primary капнут, и fallback мёртв). `cx/gpt-5.5` выбран финальным fallback потому, что Codex — **отдельный провайдер, не Max** → переживает полный кап Max-квоты. Проверено: cx/gpt-5.5 работает через агентский цикл с тулами+KB.
|
||||||
- **КОРЕНЬ 400 «out of extra usage» (исправленное понимание):** это НЕ персистентное исчерпание квоты. Олег верно заметил: «если бы лимиты — ты (Claude на Opus 4.8) тоже бы не работал». Проверка по факту 2026-06-18 ~22:30: `curl cc/claude-opus-4-8` к OmniRoute с system-prompt 14B / 2КБ / 8КБ → **все 200**. То есть 400 в 19:11/19:18 был **транзиентным** — краткий кап 5-часового окна Max в момент пиковой нагрузки (Max делят this-session/German/openclaw/swarmclaw/code-server). Окно отпускает само. Если 400 участятся — включить overflow (pay-as-you-go) на claude.ai/settings/usage.
|
- **КОРЕНЬ 400 «out of extra usage» (исправленное понимание):** это НЕ персистентное исчерпание квоты. Олег верно заметил: «если бы лимиты — ты (Claude на Opus 4.8) тоже бы не работал». Проверка по факту 2026-06-18 ~22:30: `curl cc/claude-opus-4-8` к OmniRoute с system-prompt 14B / 2КБ / 8КБ → **все 200**. То есть 400 в 19:11/19:18 был **транзиентным** — краткий кап 5-часового окна Max в момент пиковой нагрузки (Max делят this-session/German/openclaw/swarmclaw/code-server). Окно отпускает само. Если 400 участятся — включить overflow (pay-as-you-go) на claude.ai/settings/usage.
|
||||||
- ⚠️ **`cc/claude-opus-4-8` (Max) ФЛАПАЕТ** `400: You're out of extra usage`: прямой curl к OmniRoute то проходит (19:16), то нет — реальные запросы Олега падали (19:11 «Привет», 19:18 «Бенелюкс», разные request_id). Причина: включённая Max-квота Opus в текущем окне исчерпана (overflow/pay-as-you-go выключен), а окно делят **openclaw (cc/opus-4-7) + swarmclaw (cc/opus-4-8) + code-server** через тот же OmniRoute `cc/*`.
|
- ⚠️ **`cc/claude-opus-4-8` (Max) ФЛАПАЕТ** `400: You're out of extra usage`: прямой curl к OmniRoute то проходит (19:16), то нет — реальные запросы Олега падали (19:11 «Привет», 19:18 «Бенелюкс», разные request_id). Причина: включённая Max-квота Opus в текущем окне исчерпана (overflow/pay-as-you-go выключен), а окно делят **openclaw (cc/opus-4-7) + swarmclaw (cc/opus-4-8) + code-server** через тот же OmniRoute `cc/*`.
|
||||||
- **400 — non-retryable BadRequestError → fallback НЕ срабатывает** (Hermes уводит в fallback только на rate-limit/5xx/connection). Поэтому fallback на Sonnet от Opus-400 не спасает.
|
- **400 — non-retryable BadRequestError → fallback НЕ срабатывает** (Hermes уводит в fallback только на rate-limit/5xx/connection). Поэтому fallback на Sonnet от Opus-400 не спасает.
|
||||||
|
|||||||
Reference in New Issue
Block a user