docs: Multi-Agent Review-System in ARCHITECTURE.md und ARCHITECTURE_QUICK.md dokumentiert
ARCHITECTURE.md: - Inhaltsverzeichnis: neues Kapitel 18 (Multi-Agent Review-System) - Datenmodell: sessions-Tabelle um review_agent_id, max_review_iterations erweitert - Entity-Relationship: Review-Agent-Beziehung - ChatContext.cs Kommentar: + ReviewContext - Chat-Pipeline: Review-Phase (4b) nach end_turn mit Diagramm - SSE-Events: review_* Events - Neues Kapitel mit Architektur, Konfiguration, Backend-Flow, ReviewContext Model, SSE-Events, DB-Persistierung, Frontend ARCHITECTURE_QUICK.md: - sessions-Tabelle: ReviewAgentId, MaxReviewIterations - Chat-Pipeline: Review-Phase eingefügt - ui.js Kommentar: Review-Rendering - Neues Kapitel Multi-Agent Review-System (Kurzform)
This commit is contained in:
1 parent
6369f7f09c
commit
95b3683910
2 files changed
+153
-12
No files matched your search
+22
-2
@@ -26,7 +26,7 @@ gott/
|
||||
│ ├── js/router.js # Hash-basiertes SPA-Routing
|
||||
│ ├── js/api.js # fetch()-Wrapper
|
||||
│ ├── js/chat.js # SSE-Stream, Markdown-Rendering
|
||||
│ ├── js/ui.js # UI-Helpers, buildAgentCard(), buildSessionCard()
|
||||
│ ├── js/ui.js # UI-Helpers, buildAgentCard(), buildSessionCard(), Review-Rendering
|
||||
│ ├── js/pages/ # Seiten-Komponenten
|
||||
│ └── css/ # Styles (theme.css = CSS Variables)
|
||||
├── WindowsApp/ # WPF + WebView2 Desktop Client
|
||||
@@ -55,7 +55,7 @@ User 1──* Agent 1──* Session 1──* Chain 1──* Message 1──* At
|
||||
| `users` | Login, Persona, Settings (JSON), DefaultPath |
|
||||
| `tokens` | Auth-Tokens → User |
|
||||
| `agents` | AI-Agenten (Model, Tools, Config, AvatarScale) |
|
||||
| `sessions` | Chat-Sessions (Workspace, Context, Telegram, AvatarScale, AllowedChatIds) |
|
||||
| `sessions` | Chat-Sessions (Workspace, Context, Telegram, AvatarScale, AllowedChatIds, ReviewAgentId, MaxReviewIterations) |
|
||||
| `chains` | Ein Request-Response-Zyklus (Tokens, Timing, Iterations) |
|
||||
| `messages` | Einzelne Nachrichten (text / tool_use / tool_result / error) |
|
||||
| `attachments` | Base64-Anhänge (Bilder, Dokumente) |
|
||||
@@ -124,6 +124,9 @@ User-Input → POST /api/chat (SSE)
|
||||
→ Token-für-Token an Client streamen
|
||||
→ Bei tool_use → ToolService.Execute() → Ergebnis zurück → neuer API Call
|
||||
→ Loop bis end_turn oder max_iterations (100)
|
||||
→ Bei end_turn + ReviewAgent → Review-Phase:
|
||||
→ Review-Agent prüft (eigene Tools, max 25 Iterationen)
|
||||
→ [APPROVED] → Fertig | Feedback → Worker korrigiert → erneuter Review
|
||||
→ Stop-Button: POST /api/chat/stop → StreamingTracker.Cancel()
|
||||
→ CancellationToken durchgereicht bis ToolService → Prozess-Kill
|
||||
→ client_disconnected
|
||||
@@ -230,6 +233,23 @@ Läuft als `systemd`-Service, Kestrel auf Port 19000, typisch hinter Nginx/Caddy
|
||||
|
||||
---
|
||||
|
||||
## Multi-Agent Review-System
|
||||
|
||||
Eine Session kann optional einen **Review-Agent** haben (`review_agent_id`, `max_review_iterations`).
|
||||
|
||||
**Flow:** Worker-Agent arbeitet → `end_turn` → Review-Agent prüft (eigener API-Call, eigene Tools, max 25 Iterationen) → `[APPROVED]` = fertig | Feedback → Worker korrigiert → erneuter Review (bis max Runden).
|
||||
|
||||
**Backend:** `ChatService` baut `ReviewContext` (Model, SystemPrompt, Tools). `AnthropicService.RunReview()` orchestriert Review-Runden. `RunReviewAgentChat()` = eigener Claude-API-Call.
|
||||
|
||||
**SSE-Events:** `review_start`, `review_text`, `review_tool_use`, `review_feedback`, `review_approved`
|
||||
|
||||
**Frontend-Rendering:**
|
||||
- Streaming: `chat.js` rendert Review-Events als eigene Bubbles (`.review-bubble`)
|
||||
- History: `renderMarkdown` parst `[Review: AgentName]`, `[Review-Feedback ...]`, filtert `[APPROVED]`
|
||||
- `history.js` + `shared-page.js`: Review-Nachrichten als `.review-bubble`, kein Merging mit normalen Messages
|
||||
|
||||
---
|
||||
|
||||
## Wichtige Regeln beim Entwickeln
|
||||
|
||||
- ⚠️ **Quelldateien in `wwwroot/`** editieren, NICHT in `publish/wwwroot/`
|
||||
|
||||
Reference in new issue
Block a user