diff --git a/decisions/2026-06-08-swarmclaw-lxc135-deploy.md b/decisions/2026-06-08-swarmclaw-lxc135-deploy.md index 4be3197..9d88bdc 100644 --- a/decisions/2026-06-08-swarmclaw-lxc135-deploy.md +++ b/decisions/2026-06-08-swarmclaw-lxc135-deploy.md @@ -113,7 +113,11 @@ Device SwarmClaw (10.0.0.135) спарен на openclaw с `operator.admin` (ap - **Канал vision работает** — проверено end-to-end: upload PNG (`POST /api/upload`, header `x-filename`, → `data/uploads/`, `resolveImagePath` читает файл → base64 → `image_url` формат → OmniRoute → `cc/claude-opus-4-8` (input_modalities text+image) → агент описал картинку. - **Из коробки работают:** вставка `Cmd+V` (`handlePaste` ловит `image/*` из clipboard) + кнопка «Add image». Vision-гейта по провайдеру НЕТ (не блокирует custom omniroute). - **Drag&drop НЕ был реализован** (в `chat-input.tsx` не было `onDrop`). **Допатчил:** добавил `handleDrop/handleDragOver/handleDragLeave` + state `isDragging` + `onDrop` на корневой div (переиспользует `uploadAndAdd`). Патч сохранён: **`/opt/swarmclaw/dragdrop.patch`** (`git apply`). -- **Требует пересборки образа** (`docker compose build` — `npm ci` из кэша, переедет `next build` ~5-10 мин, затем `docker compose up -d`). **Слетает при `docker compose pull`/обновлении** → переприменить: `cd /opt/swarmclaw && git apply dragdrop.patch && docker compose build && docker compose up -d`. +- **Требует пересборки образа** (`docker compose build` — `npm ci` из кэша, переедет `next build` ~5-10 мин, затем `docker compose up -d`). +- **ОТКАЧЕНО 2026-06-12:** сборка `next build` шла слишком долго/молча, Олег не дождался, drag&drop так и не доехал до контейнера → `git checkout -- src/components/input/chat-input.tsx`, сборку убил. В src и контейнере чисто (0 `handleDrop`). Патч-файл `/opt/swarmclaw/dragdrop.patch` оставлен — при желании доделать: `git apply dragdrop.patch && docker compose build && docker compose up -d`. **Вставка Cmd+V и кнопка «Add image» работают и без него.** + +## Грабля: урезка tools сломала создание агентов (2026-06-12) +После урезки Дирижёра 24→9 tools (ради контекста) он **перестал создавать агентов** — был убран **`manage_platform`** (именно он управляет агентами: create/assign; «не та ветка» = путаница агента про параллельные `branches` суб-агентов в `subagent.ts`, не git). **Фикс:** вернул Дирижёру `manage_platform` + `spawn_subagent` (он оркестратор роя) → tools=11, создание агентов работает (проверено: создал TestBot99). **Урок:** при урезке tools у агента-оркестратора НЕ убирать `manage_platform`/`spawn_subagent`/`delegate_to_agent` — это его рабочие инструменты. Рядовым агентам (7 tools) они не нужны. ## Схема API (для будущих правок headless) - `POST /api/providers` → `{id,name,baseUrl,models[],requiresApiKey,isEnabled}` (type всегда `custom`), хранит JSON в таблице `provider_configs`.