import React, { useState } from 'react'; import { Badge } from '../../shared/components/Badge'; import { Button } from '../../shared/components/Button'; import { Sparkles, Bot, Brain, Send, Cpu, CheckCircle2, Shield, Activity } from 'lucide-react'; interface AiAgent { id: string; name: string; role: string; description: string; tools: string[]; status: 'active' | 'busy' | 'idle'; tasksCompleted: number; } const AI_AGENTS: AiAgent[] = [ { id: 'orch', name: 'Главный Оркестратор', role: 'Orchestrator', description: 'Декомпозирует глобальные бизнес-цели и распределяет задачи между агентами-специалистами', tools: ['Task Delegator', 'Cross-module Context', 'Guardian Policy'], status: 'active', tasksCompleted: 342, }, { id: 'analyst', name: 'Бизнес-аналитик', role: 'BI & Financial Analyst', description: 'Анализирует чеки, food cost, маржинальность, динамику продаж и выявляет аномалии', tools: ['SQL Query', 'Revenue Forecast', 'ABC Matrix', 'Shift Audit'], status: 'active', tasksCompleted: 819, }, { id: 'marketer', name: 'Бизнес-маркетолог', role: 'Growth & Retention', description: 'Генерирует контент-планы, офферы для рассылок, анализирует сегменты клиентов в зоне риска', tools: ['Promo Engine', 'Telegram Bot Sender', 'Copywriter', 'Cohort Analysis'], status: 'active', tasksCompleted: 420, }, { id: 'warehouse_agent', name: 'Складской су-шеф', role: 'Supply Chain Agent', description: 'Мониторит критические остатки, сроки годности и формирует авто-заказы поставщикам', tools: ['Supplier Auto-Order', 'Waste Tracker', 'Inventory Audit'], status: 'active', tasksCompleted: 612, }, ]; export const AiCenterModule: React.FC = () => { const [activeAgentId, setActiveAgentId] = useState('orch'); const [chatMessages, setChatMessages] = useState<{ sender: 'user' | 'ai'; text: string; time: string }[]>([ { sender: 'ai', text: 'Здравствуйте! Я Главный Оркестратор Кроны. Моя команда специалистов (Аналитик, Маркетолог, Склад) готова помочь вам оптимизировать операционные процессы, снизить списания и поднять средний чек.', time: '12:00', }, ]); const [prompt, setPrompt] = useState(''); const handleSend = (e: React.FormEvent) => { e.preventDefault(); if (!prompt.trim()) return; const userText = prompt; setChatMessages((prev) => [ ...prev, { sender: 'user', text: userText, time: 'Только что' }, ]); setPrompt(''); setTimeout(() => { setChatMessages((prev) => [ ...prev, { sender: 'ai', text: `Агент «${AI_AGENTS.find(a => a.id === activeAgentId)?.name}»: Анализ запроса «${userText}» завершен. Сформирован проект решения в задачах. Выручка и себестоимость учтены в сводном отчете.`, time: 'Только что', }, ]); }, 450); }; return (

✦ Krona AI Center & Автономная бизнес-команда

Крона Модель v1.8 Flash

Специализированные агенты с прямым доступом к инструментам платформы и памяти заведения

Токены: 48 200 / 100 000
{/* Agents Selection Cards */}
{AI_AGENTS.map((agent) => (
setActiveAgentId(agent.id)} className={`p-4 rounded-xl border cursor-pointer transition-all shadow-krona-soft flex flex-col justify-between space-y-2.5 ${ agent.id === activeAgentId ? 'border-krona-gold bg-krona-gold/10 ring-2 ring-krona-gold/20' : 'border-krona-border bg-krona-surface hover:border-krona-border-strong' }`} >
{agent.role}

{agent.name}

{agent.description}

Инструментов: {agent.tools.length} {agent.tasksCompleted} задач
))}
{/* Interactive AI Dialog Box */}
Диалог с агентом: {AI_AGENTS.find(a => a.id === activeAgentId)?.name}
Контекст синхронизирован
{chatMessages.map((m, i) => (

{m.text}

{m.time}
))}
setPrompt(e.target.value)} placeholder="Сформулируйте задачу для агента (например: 'Оптимизируй закупку лосося')..." className="flex-1 bg-krona-workspace border border-krona-border rounded-lg px-3 py-2 text-xs text-krona-primary placeholder:text-krona-secondary focus:outline-none focus:border-krona-gold" />
); };