KI-gestΓΌtztes Lagebriefing + Objektdatenbank fΓΌr die Feuerwehr
Der Einsatzassistent verwandelt die Anfahrtszeit in Vorbereitungszeit. GruppenfΓΌhrer erhalten auf Basis des Alarmstichworts und hinterlegter Objektdaten ein taktisches Lagebriefing β bevor sie an der Einsatzstelle ankommen.
Hausbewohner kΓΆnnen sicherheitsrelevante Daten ΓΌber ihr GebΓ€ude hinterlegen (PV-Anlage, Γltank, Sauerstoffpatient, Gefahrstoffe...), die im Einsatzfall den KrΓ€ften zur VerfΓΌgung stehen.
β οΈ Prototyp β Dieses Projekt befindet sich in aktiver Entwicklung. Die KI-generierten Briefings sind kein Ersatz fΓΌr Ausbildung, Erfahrung und Erkundung vor Ort.
Bei einer Alarmierung weiΓ der GruppenfΓΌhrer bis zur Ankunft nur das Alarmstichwort der Leitstelle: Kellerbrand, TΓΌrΓΆffnung dringend, VU Lage unklar. FeuerwehrplΓ€ne existieren nur fΓΌr Sonderbauten β aber das normale Wohnhaus mit Γltank im Keller, PV-Anlage auf dem Dach und Sauerstoffpatient im Obergeschoss? Da fΓ€hrt der GF blind hin.
Der Einsatzassistent schlieΓt diese LΓΌcke.
- GebΓ€udedaten erfassen: Bauweise, Stockwerke, Keller, Dach
- Energieversorgung: PV-Anlage, Batteriespeicher, Γltank, Gas
- Gefahren: Gefahrstoffe, Werkstatt, Druckgas, Munition
- Personen: Sauerstoffpatienten, MobilitΓ€tseinschrΓ€nkungen, Kinder
- Zugang: Zufahrten, AufstellflΓ€chen, SchlΓΌsseldepot, Hydranten
- Adresssuche, Import/Export als JSON
- TestdatensΓ€tze zum Ausprobieren
- Alarmstichwort aus kategorisierter Liste wΓ€hlen
- Adresseingabe mit automatischem Objekt-Lookup aus der Datenbank
- OpenStreetMap-Karte mit Geokodierung der Einsatzstelle
- KI-generiertes Lagebriefing mit:
- Lagebewertung (objektspezifisch)
- Gefahren (stichwortrelevante Objektdaten priorisiert)
- ErstmaΓnahmen (nach PrioritΓ€t)
- Erkundungsauftrag (Ja/Nein-Fragen)
- Befehlsvorschlag (FwDV 3 Schema)
- Funk-Beispiel (realistische Lagemeldung)
- Feedback-System: Briefings bewerten mit Tags und Kommentaren
- Dashboard mit Bewertungsstatistik pro Stichwort
- Schwachstellen im KI-Prompt identifizieren
- Export der Feedback-Daten als JSON
git clone https://github.com/DEIN-USER/einsatzassistent.git
cd einsatzassistent
# .env anlegen
cp .env.example .env
# Optional: Anthropic API-Key eintragen (ohne Key funktioniert die Objektdatenbank, aber keine Briefings)
nano .env
# Starten
docker compose up -d
# Γffnen: http://localhost:3000git clone https://github.com/DEIN-USER/einsatzassistent.git
cd einsatzassistent
npm install
# Starten (ohne KI-Briefings)
node server.js
# Starten (mit KI-Briefings)
ANTHROPIC_API_KEY=sk-ant-... node server.js| URL | Beschreibung |
|---|---|
/ |
Startseite |
/objektdaten.html |
Objektdatenbank verwalten |
/einsatz.html |
Taktisches Lagebriefing |
/feedback.html |
Feedback-Auswertung |
/api/health |
Diagnose-Endpunkt |
| Methode | Endpunkt | Beschreibung |
|---|---|---|
GET |
/api/objekte |
Alle Objekte auflisten |
GET |
/api/objekte/:key |
Einzelnes Objekt laden |
PUT |
/api/objekte/:key |
Objekt speichern/aktualisieren |
DELETE |
/api/objekte/:key |
Objekt lΓΆschen |
DELETE |
/api/objekte |
Alle Objekte lΓΆschen |
POST |
/api/objekte/import |
Bulk-Import (JSON Array) |
| Methode | Endpunkt | Beschreibung |
|---|---|---|
POST |
/api/briefing |
KI-Briefing generieren (Anthropic Proxy) |
| Methode | Endpunkt | Beschreibung |
|---|---|---|
GET |
/api/feedback |
Alle Bewertungen |
POST |
/api/feedback |
Bewertung speichern |
GET |
/api/feedback/stats |
Statistik pro Stichwort |
DELETE |
/api/feedback/:key |
Einzelne Bewertung lΓΆschen |
Die Objektdaten lassen sich ΓΌber /api/objekte als JSON abrufen und sind damit fΓΌr externe Systeme (Leitstellen, Einsatzplanung) zugΓ€nglich. CSV/XML-Export ist auf der Roadmap.
| Umgebungsvariable | Beschreibung | Standard |
|---|---|---|
ANTHROPIC_API_KEY |
API-Key fΓΌr KI-Briefings | β (ohne Key nur Objektdatenbank) |
PORT |
Server-Port | 3000 |
βββββββββββββββββββββββ βββββββββββββββββββββββ ββββββββββββββββββββ
β π Objektdaten β β π Einsatz β β π Feedback β
β objektdaten.html β β einsatz.html β β feedback.html β
ββββββββββ¬βββββββββββββ ββββββββββ¬βββββββββββββ ββββββββββ¬ββββββββββ
β β β
βββββββββββββ¬ββββββββββββββββ΄βββββββββββββββββββββββββββββ
β
ββββββββ΄βββββββ
β Express β
β REST API βββββ /api/briefing ββββΊ Anthropic API
β server.js β (oder Ollama)
ββββββββ¬βββββββ
β
ββββββββ΄βββββββ
β state.json β
β (Dateisys.) β
βββββββββββββββ
- Frontend: Vanilla React (via Babel Standalone, kein Build-Step)
- Backend: Express.js mit In-Memory-Store + File-Persistenz
- Karte: OpenStreetMap + Leaflet + Nominatim Geokodierung
- KI: Anthropic API (Claude) β perspektivisch auch Ollama (lokal)
- Daten: JSON-Datei (
data/state.json), Volume-Mount in Docker
- OpenSource (AGPL-3.0) β Kein Vendor-Lock-in. Jede Wehr kann es selbst betreiben.
- Niedrige EinstiegshΓΌrde β Kein Account nΓΆtig fΓΌr Dateneingabe. Formular so einfach wie mΓΆglich.
- Leitstellen-kompatibel β REST-API als universelle Schnittstelle. CSV/XML-Export geplant. Perspektivisch UCRI/BosMon.
- Minimale Kosten β Self-hosted, OSM statt Google Maps, Ollama als kostenlose KI-Option.
Die Objektdatenbank enthΓ€lt hochsensible Daten. "BettlΓ€geriger Senior, allein, Erdgeschoss links" ist nicht nur einsatzrelevant, sondern auch ein Einbruchsrisiko. Deshalb ist der Zugriff an konkrete EinsΓ€tze gekoppelt β ohne Alarmierung keine Daten.
1. Hausbesitzer-Portal (Dateneingabe)
Hausbewohner erfassen ihre Objektdaten ΓΌber ein einfaches Webformular. Der Zugang erfolgt niedrigschwellig, z.B. per QR-Code auf einem Infoflyer der Feuerwehr. Jeder Hausbesitzer sieht und verwaltet nur seine eigenen Daten. Authentifizierung perspektivisch per Passkey β kein Passwort nΓΆtig.
2. Zugangssteuerung ΓΌber die Leitstelle (Schleusenprinzip)
Die Leitstelle ist der Gatekeeper. EinsatzkrΓ€fte haben keinen dauerhaften Zugriff auf die Objektdaten. Erst wenn die Leitstelle einen Einsatz an einer Adresse disponiert, wird ein zeitlich begrenzter Zugangstoken erzeugt. Dieser Token ist an drei Bedingungen geknΓΌpft:
- Adressbindung β gilt nur fΓΌr das Objekt an der Einsatzadresse
- Zeitfenster β verfΓ€llt automatisch (z.B. 4 Stunden nach Alarmierung)
- Einheitsbindung β nur die disponierte Einheit kann die Daten abrufen
Technisch ist das ein JWT mit Adresse, Einheit und Ablaufzeit als Claims. Die Leitstelle erzeugt diesen Token automatisch beim Disponieren β kein manueller Schritt nΓΆtig.
ββββββββββββββββ Disponiert Einsatz βββββββββββββββββββββ
β β βββββββββββββββββββββββββββΊ β β
β Leitstelle β β Zugangssteuerung β
β β βββββββββββββββββββββββββββ β (Token-Service) β
ββββββββββββββββ Token (Adresse+Zeit) ββββββββββ¬βββββββββββ
β
Token via MDT/App β
ββββββββββββββββ ββββββββββββββββββββββββββββββββββββββ
β β
β GruppenfΓΌhrerβ ββββ Fragt Objektdaten ab βββΊ ββββββββββββββββββββ
β (Tablet/MDT) β β β
ββββββββββββββββ βββ Daten nur bei gΓΌltigem ββ β Objektdatenbank β
Token entschlΓΌsselt β (verschlΓΌsselt) β
ββββββββββββββββββββ
3. Audit-Trail (Nachvollziehbarkeit)
Jeder Datenzugriff wird protokolliert: wer hat wann welches Objekt abgefragt. Das ist DSGVO-Pflicht und schafft Vertrauen bei den Hausbewohnern, dass ihre Daten nicht "einfach so" einsehbar sind. Der Audit-Trail ist fΓΌr den Datenschutzbeauftragten der Kommune einsehbar.
| Stufe | Beschreibung | Status |
|---|---|---|
| 1. Prototyp | Alle Daten offen ΓΌber API abrufbar. Kein Login. Zum Testen und Entwickeln. | β Aktuell |
| 2. Basis-Auth | Login fΓΌr EinsatzkrΓ€fte. Hausbewohner-Formular per QR-Code ohne Login. Admin-Rolle fΓΌr WehrfΓΌhrer. | π² Geplant |
| 3. Leitstellen-Token | Zugriff nur mit gΓΌltigem Einsatz-Token. Automatische Erzeugung bei Disponierung. JWT-basiert. | π² Perspektivisch |
| 4. VerschlΓΌsselung | Objektdaten at-rest verschlΓΌsselt. EntschlΓΌsselung nur bei gΓΌltigem Token. Audit-Trail unverΓ€nderbar. | π² Perspektivisch |
Hinweis: Im aktuellen Prototyp (Stufe 1) sind alle Daten ungeschΓΌtzt ΓΌber die API abrufbar. Nicht mit echten personenbezogenen Daten betreiben! FΓΌr den Γbungsbetrieb und die Entwicklung mit Testdaten ist das ausreichend.
- Vereinfachtes Hausbewohner-Formular (QR-Code β 10-Fragen-Version)
- Ollama-Integration als kostenlose lokale KI-Alternative
- CSV/XML-Export fΓΌr Leitstellen-Systeme
- Grundriss-/Bild-Upload pro Objekt
- Offline-fΓ€hige statische Einsatzkarten als KI-Fallback
- Anbindung an BOS-Γbungsplattform
- Mobile-optimierte Ansicht fΓΌr Tablets im Fahrzeug
- Zugangssteuerung (Rollen: Hausbewohner, Einsatzkraft, Admin)
- Leitstellen-Token-System (Zugriff nur bei aktiver Alarmierung)
Siehe CONTRIBUTING.md fΓΌr Details.
Kurzfassung: Issues und Pull Requests sind willkommen. Besonders gesucht:
- EinsatzkrΓ€fte die Briefings testen und Feedback geben
- Entwickler die bei Frontend, API oder Leitstellen-Integration helfen
- Feuerwehren die den Prototyp im Γbungsbetrieb testen
AGPL-3.0 β Du darfst den Code nutzen, Γ€ndern und weitergeben, solange du Γnderungen unter derselben Lizenz verΓΆffentlichst. Das gilt auch fΓΌr Server-Deployments (AGPL-Netzwerkklausel).
Dieses Projekt ist ein Prototyp. KI-generierte Briefings sind kein Ersatz fΓΌr Ausbildung und Erfahrung. Alle taktischen Entscheidungen liegen beim GruppenfΓΌhrer. Die Objektdaten werden von Hausbewohnern freiwillig bereitgestellt und kΓΆnnen unvollstΓ€ndig oder veraltet sein.
Ein Projekt von tb-it.eu fΓΌr die Feuerwehr.