EM ANDAMENTO
Resumo técnico
Plugin NEXUS de gestão centralizada de contas, credenciais, tokens e autenticação para provedores de inteligência artificial, com monitoramento de consumo (CHEIA/FINAL/ESGOTADA), refresh automático do ciclo mensal, alertas por e-mail e navegador e sincronização via MCP com troca inteligente de conta na IDE.
Escopo executado
plugin.json: v1.0.0, slugnexus-ia-control(semlegacy_slugs), name "NEXUS IA Control", categoria "Integrations",is_core: false, author_url e website públicos (perciocastelo.com.br).- Schema: tabela MySQL pré-existente
ai_accounts(o plugin não cria DDL — requer schema do core comid,email,provider,plan_type,ai_type,token_limit,token_used,status,refresh_date,special_notes,last_notified,last_notified_browser,origin,is_active,updated_at). - Plugin (
plugin.php): aba "Controle de IA" (íconebrain-circuit), doc "Controle de IAs" (íconecpu), 3 modais (ia-account,ia-engines,ia-chat-test), JSassets/ia-control-v2.jse 10 actions (ia_list,ia_save,ia_delete,ia_alerts,ia_accounts_list,ia_accounts_save,ia_accounts_delete,ia_sync_account,ia_engines_list,ia_engines_save). - Dashboard (
ia_accounts_counts) —total,used_tokens,total_limit, contagens por status (cheia/final/esgotada) eenergy_percent(arredondado via helperMath_round). - CRUD (
ia_account_save) — UPSERT porid(UPDATE) ou INSERT +lastInsertId, campos: email, provider, plan_type, ai_type, token_limit, token_used, status, refresh_date, special_notes. - Refresh automático +1 dia (
ia_check_refresh_alerts) — contas comrefresh_date <= hojeelast_notified != refresh_datesão resetadas (token_used = 0,status = CHEIA, próximo ciclo = mesmo dia do mês seguinte) e disparam e-mail HTML estilizado (tema violeta#7c3aed, badge "CHEIA (Resetado)", próximo refresh e CTA "Abrir Controle de IA →" comSITE_URL). - Alertas de navegador (
ia_check_browser_alerts) — contas renováveis retornadas para notificação nativa do navegador via polling silencioso (actionia_alerts). - Sincronização via MCP (
ia_account_sync) — upsert por e-mail comorigin='mcp',is_active=1e nota "[Sincronizada automaticamente via MCP Server]"; conta nova receberefresh_date+30 dias; conta existente preserva status protegidos (CHEIA/ESGOTADA/FINAL — o MCP sempre envia 'ATIVO' da API do provedor, mas o NEXUS mantém o estado manual) e smart account switch: desativa automaticamente as demais contas MCP (is_active = 0), detectando a troca de conta na IDE. - Sem cron —
cronjob.jsonv1 comjobs: []e nota "Plugin sob demanda; nenhuma rotina periódica segura ou necessária." (o refresh é disparado pelo polling/uso). - Fastr — comando
/ia-control(arg_required: false,pass_task_id: false) executando a actionia_list(resumo das contas de IA). - UI (
tab.php, 241 linhas, tema violet#7c3aed+ slate) — Stats Grid v4.1 com 6 cards de alta densidade clicáveis e filtráveis (Total violet/users, Usados pink/zap, CHEIA emerald/battery-low, FINAL amber/alert-circle, ESGOTADA rose/battery-warning, Eficiência indigo/activity) com linha de progresso animada e overlay de filtro ativo; toolbar Ultra-Rounded (rounded-[2.5rem], Glassmorphismbackdrop-blur-xl) com "Nova Conta" violet-600, filtros de Provedor/IA/Mostrar (10/50/100/todos) e busca; tabela premium (Email do Provedor, Tipo/Inteligência, Utilização de Tokens com barra semântica — esmeralda <70%, âmbar 70–90%, rosa >90% ou status terminal —, Estado com badges, Origem com badge "ATIVA NA IDE" emerald pulsante p/ MCP ativo, Fim do Ciclo com datas relativas "Hoje"/"em X dias" e nota "(NOTIFICAÇÃO +1 DIA)", Gerenciar com editar/excluir); empty state contextual (onboarding "Comece agora!" vs filtros "Ambiente Silencioso"); ícones via sprite Lucide (icons.svg#) com watcherslucide.createIcons()nas mutações AJAX. - Modais —
ia-account(CRUD unificado "Gerenciar IA"/"Nova IA" com link "Configurar provedores"),ia-engines(motores de IA customizados — nome, ícone lucide, excluir/adicionar; persistidos na settingai_engines),ia-chat-test(teste de chat comcurrentChatURL, mensagem de teste e "Refinar Prompt (IA Magic)"). - i18n via chaves
$t('ia.*')/__()com fallbacks em PT. - Sem install.sql e sem migrações no plugin.
Stack e ferramentas
- PHP 8 (sem framework)
- MySQL 8 (
ai_accountspré-existente) - Alpine.js + Tailwind CSS (premium light, violet/slate) + Lucide (sprite)
- MCP Server (sincronização automática de contas)
- Plugin NEXUS (PluginManager: tabs, docs, modais, API actions, Fastr)
Tags operacionais
- Inteligência Artificial
- Tokens
- Credenciais
- MCP
- Autenticação
- Gestão de Contas
- Alertas
- Plugin NEXUS
Resultado operacional
- Visão centralizada: todas as contas de IA (Google, OpenAI, Anthropic etc.) em um só painel com consumo agregado e por conta.
- Postura de consumo: status CHEIA/FINAL/ESGOTADA com barras semânticas (<70% verde, 70–90% âmbar, >90% rosa) e eficiência agregada em %.
- Renovação automática: ciclo mensal resetado no vencimento com e-mail de confirmação em HTML e notificação nativa no navegador (+1 dia).
- Sincronização MCP: contas detectadas e sincronizadas automaticamente pela IDE; troca de conta na IDE é detectada (smart account switch).
- Estado manual preservado: contas marcadas manualmente como CHEIA/ESGOTADA/FINAL não são sobrescritas pela API do provedor.
- Zero rotinas periódicas: plugin sob demanda (cronjob.json com jobs vazio).
- Comando
/ia-controlno chat (resumo das contas).
Andamento no GitHub (issues)
Painel em tempo real com as issues mais recentes do repositório.
live feed
abrir issues no githubcarregando andamento...
não foi possivel carregar as issues agora. abra no github pelo link acima.
Resultados reais
Gestão centralizada de contas, chaves e cotas para múltiplos provedores de inteligência artificial. Permite alternar modelos em tempo real, gerenciar ciclos de renovação de limites e monitorar a integridade de agentes na IDE.
Arquitetura e organização
- PHP 8
- MySQL 8
- Alpine.js
- Tailwind CSS
- Lucide
- MCP Server
- Plugin NEXUS
Execução e operação
O projeto segue fluxo reprodutível de execução com validação técnica em ambiente de produção/similar.
Screenshots
Falar sobre este projeto
Aplique este modelo no seu ambiente e acelere a entrega com consistência técnica.