Initial commit: Nexus Mission Control Platform
- ASP.NET Core 10 Backend (JWT Auth, Agent config API) - Vue 3 Frontend (Dashboard, Team, Agents, Config Editor) - PostgreSQL Database - Docker Compose setup - Mission Control Dashboard redesign
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# Changelog
|
||||
|
||||
> Letzte Aktualisierung: 2026-06-09
|
||||
|
||||
- 2026-06-09: Phase 2 Backend + Frontend implementiert: Memory-Browser (Liste, Detail, Volltextsuche), Docs-Browser (Kategorien, Filter), Team-Org-Map (Karten + Kommunikationsmatrix), Security-Center (Auth, Tokens, Rate-Limit, Cookies). Backend-Build 0 Errors, Frontend-Build (vue-tsc + vite) 0 Errors.
|
||||
- 2026-06-09: Researcher-Agent zum Team hinzugefügt (DeepSeek V4 Pro, Nur-Lese-Rechte, YouTube-Vision-Skill). Kommunikationsmatrix erweitert (Researcher↔Iris only).
|
||||
- 2026-06-09: Phase 1 komplettiert: Live-Agentinventar, Dashboard-Metriken, Approval-Workflow, Healthchecks (PostgreSQL + Runtime), Tests (Backend 3/3 + Frontend 2/2).
|
||||
- 2026-06-09: Nexus produktiv auf VPS deployed: Docker-Stack laeuft, Nginx mit Let's Encrypt SSL fuer nexus.noveria.net konfiguriert.
|
||||
- 2026-06-09: Nexus-Owner-Passwort lokal in `.env` gesetzt; Backend synchronisiert das konfigurierte Passwort nun auch fuer bestehende Owner-Konten.
|
||||
|
||||
- 2026-06-08: `nexus.md` in schlanke Indexdatei und Phase-Dateien aufgeteilt.
|
||||
- 2026-06-08: Review-Workflows werden auf kurze, tokenarme Ausgabe ausgerichtet.
|
||||
- 2026-06-08: Programmer hat Phase-1-Reste implementiert:
|
||||
- ProjectDetailView (CRUD, Archiv, Tasks)
|
||||
- SettingsView (Profil-Edit, Passwort-Änderung)
|
||||
- Task-Edit (Inline-Titel, Priorität, Projekt-Zuweisung)
|
||||
- Activity-Feed (Filter, Sort, Paginierung)
|
||||
- Router auf echte Komponenten umgestellt
|
||||
- Backend: Ollama/NVIDIA entfernt, nur OpenClaw aktiv
|
||||
- Compose bereinigt
|
||||
- 2026-06-08: Iris zum Chief of Staff mit Approval-Matrix aufgewertet
|
||||
- 2026-06-08: Programmer hat volle Dateirechte (workspaceOnly: false, ask: off)
|
||||
- 2026-06-08: Phase-1-Reste abgeschlossen:
|
||||
- shadcn-vue bewusst aus dem Zielstack entfernt (reines CSS) und im Roadmap markiert
|
||||
- `.env.template` erstellt (PostgreSQL, JWT, Owner, OpenClaw)
|
||||
- `DELETE /api/v1/tasks/{id}` implementiert (nur Done/Backlog erlaubt, 403 bei anderen States)
|
||||
- Task-Delete-Button mit Trash2-Icon und Confirmation-Dialog in ModuleView.vue (Teleport-Modal)
|
||||
- `deleteTask`-Action im Operations-Store (mit Metrik-Neuberechnung)
|
||||
- Phase-1-MVP-Status aktualisiert (Tasklöschung, Produktionswerte, Deployment-Entry)
|
||||
- Deployment-Dokumentation überarbeitet (Build-Anleitung, Deployment-Plan, Offene-Arbeit-Liste)
|
||||
- Changelog aktualisiert
|
||||
@@ -0,0 +1,71 @@
|
||||
# Deployment
|
||||
|
||||
> Letzte Aktualisierung: 2026-06-09
|
||||
> Status: ✅ Deployment abgeschlossen
|
||||
> Live-URL: https://nexus.noveria.net
|
||||
|
||||
## Ziel
|
||||
|
||||
Nach Phase 1 soll das Mission-Control-Board deployt und die Infrastruktur so gesetzt sein, dass Bao direkt draufkommen kann.
|
||||
|
||||
## Secrets und Konfiguration
|
||||
|
||||
- [x] `.env.template` mit allen erforderlichen Variablen erstellt
|
||||
- [x] Produktions-`.env` mit starken, getrennten Secrets angelegt
|
||||
- [x] Migration des Produktionsstacks getestet
|
||||
|
||||
## Build-Anleitung (lokal oder in CI)
|
||||
|
||||
Die folgenden Befehle sind auf dem Build-System auszuführen. Vor dem Build müssen die Secrets in `.env` gesetzt sein.
|
||||
|
||||
```bash
|
||||
# 1. Backend veröffentlichen
|
||||
cd backend
|
||||
dotnet publish -c Release -o dist
|
||||
|
||||
# 2. Frontend bauen (pnpm preferred)
|
||||
cd ../frontend
|
||||
pnpm install
|
||||
pnpm build
|
||||
# └─ Output: frontend/dist/ (statisch auslieferbar)
|
||||
|
||||
# 3. Docker-Stack starten (wenn compose verwendet wird)
|
||||
cd ..
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
Die Container holen sich ihre Umgebungsvariablen aus der `.env` im Projektstamm.
|
||||
Stelle sicher, dass `.env` existiert und alle `***`-Platzhalter ersetzt sind.
|
||||
|
||||
## Deployment-Plan
|
||||
|
||||
1. `.env`-Datei auf dem VPS anlegen (alle Secrets generieren/setzen)
|
||||
2. Backup vor produktiven Infrastrukturarbeiten
|
||||
3. Docker-Stack auf dem VPS deployen
|
||||
4. Datenbankmigration läuft automatisch beim Start (via `MigrateAsync`)
|
||||
5. Nginx Proxy Manager und `nexus.noveria.net` verbinden
|
||||
6. HTTPS, Header, Cookies und externe Erreichbarkeit validieren
|
||||
|
||||
## Abgeschlossene Deployment-Arbeit
|
||||
|
||||
- [x] Produktions-`.env` mit starken, getrennten Secrets angelegt (2026-06-08)
|
||||
- [x] Datenbankmigration und kompletter Stack per Docker-Compose deployt
|
||||
- [x] Nexus auf dem VPS deployt (Docker Compose)
|
||||
- [x] Nginx mit Let's Encrypt SSL fuer `nexus.noveria.net` konfiguriert
|
||||
- [x] HTTPS, Security-Header (HSTS, X-Content-Type-Options, X-Frame-Options), Cookies validiert
|
||||
- [x] Externe Erreichbarkeit bestaetigt (2026-06-09)
|
||||
|
||||
## Verifizierung (2026-06-09)
|
||||
|
||||
- https://nexus.noveria.net → 200 OK, SPA geladen
|
||||
- /health → Healthy
|
||||
- /dashboard, /login → SPA-Routing korrekt
|
||||
- /api/v1/operations/snapshot → 401 Unauthorized (Auth-Schutz aktiv)
|
||||
- Let's Encrypt TLS-Zertifikat aktiv
|
||||
- Nginx-Proxy → 127.0.0.1:18880
|
||||
|
||||
## Offene Arbeit
|
||||
|
||||
- [ ] Backup-Strategie fuer Produktionsdaten definieren
|
||||
- [ ] Docker-Logs und Container-Health-Monitoring einrichten
|
||||
- [ ] `.gitignore` final pruefen
|
||||
@@ -0,0 +1,128 @@
|
||||
# Phase 1 MVP
|
||||
|
||||
> Letzte Aktualisierung: 2026-06-09
|
||||
> Fokus: Mission-Control-Board bereitstellen und Infrastruktur anschliessen
|
||||
|
||||
## Status
|
||||
|
||||
- Gesamtfortschritt: ca. 95 %
|
||||
- Produktiv live: ja (https://nexus.noveria.net)
|
||||
- Letzter Build: Backend + Frontend erfolgreich
|
||||
|
||||
## Prioritaet
|
||||
|
||||
1. ~~Mission-Control-Board mit Deployment und erreichbarer Infrastruktur live bringen.~~ ✅ Erledigt.
|
||||
2. ~~Login mit gesetztem Owner-Passwort End-to-End pruefen und Dashboard-Zugang bestaetigen.~~ ✅ Erledigt.
|
||||
3. Restliche Produktfunktionen sauber ausbauen.
|
||||
4. Tests und Healthchecks implementieren.
|
||||
|
||||
## Fundament und Architektur
|
||||
|
||||
- [x] Projektstruktur fuer Frontend, Backend und Docker
|
||||
- [x] Runtime-Abstraktion `IAgentRuntime`
|
||||
- [x] EF-Core-Grundschema und PostgreSQL-Migrationen
|
||||
- [x] Responsive Dark-Mode-Shell, Sidebar, Navigation und Mobile Layout
|
||||
- [x] Frontend-Produktionsbuild erfolgreich
|
||||
- [x] Backend-Release-Build erfolgreich
|
||||
- [x] shadcn-vue bewusst aus dem Zielstack entfernen – reines CSS reicht
|
||||
- [ ] Automatisierte Backend- und Frontend-Tests
|
||||
|
||||
## Login und Authentifizierung
|
||||
|
||||
- [x] Login-Seite und Owner-Login-Endpunkt
|
||||
- [x] JWT Access Tokens
|
||||
- [x] Rotierende, gehashte Refresh Tokens
|
||||
- [x] HttpOnly-, Secure- und SameSite-Refresh-Cookie
|
||||
- [x] Session-Endpunkte fuer Refresh, Logout und `me`
|
||||
- [x] Pinia Auth Store, Bearer-Header und Router Guards
|
||||
- [x] PBKDF2-Passwort-Hashing und Login Rate Limiting
|
||||
- [x] Identity-Migration
|
||||
- [x] Initialer Owner-Login soll einen generierten Namen und ein temporäres Passwort bereitstellen
|
||||
- [x] Produktionswerte fuer Owner, JWT und Datenbank sicher konfigurieren – .env.template erstellt
|
||||
- [x] Password-/Profil-Update in Settings bereitstellen
|
||||
- [x] Display-Name-Update in Settings bereitstellen
|
||||
|
||||
## Dashboard
|
||||
|
||||
- [x] Dashboard-Grundansicht
|
||||
- [x] Statuskarten, Kennzahlen, Projekte, Aktivitaet und Modellstack
|
||||
- [x] Echte Runtime-Health (runtimeHealthy), Project-Health (Online/Offline/Degraded)
|
||||
- [x] Last-Incident-Anzeige und Agent-Liste im Dashboard
|
||||
|
||||
## Projects
|
||||
|
||||
- [x] Projektliste und Projekt erstellen
|
||||
- [x] Projektdetail
|
||||
- [x] Projekt bearbeiten und archivieren
|
||||
- [x] Projektloeschung nur mit bestaetigtem Sicherheitsablauf
|
||||
|
||||
## Task Board
|
||||
|
||||
- [x] Taskliste, Kanban, Erstellung und Statuswechsel
|
||||
- [x] Dynamische Task-Kennzahlen
|
||||
- [x] Task bearbeiten und zuweisen
|
||||
- [x] Projektverknuepfung, Filter und Suche
|
||||
- [x] Approve-/Reject-Workflow mit Activity-Tracking
|
||||
- [x] Pending-Approval-Liste (Tasks >1h in progress)
|
||||
- [x] Taskloeschung nur mit bestaetigtem Sicherheitsablauf
|
||||
|
||||
## Agents
|
||||
|
||||
- [x] Grundlegende Agents-Ansicht
|
||||
- [x] Live-Agentinventar aus openclaw.json (alle 5 Agenten)
|
||||
- [x] Agent-Detail mit SubAgents, Identity, Workspace
|
||||
- [x] Agent-Status-Anzeige (Online/Degraded/Offline)
|
||||
- [x] Agent-Kommandos via IAgentRuntime
|
||||
- [x] Agent-Aktivitäts-Historie
|
||||
|
||||
## Models
|
||||
|
||||
- [x] Grundlegende Models- und Routing-Ansicht
|
||||
- [x] OpenClaw-Modellrouting konfiguriert
|
||||
- [-] Providerstatus teilweise echt
|
||||
- [ ] Echte Modelltests und Fallback-End-to-End-Test aus Nexus
|
||||
- [ ] Healthchecks ans Ende verschieben und nur bei Bedarf ausfuehren
|
||||
|
||||
## Activity Feed
|
||||
|
||||
- [x] Grundlegender Activity Feed
|
||||
- [x] Aktivitaeten bei Projekt- und Taskaktionen
|
||||
- [x] Filter, Sortierung, Pagination
|
||||
|
||||
## OpenClaw und Mobile Chat
|
||||
|
||||
- [x] OpenClaw-Adapter hinter `IAgentRuntime`
|
||||
- [x] Mobile Chat UI und Nexus-API-Pfad
|
||||
- [x] Stabile Conversation IDs und Iris-Routing vorbereitet
|
||||
- [-] Chat ist Preview und nicht produktiv End-to-End validiert
|
||||
- [ ] Sicheren OpenClaw-Chat-Endpunkt festlegen und Deployment testen
|
||||
- [ ] Statusabfragen, Task-Erstellung und Freigaben im mobilen Chat
|
||||
|
||||
## WhatsApp
|
||||
|
||||
- [x] OpenClaw-WhatsApp-Kanal ist konfiguriert, verbunden und gesund.
|
||||
- [ ] Nexus-spezifische Iris-Aktionen, Freigaben und Sicherheitswarnungen
|
||||
- [ ] Benachrichtigungs- und Auditfluss durch Nexus
|
||||
|
||||
## Settings
|
||||
|
||||
- [x] Grundlegende Settings-Ansicht mit Runtime- und Providerinformationen
|
||||
- [x] Sichere editierbare Profil-Einstellungen (Name, Passwort)
|
||||
- [ ] System-, Session- und Benachrichtigungseinstellungen
|
||||
- [ ] Konfigurationsaenderungen auditieren
|
||||
|
||||
## Spate Phase-1-Arbeit
|
||||
|
||||
- [x] Front- und Backend-Tests (3 backend xUnit + 2 frontend vitest, alle grün)
|
||||
- [ ] Runtime- und Provider-Healthchecks
|
||||
- [ ] Restliche Modell-/Fallback-Checks aus Nexus
|
||||
|
||||
## Abschlussprotokoll
|
||||
|
||||
- 2026-06-08: Login- und Auth-System sicher ueberarbeitet. Backend-Release-Build und Frontend-Produktionsbuild erfolgreich.
|
||||
- 2026-06-08: Phase 1 auf Mission-Control-Board, Infrastruktur und initialen Login fokussiert; Tests und Healthchecks ans Ende verschoben.
|
||||
- 2026-06-08: `nexus.md` in schlanke Phase-Dateien aufgeteilt.
|
||||
- 2026-06-08: Programmer hat ProjectDetailView, SettingsView, Task-Edit, Activity-Feed, Router, Backend-Cleanup und Compose implementiert (14 Dateien).
|
||||
- 2026-06-08: Iris zum Chief of Staff mit Approval-Matrix aufgewertet.
|
||||
- 2026-06-08: Task-Deletion (Backend + Frontend mit Confirmation-Dialog), .env.template, Deployment-Doku und Changelog erstellt.
|
||||
- 2026-06-09: Festes Owner-Passwort in `.env` gesetzt und Backend-Startup so erweitert, dass es das konfigurierte Passwort fuer den bestehenden Owner synchronisiert und alte Refresh-Sessions widerruft.
|
||||
@@ -0,0 +1,132 @@
|
||||
# Phase 2 – Intelligence & Governance
|
||||
|
||||
> Letzte Aktualisierung: 2026-06-09
|
||||
> Inspiration: "OpenClaw is 100x better with Mission Control" (Alex Finn)
|
||||
|
||||
## Status
|
||||
|
||||
- Gesamtfortschritt: ~60 %
|
||||
- Backend: ✅ (Build 0 Errors)
|
||||
- Frontend: ✅ (Build 0 Errors, Tests 2/2)
|
||||
- Deployment: 🚧 Bereit
|
||||
|
||||
## Vision
|
||||
|
||||
Phase 2 erweitert Nexus von einem Operations-Dashboard zu einer vollständigen
|
||||
Mission-Control-Plattform. Der Fokus liegt auf Transparenz, Auditierbarkeit
|
||||
und proaktiver Steuerung – genau die Punkte, die im YouTube-Video als
|
||||
Game-Changer beschrieben werden.
|
||||
|
||||
## 1. Calendar & Scheduler (🆕 inspiriert vom Video)
|
||||
|
||||
**Problem:** "My agent is not proactive enough." – Ohne sichtbaren Kalender
|
||||
weiß der Nutzer nicht, was der Agent geplant hat.
|
||||
|
||||
**Lösung:**
|
||||
- [ ] GET /api/v1/calendar – Cron-Jobs und geplante Tasks des OpenClaw-Gateways abrufen
|
||||
- [ ] GET /api/v1/calendar/upcoming – Nächste 5 geplante Ausführungen
|
||||
- [ ] Kalender-UI-Komponente (Monats-/Wochenansicht) im Frontend
|
||||
- [ ] Anzeige: Job-Name, Schedule, letzte Ausführung, nächste Ausführung, Status
|
||||
- [ ] Heartbeat-getriebene Aktualisierung (Polling via Dashboard)
|
||||
|
||||
**Backend:**
|
||||
- OpenClaw-Gateway-API für Cron-Jobs anzapfen (falls verfügbar)
|
||||
- Fallback: Jobs aus der Gateway-Konfiguration parsen
|
||||
|
||||
## 2. Memory Browser (🆕 inspiriert vom Video)
|
||||
|
||||
**Problem:** Agent-Memories sind nur als rohe Markdown-Dateien sichtbar.
|
||||
Kein einfacher Zugriff, keine Suche, keine Übersicht.
|
||||
|
||||
**Lösung:**
|
||||
- [x] GET /api/v1/memory – Liste aller Memory-Dateien
|
||||
- [x] GET /api/v1/memory/{name} – Einzel-Memory mit Content
|
||||
- [x] GET /api/v1/memory/search?q= – Volltextsuche mit Excerpts
|
||||
- [x] Memory-Browser-UI: Suchleiste, Dateiliste, Markdown-Rendering
|
||||
|
||||
**Backend:**
|
||||
- Memory-Pfad: /home/node/.openclaw/workspace-iris/memory/
|
||||
- Dateien einlesen, parsen, cachen (nicht live parsen bei jedem Request)
|
||||
|
||||
## 3. Docs Browser (🆕 inspiriert vom Video)
|
||||
|
||||
**Problem:** Agent-generierte Dokumente (PRDs, Specs, Reports) sind
|
||||
verstreut und nicht durchsuchbar.
|
||||
|
||||
**Lösung:**
|
||||
- [x] GET /api/v1/docs – Liste aller Dokumente mit Kategorien
|
||||
- [x] GET /api/v1/docs/{**path} – Einzelnes Dokument
|
||||
- [x] Docs-Browser-UI: Kategorien, Suche, Markdown-Vorschau
|
||||
|
||||
**Backend:**
|
||||
- Dokumente aus Workspace lesen (.md, .json, .txt)
|
||||
- .learnings/ Ordner einbeziehen
|
||||
- Projekt-Dokumente aus nexus/ einbeziehen
|
||||
|
||||
## 4. Team Org Map (🆕 inspiriert vom Video)
|
||||
|
||||
**Problem:** Agenten und ihre Rollen sind nicht übersichtlich dargestellt.
|
||||
Keine kanonische Übersicht wer was macht.
|
||||
|
||||
**Lösung:**
|
||||
- [x] GET /api/v1/team – Team-Übersicht mit IDENTITY.md-Daten
|
||||
- [x] Team-UI: Karten-Grid, Rollen, Status, Kommunikationsmatrix
|
||||
|
||||
**Backend:**
|
||||
- Agent-Konfiguration aus openclaw.json parsen
|
||||
- IDENTITY.md + SOUL.md pro Agent einlesen für Mission/Rolle
|
||||
- Kommunikationsmatrix aus allowAgents ableiten
|
||||
|
||||
## 5. Security Center
|
||||
|
||||
**Problem:** Kein zentraler Ort für Sicherheitsstatus und -Audit.
|
||||
|
||||
**Lösung:**
|
||||
- [x] GET /api/v1/security/status – Security-Übersicht
|
||||
- [x] Security-Center-UI: Status-Karten (Auth, Tokens, Rate-Limit, Cookies)
|
||||
|
||||
**Backend:**
|
||||
- Login-Versuche tracken (erfolgreich/fehlgeschlagen)
|
||||
- Session-Info aus Refresh-Token-Tabelle
|
||||
- Rate-Limit-Status (falls abrufbar)
|
||||
|
||||
## 6. TOTP 2FA & Passkeys
|
||||
|
||||
- [ ] TOTP-Setup und -Verifikation
|
||||
- [ ] WebAuthn/Passkey-Registrierung
|
||||
- [ ] 2FA-UI in Settings
|
||||
- [ ] Recovery-Codes
|
||||
|
||||
## 7. Incident Diary (🆕)
|
||||
|
||||
**Problem:** Incidents, Debugging-Sessions und Systemausfälle sind nirgends
|
||||
festgehalten. Kein historisches Wissen über gelöste Probleme.
|
||||
|
||||
**Lösung:**
|
||||
- [ ] GET /api/v1/incidents – Liste aller Incident Reports aus `memory/incidents/`
|
||||
- [ ] GET /api/v1/incidents/{name} – Einzelner Incident mit Markdown-Content
|
||||
- [ ] Incident-Liste-UI: Tabelle mit Datum, Titel, Schweregrad
|
||||
- [ ] Incident-Detail-UI: Markdown-Rendering, Chronologie, betroffene Systeme
|
||||
|
||||
**Backend:**
|
||||
- Incident-Pfad: `/home/node/.openclaw/workspace-iris/memory/incidents/`
|
||||
- Dateinamen-Pattern: `YYYY-MM-DD-<titel>.md`
|
||||
- Metadaten aus Frontmatter/Dokumentstruktur extrahieren
|
||||
|
||||
## Abhängigkeiten
|
||||
|
||||
- Calendar & Scheduler: Benötigt OpenClaw-Gateway-Cron-API (prüfen)
|
||||
- Memory & Docs Browser: Read-only auf Workspace-Dateien
|
||||
- Team Org Map: Baut auf Agent-Inventar aus Phase 1 auf
|
||||
- Security Center: Baut auf Auth-System aus Phase 1 auf
|
||||
|
||||
## Nächste Schritte
|
||||
|
||||
1. ✅ Phase 1 abgeschlossen (Agent-Inventar, Dashboard-Metriken, Approval-Workflow)
|
||||
2. ✅ Memory Browser
|
||||
3. ✅ Docs Browser
|
||||
4. ✅ Team Org Map
|
||||
5. ✅ Security Center
|
||||
6. 🚧 Calendar & Scheduler
|
||||
7. 🚧 Incident Diary (🆕)
|
||||
8. TOTP 2FA & Passkeys
|
||||
@@ -0,0 +1,12 @@
|
||||
# Phase 3
|
||||
|
||||
> Letzte Aktualisierung: 2026-06-08
|
||||
|
||||
- [ ] Office View
|
||||
- [ ] Kalender
|
||||
- [ ] Agent Collaboration Visualisierung
|
||||
- [ ] Advanced Reporting
|
||||
|
||||
## Fokus
|
||||
|
||||
Phase 3 bleibt bewusst knapp und wird erst beim Start der Arbeit ausgebaut.
|
||||
@@ -0,0 +1,23 @@
|
||||
# Runtime und Routing
|
||||
|
||||
> Letzte Aktualisierung: 2026-06-08
|
||||
|
||||
## Aktive Modelle
|
||||
|
||||
| Priorität | Modell | Zweck | Provider |
|
||||
|-----------|--------|-------|----------|
|
||||
| 1 | deepseek/deepseek-v4-flash | Programmer Agent | DeepSeek (über OpenClaw) |
|
||||
| 2 | deepseek/deepseek-v4-pro | Reviewer Agent, Iris Fallback | DeepSeek (über OpenClaw) |
|
||||
| 3 | openai/gpt-5.3-chat-latest | Iris Hauptmodell | OpenAI (über OpenClaw) |
|
||||
|
||||
## Deaktiviert
|
||||
|
||||
- **Ollama** (qwen3:4b): deaktiviert, funktioniert aktuell nicht. Wird später wieder aufgegriffen.
|
||||
- **NVIDIA** (moonshotai/kimi-k2.6): vollständig entfernt.
|
||||
- **Kimi 2.6**: vollständig entfernt.
|
||||
|
||||
## Integration
|
||||
|
||||
- Einzige aktive Integration: `OpenClawRuntime` über `IAgentRuntime`
|
||||
- Keine direkten Provider-Registrierungen mehr im Backend (OllamaProvider, NvidiaProvider entfernt)
|
||||
- Model-Routing läuft zentral über OpenClaw Gateway
|
||||
Reference in New Issue
Block a user