import { useChat } from '@ag-kit/ui-react';
import { useState } from 'react';
function Chat() {
const { uiMessages, sendMessage, streaming } = useChat({
url,
clientTools: [alertUser],
});
const [input, setInput] = useState("");
return (
<div>
<div>
{uiMessages.map((m, mi) => (
<div key={mi}>
<p>角色: {m.role}</p>
{m.parts.map((p, pi) => {
switch (p.type) {
case "text":
return (
<p key={pi}>
{m.role}: {p.text}
</p>
);
case "tool-call":
return (
<div key={pi}>
<p>工具名称: {p.name}</p>
<p>工具调用参数: {p.arguments}</p>
{p.result && <p>工具调用结果: {p.result}</p>}
</div>
);
default:
return null;
}
})}
</div>
))}
</div>
<input value={input} onChange={(e) => setInput(e.target.value)} />
<button onClick={() => sendMessage(input)} disabled={streaming}>
发送
</button>
</div>
);
}