Saltar al contenido principal

useChat

Orquestador de alto nivel para la sesión de chat. Gestiona mensajes, streaming y el estado del campo de 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)

Configuración

ParámetroTipoDescripción
adapterAdapterFactoryAdaptador del proveedor de IA
onMessage(msg: Message) => voidSe llama cuando el mensaje del asistente termina
onError(err: Error) => voidSe llama ante error de stream
initialMessagesMessage[]Pre-rellenar el historial del chat

Valor devuelto

CampoTipoDescripción
messagesMessage[]Todos los mensajes de la conversación
send(text: string) => voidEnvía un mensaje de usuario y hace stream de la respuesta
stop() => voidAborta el stream actual
retry() => voidReintenta el último mensaje del asistente
statusStreamStatusEstado actual del streaming
inputstringValor actual del campo de entrada
setInput(value: string) => voidActualiza el valor de entrada