AssetDiet MCP

Inteligencia de activos para agentes de codificación de IA: audita, optimiza y revierte medios de forma segura.

Documentación

AssetDiet — Asset intelligence for AI coding agents



AssetDiet

Inteligencia de activos para agentes de codificación con IA: audita, optimiza y revierte medios de forma segura.

npm CI License: MIT Node.js MCP Tools Privacy

Configuración en un comando · Pruébalo con tu agente · Migración de código · Formatos compatibles · Seguridad y reversión · Documentación


AssetDiet terminal demo showing audit, savings breakdown, and optimization

Los agentes de codificación con IA crean interfaces de usuario frontend en segundos, pero tratan los medios como blobs opacos: enviando fotos RAW de cámara de 4 MB, SVGs sin comprimir e iconos duplicados directamente a git. AssetDiet le da ojos a tu agente sobre los medios: audita repositorios en milisegundos, ejecuta optimizaciones nativas sin pérdida, actualiza referencias en el código fuente y mantiene cada byte reversible.


⚡ Configuración en un comando

Conecta AssetDiet a tu asistente de codificación con IA sin configuración manual:

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

Detecta y registra automáticamente AssetDiet con Cursor, Claude Desktop, Claude Code, Windsurf y Codex con copias de seguridad de configuración .bak con marca de tiempo.

Resultados del 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

🤖 Pruébalo con tu agente

Una vez configurado, copia y pega este prompt en tu asistente de codificación con IA (Cursor Composer, Claude Code, Windsurf o 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.

Tu agente llamará a assetdiet_audit, indexará hashes SHA-256, mostrará grupos duplicados y esbozará una propuesta sin riesgos antes de pedir tu aprobación.


💻 O ejecútalo desde tu 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
🛠️ Contribuir / Compilar desde el código fuente
git clone https://github.com/092Abdullah/AssetDiet.git
cd AssetDiet
pnpm install
pnpm build
pnpm test

🔗 Más allá de los archivos: migración de referencias en el código base

La mayoría de los optimizadores solo tocan archivos en disco. AssetDiet también puede actualizar tu código cuando cambian los formatos.

Al convertir formatos heredados pesados (como .png a modernos .webp o .avif), tu agente usa el motor de referencias AST y regex de AssetDiet:

  • assetdiet_find_references: Rastrea cada referencia de código, JSX, TS, CSS y HTML a un activo en todo el repositorio.
  • assetdiet_migrate_references: Actualiza atómicamente las declaraciones de importación y las rutas de activos en tus archivos fuente para que coincidan con los nuevos nombres de archivo optimizados.
// 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 activos compatibles

AssetDiet usa motores nativos probados en batalla y analizadores WebAssembly. Cero viajes de ida y vuelta a la nube.

FormatoCategoríaMotorCapacidades
.png, .jpg, .jpeg, .webp, .avif, .gifRasterSharp (libvips)Compresión sin pérdida, eliminación de metadatos, cuantización de paleta, preservación de alfa
.svgVectorSVGOEliminación de comentarios XML, limpieza de grupos no utilizados, redondeo de precisión de rutas, preservación de viewBox
.glb, .gltfModelos 3DglTF-TransformSoldadura de vértices coincidentes, deduplicación de mallas, poda de materiales/muestreadores no utilizados
.mp4, .webmVideoFFmpeg / FFprobeTranscodificación H.264/VP9, intercambios temporales atómicos (auto-detectados en el sistema host)
.woff2, .woff, .ttf, .otfFuentesMotor de fuentesExtracción de metadatos, análisis de tablas de glifos, detección de duplicados de familias

🔄 Cómo funciona AssetDiet

AssetDiet 4-stage pipeline: Scan & Graph, Policy & Plan, Native Engines, Safety & Rollback
  1. Escaneo y grafo: Recorre los archivos del repositorio (respetando .gitignore, .assetdietignore y exclusiones de compilación estándar), genera hashes de contenido con SHA-256 y vincula referencias de código.
  2. Política y plan: Evalúa oportunidades según tu política elegida (safe, balanced o aggressive) y crea un plan de ejecución en memoria.
  3. Optimización del motor: Despacha cada activo a su motor nativo, escribiendo en archivos de intercambio temporales aislados (.tmp.<random>).
  4. Verificación y confirmación: Valida en profundidad la decodificabilidad y las dimensiones. En caso de éxito, intercambia el archivo atómicamente. En caso de fallo, descarta el archivo temporal dejando tu original intacto.

🛡️ Seguridad y reversión atómica

Cada operación de archivo es 100% reversible:

  1. Copias de seguridad previas a la optimización: Los originales exactos byte por byte se guardan en .assetdiet/backups/<runId>/ antes de la modificación.
  2. Diario de escritura anticipada: Las transiciones de estado se registran en .assetdiet/runs/<runId>.json.
  3. Reemplazos atómicos: Usa renombrados atómicos a nivel de sistema operativo (fs.rename). Los archivos nunca se sobrescriben parcialmente.
  4. Restauración instantánea:
    npx -y assetdiet-mcp@latest restore --run <runId>
    

🎯 Matriz de políticas de optimización

PolíticaConversión de formatoObjetivo de calidadDimensiones máximasMigración de referencias de códigoFidelidad visual (SSIM)Ahorro típico
safe (predeterminada)❌ Solo misma extensiónSin pérdida / 85Original (sin redimensionar)❌ Sin tocar100% idéntico (SSIM ≥ 0.98)15–35%
balanced✅ PNG/JPEG → WebPAlta calidad (~85)Original (sin redimensionar)✅ Actualizaciones de código atómicasCasi imperceptible (SSIM ≥ 0.95)40–70%
aggressive✅ WebP/AVIF + CuantizarCompacto (~75)Limitado a 2560px✅ Actualizaciones de código atómicasPerceptual (SSIM ≥ 0.88)60–85%
audit❌ Ninguna (solo lectura)N/AOriginal❌ Ninguna100% sin cambiosSolo simulación

📊 Resultados del mundo real

AssetDiet evaluado en activos típicos de repositorios web y de juegos:

Tipo de activoArchivo originalPolíticaResultado optimizadoAhorroPuntuación SSIMReferencias de código migradas
Hero de aterrizajehero.png (4.8 MB)balancedhero.webp (642 KB)-86.6%0.9873 archivos (index.tsx, Hero.jsx)
Foto de productoproduct.jpg (2.1 MB)balancedproduct.webp (310 KB)-85.2%0.9792 archivos (store.ts, Card.tsx)
Icono de aplicaciónicon.png (320 KB)safeicon.png (214 KB)-33.1%1.000En el lugar (misma extensión)
Vector de UIillustrations.svg (184 KB)safeillustrations.svg (42 KB)-77.2%Vector limpioEn el lugar (viewBox preservado)
Clip de demostracióndemo.mp4 (14.2 MB)balanceddemo.mp4 (4.1 MB)-71.1%Paridad de flujoEn el lugar (H.264 CRF 23)
Activo 3Dcharacter.glb (8.6 MB)balancedcharacter.glb (3.2 MB)-62.8%Malla soldadaEn el lugar (glTF-Transform)

🔒 100% local y privado

  • Cero telemetría: Sin análisis, balizas de seguimiento ni pings de conexión.
  • Ejecución 100% local: Todo el procesamiento ocurre en tu CPU usando motores nativos integrados. Los medios nunca salen de tu máquina.
  • Integración segura con agentes: Solo se pasa metadatos de texto concisos a tu asistente a través de stdio local.

📚 Documentación


📄 Licencia

MIT © 2026 Contribuidores de AssetDiet