Pular para o conteúdo principal

useChat

Orquestrador de sessão de chat de alto nível. Gerencia mensagens, streaming e estado da entrada.

Uso

import { useChat } from '@agentskit/react'
import { anthropic } from '@agentskit/adapters'

function Chat() {
const chat = useChat({
adapter: anthropic({ apiKey: 'key', model: 'claude-sonnet-4-6' }),
onMessage: (msg) => console.log('Received:', msg.content),
})

return (
<div>
{chat.messages.map(msg => (
<div key={msg.id}>{msg.role}: {msg.content}</div>
))}
<input value={chat.input} onChange={e => chat.setInput(e.target.value)} />
<button onClick={() => chat.send(chat.input)}>Send</button>
{chat.status === 'streaming' && <button onClick={chat.stop}>Stop</button>}
</div>
)
}

API

const chat = useChat(config)

Configuração

ParâmetroTipoDescrição
adapterAdapterFactoryAdaptador do provedor de IA
onMessage(msg: Message) => voidChamado quando a mensagem do assistente conclui
onError(err: Error) => voidChamado em erro de stream
initialMessagesMessage[]Pré-preenche o histórico do chat

Retorno

CampoTipoDescrição
messagesMessage[]Todas as mensagens da conversa
send(text: string) => voidEnvia mensagem do usuário e faz streaming da resposta
stop() => voidAborta o stream atual
retry() => voidRepete a última mensagem do assistente
statusStreamStatusStatus atual do streaming
inputstringValor atual da entrada
setInput(value: string) => voidAtualiza o valor da entrada