From 79e1c2aef5e51a248e2bc98e9e46fc703cba4b8b Mon Sep 17 00:00:00 2001 From: dttb Date: Fri, 12 Jun 2026 21:00:35 +0300 Subject: [PATCH] =?UTF-8?q?swarmclaw:=20drag&drop=20=D0=BE=D1=82=D0=BA?= =?UTF-8?q?=D0=B0=D1=87=D0=B5=D0=BD=20(=D0=BD=D0=B5=20=D0=B4=D0=BE=D0=B5?= =?UTF-8?q?=D1=85=D0=B0=D0=BB),=20=D0=94=D0=B8=D1=80=D0=B8=D0=B6=D1=91?= =?UTF-8?q?=D1=80=D1=83=20=D0=B2=D0=B5=D1=80=D0=BD=D1=83=D0=BB=20manage=5F?= =?UTF-8?q?platform=20(=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B0=D0=B3=D0=B5=D0=BD=D1=82=D0=BE=D0=B2=20=D1=81=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=B5=D1=82?= =?UTF-8?q?)?= 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 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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`.