Higiene — marcas invisibles y metadatos
Higiene encuentra y quita los portadores: caracteres invisibles, controles de formato y metadatos de procedencia que viajan dentro de un archivo sin verse. Es lo que el texto generado por una IA arrastra sin que nadie lo pida, y lo que una imagen o un PDF llevan escrito en sus propios bytes. Viene con los planes altos, corre entera en tu máquina y no consume créditos.
Qué encuentra
- Caracteres de etiqueta (U+E0001–U+E007F) — fuera de una secuencia de bandera completa transportan texto invisible dentro de un archivo que a la vista parece inocente. Es el vehículo clásico de la inyección de instrucciones.
- Anulaciones de dirección (bidi) — el ataque conocido como Trojan Source: el código se reordena a la vista sin cambiar lo que el compilador lee. Las marcas direccionales legítimas y los pares con cierre no se tocan.
- Anchos cero y uniones (U+200B, U+200C, U+200D) y otros espacios y controles que no se ven pero sí se copian.
- Metadatos de procedencia — dentro de los bytes de imágenes (chunks PNG, segmentos APP de JPEG, IFD de TIFF), contenedores ISOBMFF y RIFF, etiquetas ID3, el ZIP que hay debajo de un DOCX o un EPUB, y la estructura de un PDF.
Qué NO hace
Higiene no «normaliza espacios» a ciegas, y esa restricción es deliberada. Al medir el propio código de Theus antes de escribirla, de 2.522 archivos solo 9 tenían caracteres invisibles y casi todos eran intencionales: espacios duros que la interfaz de terminal necesita para que no se colapse una columna, y muestras de anchos cero dentro del archivo de pruebas del escudo anti-inyección —justo el archivo cuyo trabajo es contenerlos—. Un limpiador indiscriminado rompe la interfaz y vacía de sentido esas pruebas.
Por eso la limpieza no es una función sino una política por clase de archivo: en código se elimina solo el contrabando inequívoco y lo ambiguo se informa para que lo decida una persona; en prosa el criterio es más amplio. Higiene clasifica cada archivo (código, prosa, imagen, contenedor, audiovisual, desconocido) antes de abrirlo y aplica el perfil que le toca.
Los dos modos de trabajo
1 · El enganche: los archivos nacen limpios
Higiene se engancha antes de cada escritura del agente y revisa el contenido que está a punto de ir al disco. No hay archivo temporal, ni segunda escritura, ni .bak huérfano, ni una fecha de modificación que despierte a tu editor: el archivo se escribe ya limpio la primera vez.
| Modo | Qué hace |
|---|---|
revisar (por defecto) | Avisa de lo que encontró y deja el contenido intacto. Es el default a propósito: una herramienta nueva que modifica lo que escribes se gana la confianza enseñando primero. |
limpiar | Corrige al vuelo, según el perfil de esa clase de archivo. |
apagado | El enganche no corre. |
Se cambia con /higiene modo revisar|limpiar|apagado, y queda guardado. Las variables THEUS_HIGIENE_MODO y THEUS_NO_HIGIENE=1 lo fijan por entorno para sesiones automatizadas.
2 · El comando: revisar el proyecto entero
| Orden | Qué hace |
|---|---|
/higiene | Audita el proyecto y muestra el resumen: cuántos archivos, qué clases de hallazgo y con qué confianza. No escribe nada. |
/higiene limpiar | Prepara la limpieza, te enseña cuántos archivos va a tocar y espera a que lo confirmes. Ninguna otra vista escribe en disco. |
/higiene fichero <ruta> | Inspecciona un solo archivo y detalla cada hallazgo. |
/higiene modo [revisar|limpiar|apagado] | Consulta o cambia el modo del enganche. |
/higiene estado | Estado del subsistema: modo activo, plan y disponibilidad del motor auxiliar. |
El alias es /limpieza. El agente también puede usar Higiene por su cuenta a través de la herramienta Higiene, con los mismos permisos que cualquier otra herramienta que escribe.
/higiene no existe en theus -p (el modo no interactivo). La limpieza modifica archivos y tiene que preguntar antes; en un modo sin nadie delante, la única respuesta honesta a «¿limpio 240 archivos?» es no formular la pregunta. Al limpiar desde la sesión interactiva se guarda un .bak del contenido previo, y un .bak que ya existiera nunca se sobrescribe.El motor auxiliar
El análisis de texto es nativo del CLI: síncrono, sin dependencias y sin arrancar ningún proceso, porque corre una vez por cada escritura del agente. El análisis de binarios —imágenes, PDF, DOCX, EPUB, audio— usa un motor auxiliar que viaja dentro de Theus y necesita un python3 en el sistema.
Si ese intérprete no está, o el motor falla, no pasa nada visible: Higiene es una comodidad, no un requisito. El CLI sigue funcionando igual con la capa nativa y el análisis binario se reporta como no concluido, nunca como limpio.
Con qué planes viene
Higiene se abre desde el escalón Max Agent hacia arriba, que es el mismo en el que se abre el multi-agente, así que no hay un corte nuevo que aprender. Y desde que los planes en soles se llaman como los de dólares (29 de agosto de 2026), es también el mismo nombre en las dos monedas:
| Riel | Planes que la traen |
|---|---|
| Dólares | Max Agent, Omnipresente y Omnipotente + Atlas |
| Soles | Max Agent, Omnipresente y Omnipotente (antes Power, Creativo y Empresa) |
Ver Planes y suscripción. Por debajo de ese escalón, /higiene estado y la ayuda siguen respondiendo —son las pantallas que explican qué es esto— y el resto invita a mejorar de plan con /upgrade.
/modelo con los modelos fuera de plan. Se dice aquí porque describirlo como un candado del servidor sería describir algo que no existe.