swarmclaw: drag&drop откачен (не доехал), Дирижёру вернул manage_platform (создание агентов снова работает)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
dttb
2026-06-12 21:00:35 +03:00
parent 8bf6fb730c
commit 79e1c2aef5

View File

@@ -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`.