From 055b3fe35c65b6a07d76048456c21e5aecbab931 Mon Sep 17 00:00:00 2001 From: dttb Date: Thu, 18 Jun 2026 22:22:33 +0300 Subject: [PATCH] =?UTF-8?q?German:=20primary=20=D0=BD=D0=B0=20kr/sonnet-4.?= =?UTF-8?q?5=20(cc/opus=20Max=20=D1=84=D0=BB=D0=B0=D0=BF=D0=B0=D0=B5=D1=82?= =?UTF-8?q?=20400,=20fallback=20=D0=BD=D0=B5=20=D0=BB=D0=BE=D0=B2=D0=B8?= =?UTF-8?q?=D1=82);=20=D1=84=D0=B8=D0=BA=D1=81=20=D0=B7=D0=B0=D0=B4=D0=B2?= =?UTF-8?q?=D0=BE=D0=B5=D0=BD=D0=B8=D1=8F=20Telegram?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- decisions/2026-06-18-german-hermes-agent-deploy.md | 6 +++++- projects/dttb/proxmox-inventory.md | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/decisions/2026-06-18-german-hermes-agent-deploy.md b/decisions/2026-06-18-german-hermes-agent-deploy.md index 2250db3..82d013d 100644 --- a/decisions/2026-06-18-german-hermes-agent-deploy.md +++ b/decisions/2026-06-18-german-hermes-agent-deploy.md @@ -16,7 +16,11 @@ tags: [decision, ai, hermes, telegram, lxc, assistant] ## Модель - Провайдер **OmniRoute** (OpenAI-совместимый шлюз на LXC 132): `base_url http://10.0.0.179:20128/v1`. - **Активная модель: `kr/claude-sonnet-4.5`** (free, Kiro/AWS — основная free-модель из CLAUDE.md). -- ⚠️ **Изначально ставил `cc/claude-opus-4-8` (Max), но на первом же реальном сообщении Олега Anthropic вернул `400: You're out of extra usage` — квота Max исчерпана.** Весь конвейер при этом отработал (Telegram→allowlist→OmniRoute→Anthropic), упёрлись только в биллинг. 400 — non-retryable, на fallback НЕ уходит → primary должен быть рабочей моделью. Переключил на бесплатную `kr/claude-sonnet-4.5`. Вернуть Opus: `sed -i 's|kr/claude-sonnet-4.5|cc/claude-opus-4-8|' config.yaml && systemctl restart hermes-german` (когда квота Max сбросится). +- ⚠️ **`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 не спасает. +- **Решение: primary = `kr/claude-sonnet-4.5`** (free, Kiro/AWS, не флапает, не ест Max-квоту, не конкурирует с другими ботами Олега). Проверено: запрос «Бенелюкс» через тулы вернул корректную сводку по KB. +- Вернуть Opus, когда окно Max освободится / включён overflow: `sed -i 's|kr/claude-sonnet-4.5|cc/claude-opus-4-8|' /root/.hermes/config.yaml && systemctl restart hermes-german`. +- Доп. правки сессии: отключён `display.platforms.telegram.streaming` (было задвоение сообщений в Telegram); fallback-цепочка протестирована (формат `fallback_providers: [{provider,model,base_url}]`, ключ берётся из env — работает), но снята, т.к. от 400 не помогает. - Ключ — `OPENAI_API_KEY` + `OPENAI_BASE_URL` в `/root/.hermes/.env` (chmod 600). - `auxiliary` (vision/web_extract/compression/session_search) → `provider: main` — иначе лезли бы в OpenRouter (ключа нет) и падали. - ⚠️ **Грабля для будущего:** оба воркфлоу-ревьюера по коду утверждали, что на приватный IP-эндпоинт `OPENAI_API_KEY` из env «гейтится по хосту» и нужен `model.api_key: ${OPENAI_API_KEY}` в config.yaml, иначе 401. **Эмпирически опровергнуто** — CLI- и gateway-вызовы к 10.0.0.179 проходят с env-ключом без `model.api_key`. Если когда-нибудь начнёт давать 401 на первом вызове модели — добавить `api_key: ${OPENAI_API_KEY}` в секцию `model:` и `systemctl restart hermes-german`. diff --git a/projects/dttb/proxmox-inventory.md b/projects/dttb/proxmox-inventory.md index f0533b4..2809437 100644 --- a/projects/dttb/proxmox-inventory.md +++ b/projects/dttb/proxmox-inventory.md @@ -224,7 +224,7 @@ tags: [dttb, proxmox] | ОС/рантайм | Debian 12, unprivileged + nesting, Hermes Agent v0.16.0 (Python, `/usr/local/lib/hermes-agent`, данные `/root/.hermes`) | | Ресурсы | 2 vCPU / 3 GB / 12 GB (rootfs на local-lvm) | | Telegram | бот **«Герман Непомнящий»** @german_dttb_bot — заперт на Олега (`TELEGRAM_ALLOWED_USERS=1292155421`) | -| Модель | `kr/claude-sonnet-4.5` (free, Kiro/AWS) через OmniRoute (`http://10.0.0.179:20128/v1`), auxiliary→main. ⚠️ `cc/claude-opus-4-8` (Max) выдал 400 «out of extra usage» — квота Max исчерпана; вернуть Opus = сменить `model.default` + restart, когда квота сбросится | +| Модель | `kr/claude-sonnet-4.5` (free, Kiro/AWS) через OmniRoute (`http://10.0.0.179:20128/v1`), auxiliary→main. ⚠️ `cc/claude-opus-4-8` (Max) **флапает** 400 «out of extra usage» (окно Max-Opus делят openclaw/swarmclaw/code-server); 400 non-retryable → fallback НЕ ловит → primary держим на Sonnet. Вернуть Opus: `sed -i 's\|kr/claude-sonnet-4.5\|cc/claude-opus-4-8\|' /root/.hermes/config.yaml && systemctl restart hermes-german` | | Workspace | `/root/german` (KB-зеркало `knowledge-base/` RO, cron `*/15` pull; `notes/` writable) | | Сервис | systemd `hermes-german.service` (`hermes gateway run --replace`) | | Tags | ai, assistant, hermes |