From 1afaab27e60556b88374d599e1cf0ea9c15eb903 Mon Sep 17 00:00:00 2001 From: dttb Date: Fri, 12 Jun 2026 00:47:15 +0300 Subject: [PATCH] =?UTF-8?q?swarmclaw:=20=D0=BD=D0=B0=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D1=8F=D1=89=D0=B8=D0=B9=20=D0=BA=D0=BE=D1=80=D0=B5=D0=BD=D1=8C?= =?UTF-8?q?=20=D1=82=D0=B5=D1=81=D0=BD=D0=BE=D1=82=D1=8B=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BD=D1=82=D0=B5=D0=BA=D1=81=D1=82=D0=B0=20=3D=20=D0=B6=D0=B8?= =?UTF-8?q?=D1=80=D0=BD=D1=8B=D0=B5=20=D1=81=D1=85=D0=B5=D0=BC=D1=8B=2024?= =?UTF-8?q?=20tools=20(33K/=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81);=20=D1=83?= =?UTF-8?q?=D1=80=D0=B5=D0=B7=D0=BA=D0=B0=20=D0=B4=D0=BE=209=20=3D=203K=20?= =?UTF-8?q?(x11)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- decisions/2026-06-08-swarmclaw-lxc135-deploy.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/decisions/2026-06-08-swarmclaw-lxc135-deploy.md b/decisions/2026-06-08-swarmclaw-lxc135-deploy.md index 82a7836..12084df 100644 --- a/decisions/2026-06-08-swarmclaw-lxc135-deploy.md +++ b/decisions/2026-06-08-swarmclaw-lxc135-deploy.md @@ -100,7 +100,14 @@ Device SwarmClaw (10.0.0.135) спарен на openclaw с `operator.admin` (ap - **Фикс — патч каталога окон в бандле:** добавлен `omniroute:2e5` в `PROVIDER_DEFAULT_WINDOWS` (чанк `/app/.next/server/chunks/src_lib_server_06.*.js`, паттерн `goose:2e5,openclaw:128e3` → `...,omniroute:2e5,openclaw:128e3`). Проверено: `context-status` → `contextWindow: 200000`. Бэкап чанка `.bak-ctxwin`. - **200K, не 1M:** консервативно (гарантированно для Opus). 1M ставить только после проверки, что Max-тракт `cc/*` реально принимает >200K (иначе переполнение → ошибка). - **Устойчивость:** патч в бандле образа — слетает при `--force-recreate`/обновлении. Скрипт `/opt/swarmclaw/repatch-ctxwin.sh` переприменяет (idempotent). Запускать после каждого `docker compose pull`/update SwarmClaw. -- **Вывод про claude-cli:** не нужен. Ключ Anthropic не давать — проблема была чисто в неверно посчитанном окне. +- **Вывод про claude-cli:** не нужен. Ключ Anthropic не давать. + +### НАСТОЯЩИЙ корень «контекст кончается за 2-3 запроса» (2026-06-12) +Размер окна оказался вторичен. Олег: «было 200, всё равно за 2-3 запроса кончается». Замер по OmniRoute `call_logs` (`/root/.omniroute/storage.sqlite`, поле `tokens_in`): простой запрос «привет» = **~33-36K tokens_in** (из них cache_read ~33K — кэшируется, но **занимает окно**). А SwarmClaw `context-status` показывал лишь **5.6K** — он НЕ учитывает в индикаторе системный промпт + **схемы инструментов** + knowledge-инжект. Отсюда иллюзия «3%» при реальных 16-18% на пустой запрос, и окно тает в ~6× быстрее. +- **Главный пожиратель — схемы 24 инструментов** в каждом запросе (browser, replicate, image_gen, google_workspace, swarmdock, manage_* — жирные JSON-схемы). **Урезал tools 24→9** (ядро: shell, execute, files, edit_file, web, memory, delegate, openclaw_nodes, schedule_wake) → tokens_in упал **33K → 3K (×11)**. Проверено замером. +- Knowledge (189 записей, ~270K ток суммарно) инжектится чанками **по релевантности** (CHUNK_TARGET_CHARS=2200), на «привет» не грузится — не постоянный оверхед, не трогал. +- **Как мерить:** `sqlite3 /root/.omniroute/storage.sqlite "SELECT tokens_in,tokens_cache_read FROM call_logs WHERE model LIKE '%opus-4-8%' ORDER BY timestamp DESC LIMIT 5"` на LXC 132. +- Урезаны Dirizhyor (0d388a87) + Ассистент (default, был сломан 0 tools — восстановлен через БД-INSERT). Прочие агенты Олега (Pochtalion/Бухгалтер/Бенелюкс/НИИКН-Ассистент/Nastavnik) — по 7 tools, не трогал. ## Схема API (для будущих правок headless) - `POST /api/providers` → `{id,name,baseUrl,models[],requiresApiKey,isEnabled}` (type всегда `custom`), хранит JSON в таблице `provider_configs`.