// 文本部分 export interface TextPart { type: string; // 通常是 "text" text: string; } // 模型信息 export interface ModelInfo { providerID: string; modelID: string; } // 流式对话请求 export interface PromptStreamRequest { sessionID: string; parts: TextPart[]; agent?: string; model?: ModelInfo; } // 助理消息 export interface AssistantMessage { id: string; role: string; sessionID: string; content?: string; agent: string; modelID: string; providerID: string; tokens: TokenInfo; time: { [key: string]: any }; } // Token信息 export interface TokenInfo { input: number; output: number; } // 消息类型 export type MessageType = 'thinking' | 'tool' | 'reply' | 'error'; // 对话消息(前端显示用) export interface ChatMessage { id: string; role: 'user' | 'assistant' | 'system'; type?: MessageType; // 消息类型(思考、工具、回复、错误) content: string; timestamp: Date; sessionID: string; loading?: boolean; // 是否正在流式加载 } // 流式响应块 export interface StreamChunk { type: MessageType | 'done'; data: string; }