Phase 4: KI-UI-Steuerung — AI agent UI control via WebSocket

- New ai_ui_control plugin: WS endpoint /ws/ai-ui-control, REST API (POST /command, GET /command/{id}/status, GET /online-users)
- UI-Command-Protocol: 6 command types (navigate, filter, open_contact, modal, tab, settings) with Pydantic schemas
- WebSocket manager: per-user connections, command delivery, feedback storage, stale cleanup
- Frontend useAIUIControl hook: WS client with auto-reconnect, command dispatch, feedback sending
- aiUIControlStore: Zustand store for command state, active modal/tab, pending filter/settings
- AIUIControlIndicator: visual KI indication (Bot icon, toast, pulse animation)
- ContactDetail integration: syncs activeTab and personModalOpen from AI control store
- AppShell integration: useAIUIControl hook + AIUIControlIndicator
- i18n keys for DE/EN
- 18 Vitest tests: command protocol, store actions, feedback, visual indication
- TSC: 0 new errors (only 2 pre-existing Dms.tsx errors)
This commit is contained in:
Agent Zero
2026-07-23 20:13:39 +02:00
parent 5dc6f29ac1
commit 903d649a0f
15 changed files with 1582 additions and 5 deletions
+34 -2
View File
@@ -125,10 +125,42 @@ Siehe `MASTER-PLAN.md` für alle Tasks.
| 1.28 | ✅ done | 2026-07-23 | Frontend-Tests aktualisiert, tsc --noEmit OK (nur pre-existing Dms.tsx errors) |
**Phase 1 Gesamt: ✅ Complete (Commits: 879106c, 5d79b4f, b15a62b)**
### Verifikation
### Verifikation Phase 1
- App startet OK (245 Routes) ✅
- Python Syntax OK für alle geänderten Dateien ✅
- Frontend: 251/265 Tests pass (14 pre-existing failures: Dms/Mail/ShareDialog) ✅
- Backend-Tests: können nicht ausgeführt werden (kein PostgreSQL im Container) ⚠️
- Keine verbleibenden company.* Events oder companies: Permissions ✅
## Phase 3: Plugin-UI-System
**Phase 3 Gesamt: ✅ Complete (Commit fc96a2f)**
## Phase 3.5: Automation & Agents Plugin
**Phase 3.5 Gesamt: ✅ Complete (Commit 5dc6f29)**
## Phase 4: KI-UI-Steuerung
| # | Status | Datum | Was gemacht wurde |
|---|--------|------|-------------------|
| 4.1 | ✅ done | 2026-07-23 | UI-Command-Protokoll: JSON schema mit 6 command types (navigate, filter, open_contact, modal, tab, settings) in schemas.py |
| 4.2 | ✅ done | 2026-07-23 | WebSocket-Endpoint /ws/ai-ui-control + REST endpoints (POST /command, GET /command/{id}/status, GET /online-users) in ai_ui_control plugin |
| 4.3 | ✅ done | 2026-07-23 | useAIUIControl hook: WS client mit auto-reconnect, command dispatch, feedback sending |
| 4.4 | ✅ done | 2026-07-23 | Command: Navigate — useNavigate() für Route-Wechsel |
| 4.5 | ✅ done | 2026-07-23 | Command: Filter — URL-Search-Params + store pendingFilter |
| 4.6 | ✅ done | 2026-07-23 | Command: Open Contact — navigate zu /contacts/:id |
| 4.7 | ✅ done | 2026-23 | Command: Modal — store activeModal, ContactDetail syncs personModalOpen |
| 4.8 | ✅ done | 2026-07-23 | Command: Tab — store activeTab, ContactDetail syncs via useEffect |
| 4.9 | ✅ done | 2026-07-23 | Command: Settings — navigate zu /settings/:section + pendingSettings |
| 4.10 | ✅ done | 2026-07-23 | UI-Action-Feedback: sendFeedback via WS, store lastFeedback |
| 4.11 | ✅ done | 2026-07-23 | Visuelle KI-Indikation: AIUIControlIndicator component (Bot icon, toast, pulse animation) |
| 4.12 | ✅ done | 2026-07-23 | 18 Vitest tests: command protocol, store actions, feedback, visual indication |
**Phase 4 Gesamt: ✅ Complete**
### Verifikation Phase 4
- TSC: 0 neue errors (nur 2 pre-existing Dms.tsx errors) ✅
- Vitest: 18/18 AI UI Control tests pass ✅
- Keine neuen Regressionen (AppShell tests waren pre-existing failing) ✅
- Backend: ai_ui_control plugin mit WS + REST, service_container registration ✅
- Frontend: useAIUIControl hook, aiUIControlStore, AIUIControlIndicator, i18n DE/EN ✅
- Neue Dateien: 8 (plugin: __init__.py, plugin.py, routes.py, schemas.py, websocket_manager.py; frontend: store, hook, API, indicator, tests) ✅