Mole CLI o la app Mole para Mac
Mole se ofrece como dos programas. mo es una herramienta de línea de comandos gratis y de código abierto, se instala con Homebrew y se licencia bajo GPL-3.0. Mole for Mac es una app nativa de pago con cinco pestañas y presencia en la barra de menú. No son una edición de prueba y una pro. Son implementaciones distintas con tareas que se solapan y una capa compartida pequeña en disco, así que elegir una no te deja fuera de la otra. Esta es una guía para elegir la que encaja con cómo ya trabajas, y para lo que pasa si te quedas con las dos.
Comparación rápida
Mole CLI (mo) |
Mole for Mac | |
|---|---|---|
| Licencia | Gratis, código abierto, GPL-3.0 (no MIT) | App de pago propietaria |
| Precio | Gratis | $19 pago único, 2 Macs, actualizaciones de por vida |
| Instalación | brew install mole |
Descarga desde mole.fit |
| Alcance de borrado | Más amplio (asume que lees la lista) | Más estrecho (igual o más seguro que la CLI) |
| Solo terminal | mo purge, mo installer, mo touchid, --dry-run / --json |
- |
| Solo app | - | GUI, barra de menús, ventilador, elementos de arranque, actualizaciones in-app, desinstalación primero a la Papelera |
| Compartido en disco | ~/.config/mole/whitelist*, ~/Library/Logs/mole/operations.log |
Mismas rutas |
Qué comparten las dos
Cinco de los comandos del CLI se mapean directamente a las cinco pestañas de la app: mo clean, mo uninstall, mo optimize, mo analyze y mo status corresponden a Clean, Software, Optimize, Analyze y Status. Las categorías se reconocen en ambos lados: familias solapadas de cachés de usuario, desarrollador, navegador y sistema, inventario de apps y descubrimiento de restos, análisis de disco y métricas de salud. Las implementaciones y los conjuntos exactos de candidatos no son idénticos.
Escanear es gratis en los dos. La app solo cobra por la mitad destructiva, y cada herramienta destructiva funciona dos veces antes de pedir licencia, así que puedes comparar el escaneo de la app con el del CLI en el mismo Mac sin pagar nada.
El solapamiento más interesante está en disco. Ambos escriben en ~/.config/mole/whitelist y ~/.config/mole/whitelist_optimize, y ambos agregan a ~/Library/Logs/mole/operations.log. Una caché que proteges en un front-end queda protegida en el otro, y un borrado hecho en cualquiera deja un registro en el mismo archivo. Los dos programas no se enteran el uno del otro en tiempo de ejecución, pero tampoco son del todo independientes.
Lo que solo la terminal puede hacer
Tres flujos más grandes del CLI no tienen equivalente en la app. Comandos de apoyo como mo history, mo update, mo completion y mo remove son administración de terminal, no superficies de mantenimiento extra.
mo purge
Escanea los directorios de tus proyectos y ofrece quitar artefactos de compilación pesados. Su lista de destinos es amplia: target, build, dist, .next, DerivedData, __pycache__, coverage y unos treinta más, incluidas carpetas de dependencias que un gestor de paquetes tendría que volver a descargar. Purge borra de forma permanente en lugar de mover a la Papelera, y marca como recientes los proyectos tocados en los últimos siete días y los deja sin seleccionar. Es una forma directa de recuperar decenas de gigabytes en una máquina de desarrollo y también el comando que más merece un --dry-run primero.
mo installer
Limpia instaladores DMG, PKG y archivos de Downloads, Desktop, cachés de Homebrew, iCloud y Mail, etiquetando cada uno según de dónde vino.
mo touchid
Configura Touch ID para sudo, que es una tarea de configuración del shell más que de limpieza.
La terminal también permite revisar las acciones previstas y trabajar con scripts. mo clean, mo uninstall y mo optimize aceptan --dry-run, que muestra las acciones sin ejecutarlas. mo analyze, mo status y mo history aceptan --json, y mo status cambia automáticamente a JSON cuando su salida se pasa a otro comando mediante una tubería. Así, un script puede leer los datos de estado. Los comandos de solo lectura y la salida estructurada también funcionan por ssh, en un Mac sin pantalla o desde scripts. El borrado programado sigue necesitando una política explícita para ejecutarse sin intervención; lanzarlo desde cron no sustituye la confirmación interactiva.
Lo que solo la app puede hacer
La app añade pantallas para consultar el estado continuamente y controles del sistema que requieren privilegios.
Analyze muestra un mapa de bloques por el que puedes navegar. Status reúne gráficos de evolución y procesos que puedes fijar, y el panel de la barra de menús muestra CPU, memoria y red mientras trabajas en otra cosa. Uninstall permite revisar rutas, aplicaciones asociadas y tamaños antes de mover nada, y envía los elementos a la Papelera en lugar de borrarlos directamente.
Para el control del sistema, la app instala un helper root de alcance estrecho mediante SMJobBless para escrituras de ventilador y de batería admitidas. La gestión de arranque sigue otro límite: se pueden alternar jobs launchd validados e ítems de Service Management admitidos, mientras que los ítems de segundo plano sin coincidencia abren Ajustes del Sistema en lugar de inventar una acción. La app también lleva superficies que solo tienen sentido como app residente: Privacy Check, que reporta el uso en vivo de cámara y micrófono, Battery Care, que mantiene la carga cerca del 75 al 80 por ciento en Macs compatibles, Keep Screen On, Clean Screen para limpiar el teclado, y un Doctor de solo lectura que arma un informe de diagnóstico que puedes pegar en un issue.
La superficie más grande exclusiva de la app es actualizar otras apps. Detecta varios canales de actualización y tiene rutas dentro de la app para Sparkle, casks y fórmulas de Homebrew, el Mac App Store y feeds de Electron. GitHub Releases y metadatos del sitio web pueden identificar versiones adicionales; cuando Mole no puede verificar y reemplazar un bundle con seguridad, abre la app o la página del proveedor en lugar de inventar otro instalador. La licencia es una compra única que cubre dos Macs con actualizaciones de por vida, reembolso de 14 días y macOS 14 o posterior. Ninguno de los dos programas envía telemetría.
Cómo comparten los criterios de seguridad
La app no es un wrapper que llama a mo por shell. Es una reimplementación en Swift, y las dos bases de código comparten rutas y decisiones de seguridad, no procesos. Analyze se apoya en la taxonomía de rutas del CLI y en lecciones de dimensionado en paralelo, pero tiene su propio escáner, timeouts, estados de resultado parcial, caché y comportamiento de fallback. Un total de un front-end es, por tanto, una comprobación cruzada útil, no una promesa de paridad byte a byte.
El principio registrado en el repositorio para mantenerlos alineados es que la paridad con el CLI significa igual o más seguro, no la misma amplitud de borrado. Cada candidato que la app muestra se clasifica antes de llegarte: seleccionable por defecto, solo revisión y desmarcado por defecto, o bloqueado de entrada y rechazado incluso si algo lo pide. Cuando el comportamiento del CLI y esa clasificación no coinciden, la app toma la posición más estrecha.
mo purge es el ejemplo más claro. El port a Mac de ese barrido omite a propósito todas las carpetas de dependencias descargadas que el CLI quita, incluidas node_modules, Pods, venv y vendor. El razonamiento es recuperabilidad: un directorio target compilado vuelve con un build local, mientras que un árbol de dependencias necesita la red y puede resolverse a algo distinto de lo instalado. La app solo ofrece lo que una compilación local pura puede reconstruir, y lo muestra como filas de solo revisión en lugar de preseleccionadas. La misma asimetría aparece en otros sitios. La app condiciona los escaneos de datos de apps al Acceso completo al disco, revalida cada ruta en el momento del borrado y no solo en el del escaneo, y enruta las desinstalaciones por la Papelera.
Así que las dos no son igual de agresivas, y la diferencia va siempre en la misma dirección. El CLI recupera más porque asume un usuario que lee la lista. La app recupera menos porque asume un usuario que quiere que la lista ya sea segura.
Usar las dos
No se rompe nada si instalas las dos, y los archivos compartidos hacen coherente la combinación. Protege una caché desde Settings de la app y mo clean también la omitirá. Añade una ruta con mo clean --whitelist y la app la respeta. Ambos dejan sus borrados en el mismo log.
Dos matices que conviene saber. Los programas no se coordinan mientras corren, así que no arranques un clean en los dos a la vez. Y como la app es deliberadamente más estrecha, ver una categoría en mo clean que la app nunca ofrece es el comportamiento esperado, no una función que falte.
Cómo elegir
Instala el CLI si vives en la terminal, quieres previsualizar con --dry-run, necesitas --json para un script, quieres los barridos de artefactos de proyecto e instaladores, o simplemente no quieres gastar dinero. En una máquina de desarrollo, a menudo es todo lo que hace falta, y es gratis precisamente para que pueda serlo.
Compra la app si quieres el mapa de disco y el dashboard en vivo, si el control de ventilador, la gestión de arranque o las actualizaciones de apps de terceros son la razón real por la que estás aquí, o si la estás instalando para alguien que nunca abrirá Terminal. Ese último caso fue la razón original de que exista la app, una historia contada en la historia de Mole.
Si aún no lo tienes claro, instala primero el CLI y ejecuta mo clean --dry-run. No cuesta nada, no borra nada, y leer su salida es la forma más rápida de saber si tu Mac tiene un problema que merezca una herramienta, una pregunta que conviene hacerse antes de instalar cualquier cleaner.