Chat — KI an deine Karte anhängen
product="chat" bindet den Kaleidr Control Tower — chatgesteuerte
Navigation, POI-Zusammenfassungen und Ortsmarkierungen — über einer Karte ein, die du bereits renderst.
Das Chat-Bundle erkennt deinen Kartenanbieter automatisch (Mapbox, MapLibre, Google).
- Einbindung:
attach— das Panel wird innerhalb deiner Seite eingebunden und steuert das Kartenobjekt, das du ihm übergibst. - Erforderlicher Scope:
ai. - Mindestplan: Pro — Free-Schlüssel erlauben den
ai-Scope nicht.
Bevor du beginnst
- Der Origin deiner Seite muss in der Origin-Allowlist des Schlüssels enthalten sein. Andernfalls schlägt der Session-Austausch
mit 403
session_origin_mismatchfehl.file://sendet keinenOriginund schlägt immer fehl — nutze HTTP(S). Siehe API-Schlüssel erhalten. - Deine CSP muss den SDK-Loader, MapLibres
'wasm-unsafe-eval'und die Hosts deines Kartenanbieters erlauben — siehe Content Security Policy.
Mount
const handle = Kaleidr.mount('#chat-panel', {
product: 'chat',
publishableKey: 'kld_pk_live_…', // ai scope, Pro+
map: myMap, // your live map instance
contained: true, // dock inside #chat-panel, not on body
});
contained: true dockt das Panel innerhalb des Mount-Elements an. Ohne diese Option
weicht das Panel auf document.body aus und wirkt über deinem Layout fehlerhaft.
Das Chat-Panel zeichnet Orte auf myMap ein und passt den Kameraausschnitt an, während
die Unterhaltung Standorte auflöst. Das Streaming verwendet den
SSE wire contract; die Nutzung wird über den
ai-Scope gegen das Kontingent deiner Organisation abgerechnet.
Handle
handle.destroy(); // always available
handle.setTheme({ '--kd-accent': '#2da84a' }); // live theme update
handle.setCamera(...)ist bei Chat ein no-op. Chat steuert die Kartenkamera nicht — verwende die Kamera-API deiner Karteninstanz.handle.setTheme(...)akzeptiert ein JSON-CSS-Token-Objekt; benannte String- Themes werden mit einer Warnung ignoriert.
Headless (ohne Karte) wird unterstützt — lasse map für ein reines Chat-Panel weg;
es gibt dann keine Pins oder Routen-Overlays.