AssetDiet MCP

Inteligência de ativos para agentes de codificação de IA — audite, otimize e reverta mídias com segurança.

Documentação

AssetDiet — Asset intelligence for AI coding agents



AssetDiet

Inteligência de ativos para agentes de codificação de IA — audite, otimize e reverta mídia com segurança.

npm CI License: MIT Node.js MCP Tools Privacy

Configuração em um comando · Experimente com seu agente · Migração de código · Formatos suportados · Segurança e reversão · Documentação


AssetDiet terminal demo showing audit, savings breakdown, and optimization

Agentes de codificação de IA criam interfaces de frontend em segundos, mas tratam mídia como blocos opacos — enviando fotos cruas de 4 MB da câmera, SVGs não comprimidos e ícones duplicados diretamente para o git. O AssetDiet dá olhos para a mídia do seu agente: audita repositórios em milissegundos, executa otimizações nativas sem perdas, atualiza referências no código-fonte e mantém cada byte reversível.


⚡ Configuração em um comando

Conecte o AssetDiet ao seu assistente de codificação de IA sem configuração manual:

npx -y assetdiet-mcp@latest setup --yes

Detecta e registra automaticamente o AssetDiet com Cursor, Claude Desktop, Claude Code, Windsurf e Codex, com backups de configuração .bak com carimbo de data/hora.

Resultados do mundo real

public/hero.png          4.8 MB  →  642 KB   (−86.6%)   balanced
public/icons/logo.svg    184 KB  →   42 KB   (−77.2%)   safe
models/character.glb     8.6 MB  →  3.2 MB   (−62.8%)   balanced

🤖 Experimente com seu agente

Após a configuração, copie e cole este prompt no seu assistente de codificação de IA (Cursor Composer, Claude Code, Windsurf ou Claude Desktop):

Run an AssetDiet audit on this repo under the safe policy. Show me the top assets by potential savings, any exact duplicates, and a short optimization plan. Don't change any files yet.

Seu agente chamará assetdiet_audit, indexará hashes SHA-256, exibirá grupos duplicados e apresentará uma proposta sem riscos antes de pedir sua aprovação.


💻 Ou execute pelo seu terminal

# 1. Read-only audit with instant savings & duplicate discovery
npx -y assetdiet-mcp@latest audit . --policy safe

# 2. Or get a concise 3-line scorecard summary
npx -y assetdiet-mcp@latest audit . --policy safe --summary

# 3. Apply lossless optimizations with atomic journal safety
npx -y assetdiet-mcp@latest optimize . --policy safe
🛠️ Contribuindo / Compilando a partir do código-fonte
git clone https://github.com/092Abdullah/AssetDiet.git
cd AssetDiet
pnpm install
pnpm build
pnpm test

🔗 Além dos arquivos: migração de referências no código

A maioria dos otimizadores apenas altera arquivos no disco. O AssetDiet também pode atualizar seu código quando os formatos mudam.

Ao converter formatos legados pesados (como .png para os modernos .webp ou .avif), seu agente usa o mecanismo de referência AST e regex do AssetDiet:

  • assetdiet_find_references: Rastreia cada referência de código, JSX, TS, CSS e HTML a um ativo em todo o repositório.
  • assetdiet_migrate_references: Atualiza atomicamente declarações de importação e caminhos de ativos nos seus arquivos de origem para corresponder aos novos nomes de arquivo otimizados.
// Before
import hero from "./hero.png";
<img src="/assets/hero.png" />;

// After assetdiet_migrate_references
import hero from "./hero.webp";
<img src="/assets/hero.webp" />;

📦 Formatos de ativos suportados

O AssetDiet usa mecanismos nativos testados em batalha e parsers WebAssembly. Zero idas e voltas para a nuvem.

FormatoCategoriaMecanismoCapacidades
.png, .jpg, .jpeg, .webp, .avif, .gifRasterSharp (libvips)Compressão sem perdas, remoção de metadados, quantização de paleta, preservação de alfa
.svgVetorSVGORemoção de comentários XML, limpeza de grupos não utilizados, arredondamento de precisão de caminho, preservação de viewBox
.glb, .gltfModelos 3DglTF-TransformSoldagem de vértices coincidentes, deduplicação de malhas, poda de materiais/amostradores não utilizados
.mp4, .webmVídeoFFmpeg / FFprobeTranscodificação H.264/VP9, trocas temporárias atômicas (detectadas automaticamente no sistema host)
.woff2, .woff, .ttf, .otfFontesMecanismo de fontesExtração de metadados, análise de tabela de glifos, detecção de duplicatas de famílias

🔄 Como o AssetDiet funciona

AssetDiet 4-stage pipeline: Scan & Graph, Policy & Plan, Native Engines, Safety & Rollback
  1. Escaneamento e grafo: Percorre os arquivos do repositório (respeitando .gitignore, .assetdietignore e exclusões padrão de build), gera hashes de conteúdo com SHA-256 e vincula referências de código.
  2. Política e plano: Avalia oportunidades de acordo com a política escolhida (safe, balanced ou aggressive) e cria um plano de execução em memória.
  3. Otimização do mecanismo: Envia cada ativo para seu mecanismo nativo, gravando em arquivos de troca temporários isolados (.tmp.<random>).
  4. Verificação e commit: Valida profundamente a decodificabilidade e as dimensões. Em caso de sucesso, troca o arquivo atomicamente. Em caso de falha, descarta o arquivo temporário, deixando o original intacto.

🛡️ Segurança e reversão atômica

Cada operação de arquivo é 100% reversível:

  1. Backups pré-otimização: Originais exatos, byte por byte, são salvos em .assetdiet/backups/<runId>/ antes da modificação.
  2. Diário write-ahead: Transições de estado são registradas em .assetdiet/runs/<runId>.json.
  3. Substituições atômicas: Usa renomeações atômicas de nível de sistema operacional (fs.rename). Arquivos nunca são sobrescritos parcialmente.
  4. Restauração instantânea:
    npx -y assetdiet-mcp@latest restore --run <runId>
    

🎯 Matriz de políticas de otimização

PolíticaConversão de formatoAlvo de qualidadeDimensões máximasMigração de referências de códigoFidelidade visual (SSIM)Economia típica
safe (padrão)❌ Somente mesma extensãoSem perdas / 85Original (sem redimensionamento)❌ Intacto100% idêntico (SSIM ≥ 0,98)15–35%
balanced✅ PNG/JPEG → WebPAlta qualidade (~85)Original (sem redimensionamento)✅ Atualizações atômicas de códigoQuase imperceptível (SSIM ≥ 0,95)40–70%
aggressive✅ WebP/AVIF + QuantizaçãoCompacto (~75)Limitado a 2560px✅ Atualizações atômicas de códigoPerceptual (SSIM ≥ 0,88)60–85%
audit❌ Nenhuma (somente leitura)N/AOriginal❌ Nenhuma100% inalteradoSomente simulação

📊 Resultados do mundo real

AssetDiet avaliado em ativos típicos de repositórios web e de jogos:

Tipo de ativoArquivo originalPolíticaResultado otimizadoEconomiaPontuação SSIMReferências de código migradas
Hero de landinghero.png (4,8 MB)balancedhero.webp (642 KB)-86,6%0.9873 arquivos (index.tsx, Hero.jsx)
Foto de produtoproduct.jpg (2,1 MB)balancedproduct.webp (310 KB)-85,2%0.9792 arquivos (store.ts, Card.tsx)
Ícone de aplicativoicon.png (320 KB)safeicon.png (214 KB)-33,1%1.000No lugar (mesma extensão)
Vetor de UIillustrations.svg (184 KB)safeillustrations.svg (42 KB)-77,2%Vetor limpoNo lugar (viewBox preservado)
Clipe de demonstraçãodemo.mp4 (14,2 MB)balanceddemo.mp4 (4,1 MB)-71,1%Paridade de streamNo lugar (H.264 CRF 23)
Ativo 3Dcharacter.glb (8,6 MB)balancedcharacter.glb (3,2 MB)-62,8%Malha soldadaNo lugar (glTF-Transform)

🔒 100% local e privado

  • Zero telemetria: Sem análises, beacons de rastreamento ou pings de retorno.
  • Execução 100% local: Todo o processamento acontece na sua CPU usando mecanismos nativos incorporados. A mídia nunca sai da sua máquina.
  • Integração segura com agentes: Apenas metadados de texto concisos são passados via stdio local para seu assistente.

📚 Documentação


📄 Licença

MIT © 2026 Contribuidores do AssetDiet