Visão Geral
O useAgentVtexCX conversa com um agente que já existe no VTEX CX Platform
(transporte WebSocket da Weni), em vez de chamar o backend de agentes do Eitri.
A diferença que mais aparece na tela: a resposta chega em streaming. O texto é atualizado a cada frame recebido do socket, então a conversa cresce na tela palavra por palavra, sem esperar a resposta inteira.
Qual hook usar
useAgent | useAgentVtexCX | |
|---|---|---|
| Onde o agente vive | backend de agentes do Eitri | canal do VTEX CX Platform |
| Transporte | HTTP (Eitri.http.post) | WebSocket |
| Resposta | de uma vez, ao fim da requisição | em streaming, frame a frame |
| Prompt do agente | agents/*.md no seu projeto | flow configurado no CX |
| Ferramentas (tools) | sim, via window['AGENT_TOOLS'] em runtime do Eitri-App | não — tudo é montado no painel do CX |
| RAG / embeddings | sim (useKnowledge) | não |
speech (áudio) | sim | não |
| Histórico da conversa | contexto local, em memória | servidor é a fonte da verdade |
| Dado estruturado | JSON no texto da resposta | campos do protocolo (product_list, quick_replies…) e JSON do agente |
| Configuração | eitri agents setup (LLM + API key) | channelUuid do canal |
Resumindo: useAgent quando o agente é seu e roda na infra de agentes do
Eitri; useAgentVtexCX quando o atendimento já está montado no CX Platform
e o app é só mais um canal dele.
Os dois vêm na mesma biblioteca e podem coexistir no mesmo app.
Como funciona
- O hook resolve a identidade da conversa (o campo
fromdo registro): osessionIdque você passar ou um id anônimo guardado noEitri.sharedStorage. - Abre o WebSocket e faz o
registercom ocallbackdo canal. - Quando o servidor responde
ready_for_message, pede o histórico (get_history) e monta a conversa. call()envia a mensagem como framemessage(texto e/ou mídia).- A resposta chega de um destes jeitos, e o hook normaliza todos para o mesmo
formato de mensagem:
typing_start→ o status virathinking(IA) outyping(atendente);stream_start+delta+stream_end→ texto em streaming;- frame
messagecompleto → texto, mídia,quick_replies,product_list…; - JSON do agente no texto → aberto em mensagens e catálogo de produtos.
- Quedas de conexão voltam sozinhas, com backoff exponencial.
O que você precisa antes de começar
- O
channelUuiddo canal do CX Platform (o mesmo id usado pelo webchat). - O flow/agente publicado no CX. Nada de
eitri agents setup: este caminho não usa LLM nem API key configurada no Eitri — quem responde é o CX.
Siga para Uso Básico.