Saltar al contenido
theus.pe ↗

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.

Lo que no se pudo leer es un escaneo fallido, no un archivo limpio, y una sonda que no llegó a correr sale como inconcluso, no como «sin hallazgos». Un informe en verde que en realidad significa «no miré» es el peor resultado posible de una auditoría, así que Higiene no lo emite.

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.

ModoQué 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.
limpiarCorrige al vuelo, según el perfil de esa clase de archivo.
apagadoEl 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

OrdenQué hace
/higieneAudita el proyecto y muestra el resumen: cuántos archivos, qué clases de hallazgo y con qué confianza. No escribe nada.
/higiene limpiarPrepara 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 estadoEstado 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:

RielPlanes que la traen
DólaresMax Agent, Omnipresente y Omnipotente + Atlas
SolesMax 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.

Este corte lo aplica el CLI en tu máquina, no el servidor Higiene no pasa por el gateway ni gasta créditos, así que no hay nada que el gateway pueda cortar: la comprobación de plan existe para no anunciar en la vitrina lo que un plan no incluye y para enseñar el escalón que lo abre, igual que hace /modelo con los modelos fuera de plan. Se dice aquí porque describirlo como un candado del servidor sería describir algo que no existe.
Si acabas de cambiar de plan y Higiene todavía no se abre, vuelve a iniciar sesión: el plan que el CLI tiene guardado no se refresca solo.
    ↑↓ navegar · ↵ abrir · esc cerrarDocumentación de Theus