/** * Request Tracker — 实时请求跟踪器 * * 记录最近 100 次代理请求信息,包括时间、模型、耗时、状态码、系统提示词、携带的工具等, * 并通过 WebSocket 和 REST API 提供给前端查看。 */ import { WebSocket } from 'ws'; export interface RequestLogEntry { id: string; timestamp: string; startTime: number; method: string; endpoint: string; model: string; actualModel?: string; stream: boolean; status: 'pending' | 'success' | 'error'; statusCode?: number; durationMs: number; systemPrompt: string; toolNames: string[]; tools: any[]; messages: any[]; error?: string; username?: string; clientIp?: string; } declare class RequestTracker { private requests; private clients; /** * 记录请求开始 */ recordStart(params: { endpoint: string; method?: string; model: string; stream: boolean; systemPrompt?: string; toolNames?: string[]; tools?: any[]; messages?: any[]; username?: string; clientIp?: string; }): RequestLogEntry; /** * 记录请求结束 */ recordEnd(id: string, updates: { statusCode?: number; status?: 'success' | 'error'; actualModel?: string; error?: string; }): void; /** * 获取最近的请求记录(最新在后) */ getRecentRequests(): RequestLogEntry[]; /** * 清空记录 */ clear(): void; /** * WebSocket 客户端订阅 */ subscribe(ws: WebSocket): void; /** * WebSocket 客户端退订 */ unsubscribe(ws: WebSocket): void; /** * 广播消息给所有连接的客户端 */ private broadcast; } export declare const requestTracker: RequestTracker; export {}; //# sourceMappingURL=requestTracker.d.ts.map