Pular para o conteúdo principal

Chat — anexe AI ao seu mapa

product="chat" monta o Kaleidr Control Tower — navegação orientada por chat, resumos de POI e marcadores de lugares — sobre um mapa que você já renderiza. O bundle de chat detecta automaticamente seu fornecedor de mapas (Mapbox, MapLibre, Google).

  • Forma de integração: attach — o painel é montado dentro da sua página e controla o objeto de mapa que você fornece.
  • Escopo necessário: ai.
  • Plano mínimo: Pro — chaves Free não permitem o escopo ai.

Antes de começar

  • A origem da sua página deve estar na lista de origens permitidas da chave. Caso contrário, a troca de sessão falha com 403 session_origin_mismatch. file:// não envia nenhum Origin e sempre falha — use HTTP(S). Consulte Obter uma chave de API.
  • Sua CSP deve permitir o loader do SDK, 'wasm-unsafe-eval' do MapLibre e os hosts do seu fornecedor de mapas — consulte Content Security Policy.

Montagem

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 fixa o painel dentro do elemento de montagem. Sem isso, o painel vai para document.body e parece quebrado sobre o layout.

O painel de chat plota lugares em myMap e enquadra a câmera à medida que a conversa resolve localizações. O streaming usa o SSE wire contract; o uso do escopo ai é contabilizado na cota da sua organização.

Handle

handle.destroy(); // always available
handle.setTheme({ '--kd-accent': '#2da84a' }); // live theme update
  • handle.setCamera(...) em chat é um no-op. Chat não controla a câmera do mapa — use a API de câmera da sua própria instância do mapa.
  • handle.setTheme(...) aceita um objeto JSON de tokens CSS; temas nomeados como string são ignorados com um aviso.

O modo headless (sem mapa) é suportado — omita map para um painel apenas de chat; não haverá marcadores nem sobreposições de rotas.

Guias por fornecedor