German: модель → kr/claude-sonnet-4.5 (Max-квота cc/opus исчерпана); live раунд-трип подтверждён
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -14,7 +14,9 @@ tags: [decision, ai, hermes, telegram, lxc, assistant]
|
|||||||
- **Telegram-бот** «Герман Непомнящий» **@german_dttb_bot** (id 8885932329). Gateway = systemd `hermes-german.service` (`hermes gateway run --replace`, Restart=always, drain 210s, crash-guard, NoNewPrivileges/PrivateTmp).
|
- **Telegram-бот** «Герман Непомнящий» **@german_dttb_bot** (id 8885932329). Gateway = systemd `hermes-german.service` (`hermes gateway run --replace`, Restart=always, drain 210s, crash-guard, NoNewPrivileges/PrivateTmp).
|
||||||
|
|
||||||
## Модель
|
## Модель
|
||||||
- Провайдер **OmniRoute** (OpenAI-совместимый шлюз на LXC 132): `base_url http://10.0.0.179:20128/v1`, модель **`cc/claude-opus-4-8`** (Opus 4.8 через Max-подписку Олега).
|
- Провайдер **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 сбросится).
|
||||||
- Ключ — `OPENAI_API_KEY` + `OPENAI_BASE_URL` в `/root/.hermes/.env` (chmod 600).
|
- Ключ — `OPENAI_API_KEY` + `OPENAI_BASE_URL` в `/root/.hermes/.env` (chmod 600).
|
||||||
- `auxiliary` (vision/web_extract/compression/session_search) → `provider: main` — иначе лезли бы в OpenRouter (ключа нет) и падали.
|
- `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`.
|
- ⚠️ **Грабля для будущего:** оба воркфлоу-ревьюера по коду утверждали, что на приватный 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`.
|
||||||
@@ -49,7 +51,7 @@ tags: [decision, ai, hermes, telegram, lxc, assistant]
|
|||||||
- ✅ Прямой вызов OmniRoute cc/claude-opus-4-8 (стрим).
|
- ✅ Прямой вызов OmniRoute cc/claude-opus-4-8 (стрим).
|
||||||
- ✅ Gateway: `✓ telegram connected` (polling), getMe ok, allowlist на Олега.
|
- ✅ Gateway: `✓ telegram connected` (polling), getMe ok, allowlist на Олега.
|
||||||
- ✅ Тулсет Telegram безопасен (без browser/code-exec/computer-use).
|
- ✅ Тулсет Telegram безопасен (без browser/code-exec/computer-use).
|
||||||
- ⏳ Финальный gateway-раунд-трип подтверждается первым реальным сообщением Олега боту.
|
- ✅ **Live gateway-раунд-трип**: сообщение Олега «Привет» прошло Telegram→allowlist→OmniRoute→Anthropic (ключ резолвится в gateway без `model.api_key` — опасения ревью не подтвердились). На cc/opus упёрлись в квоту Max (400); на `kr/claude-sonnet-4.5` — KB-вопрос через тулы вернул верный IP.
|
||||||
|
|
||||||
## TODO / на будущее
|
## TODO / на будущее
|
||||||
- Fallback-цепочка (cc/sonnet-4-6, kr/sonnet-4.5, cx/gpt-5.4) — формат `fallback_providers` с `api_key_env` (НЕ `${VAR}` — путь резолва фолбэков не делает env-подстановку). Пока не ставил (primary надёжен).
|
- Fallback-цепочка (cc/sonnet-4-6, kr/sonnet-4.5, cx/gpt-5.4) — формат `fallback_providers` с `api_key_env` (НЕ `${VAR}` — путь резолва фолбэков не делает env-подстановку). Пока не ставил (primary надёжен).
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ tags: [dttb, proxmox]
|
|||||||
| ОС/рантайм | Debian 12, unprivileged + nesting, Hermes Agent v0.16.0 (Python, `/usr/local/lib/hermes-agent`, данные `/root/.hermes`) |
|
| ОС/рантайм | 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) |
|
| Ресурсы | 2 vCPU / 3 GB / 12 GB (rootfs на local-lvm) |
|
||||||
| Telegram | бот **«Герман Непомнящий»** @german_dttb_bot — заперт на Олега (`TELEGRAM_ALLOWED_USERS=1292155421`) |
|
| Telegram | бот **«Герман Непомнящий»** @german_dttb_bot — заперт на Олега (`TELEGRAM_ALLOWED_USERS=1292155421`) |
|
||||||
| Модель | `cc/claude-opus-4-8` через OmniRoute (`http://10.0.0.179:20128/v1`), auxiliary→main |
|
| Модель | `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, когда квота сбросится |
|
||||||
| Workspace | `/root/german` (KB-зеркало `knowledge-base/` RO, cron `*/15` pull; `notes/` writable) |
|
| Workspace | `/root/german` (KB-зеркало `knowledge-base/` RO, cron `*/15` pull; `notes/` writable) |
|
||||||
| Сервис | systemd `hermes-german.service` (`hermes gateway run --replace`) |
|
| Сервис | systemd `hermes-german.service` (`hermes gateway run --replace`) |
|
||||||
| Tags | ai, assistant, hermes |
|
| Tags | ai, assistant, hermes |
|
||||||
|
|||||||
Reference in New Issue
Block a user