PicoBot/web/src/components/Chat/ChatContainer.tsx
oudecheng 4cb26b5b67 feat: 子智能体任务消息查看,实时广播工具调用事件
- 新增 LoadTaskMessages 命令,加载子智能体任务的历史消息
- SubAgentEmitter 通过 MessageBus 实时广播子智能体工具调用
- 前端新增子智能体视图,支持导航进入/退出子智能体会话
- 外部渠道过滤子智能体事件,避免推送到飞书/微信
- ToolCall/ToolResult 新增 subagent_task_id 字段

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 11:15:38 +08:00

36 lines
922 B
TypeScript

import { MessageList } from './MessageList'
import { MessageInput } from './MessageInput'
import type { ChatMessage } from '../../types/protocol'
interface ChatContainerProps {
messages: ChatMessage[]
isLoading: boolean
isReadOnly?: boolean
channelName?: string
onSendMessage: (content: string) => void
onNavigateToSubAgent?: (taskId: string, description: string) => void
}
export function ChatContainer({
messages,
isLoading,
isReadOnly = false,
channelName,
onSendMessage,
onNavigateToSubAgent,
}: ChatContainerProps) {
return (
<div className="flex h-full flex-col">
<div className="flex-1 overflow-hidden">
<MessageList messages={messages} onNavigateToSubAgent={onNavigateToSubAgent} />
</div>
<MessageInput
onSend={onSendMessage}
disabled={isLoading}
isReadOnly={isReadOnly}
channelName={channelName}
/>
</div>
)
}