'use client'; import { useState } from 'react'; interface TestPanelProps { data: any; } export default function TestPanel({ data }: TestPanelProps) { const [messages, setMessages] = useState([ { id: 1, role: 'assistant', content: `你好!我是${data.name || 'AI Assistant'}。我已经准备好为您提供帮助了。请告诉我您需要什么协助?`, timestamp: new Date() } ]); const [inputMessage, setInputMessage] = useState(''); const [isLoading, setIsLoading] = useState(false); const sendMessage = async () => { if (!inputMessage.trim()) return; const userMessage = { id: messages.length + 1, role: 'user', content: inputMessage, timestamp: new Date() }; setMessages(prev => [...prev, userMessage]); setInputMessage(''); setIsLoading(true); setTimeout(() => { const aiResponse = { id: messages.length + 2, role: 'assistant', content: `这是一个测试响应。在实际部署后,我将根据您配置的模型和知识库来回答问题。当前配置:模型 ${data.model},温度 ${data.temperature}。`, timestamp: new Date() }; setMessages(prev => [...prev, aiResponse]); setIsLoading(false); }, 1500); }; const clearChat = () => { setMessages([{ id: 1, role: 'assistant', content: `你好!我是${data.name || 'AI Assistant'}。我已经准备好为您提供帮助了。请告诉我您需要什么协助?`, timestamp: new Date() }]); }; return (

测试对话

{data.avatar}

{data.name || '未命名Agent'}

测试模式

{messages.map((message) => (

{message.content}

{message.timestamp.toLocaleTimeString()}

))} {isLoading && (
)}
setInputMessage(e.target.value)} onKeyPress={(e) => e.key === 'Enter' && sendMessage()} className="flex-1 px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 text-sm" />

配置预览

名称: {data.name || '未设置'}
类型: {data.type}
模型: {data.model}
创造性: {data.temperature}
最大长度: {data.maxTokens}

测试建议

); }