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:
+34
-2
@@ -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) ✅
|
||||
|
||||
Reference in New Issue
Block a user