import { useEffect, useState } from 'react'; import { useAgentStore } from '../../store/agentStore'; import { useConnectionStore } from '../../store/connectionStore'; import { BarChart3, TrendingUp, Clock, Zap } from 'lucide-react'; export function UsageStats() { const usageStats = useAgentStore((s) => s.usageStats); const loadUsageStats = useAgentStore((s) => s.loadUsageStats); const connectionState = useConnectionStore((s) => s.connectionState); const [timeRange, setTimeRange] = useState<'7d' | '30d' | 'all'>('7d'); useEffect(() => { if (connectionState === 'connected') { loadUsageStats(); } }, [connectionState]); const stats = usageStats || { totalSessions: 0, totalMessages: 0, totalTokens: 0, byModel: {} }; const models = Object.entries(stats.byModel || {}); const formatTokens = (n: number) => { if (n >= 1_000_000) return `~${(n / 1_000_000).toFixed(1)} M`; if (n >= 1_000) return `~${(n / 1_000).toFixed(1)} k`; return `${n}`; }; // 计算总输入和输出 Token const totalInputTokens = models.reduce((sum, [_, data]) => sum + data.inputTokens, 0); const totalOutputTokens = models.reduce((sum, [_, data]) => sum + data.outputTokens, 0); return (
暂无使用数据
开始对话后将自动记录用量统计