Ir al contenido

Revisor en directo

Los detectores de Latet y el revisor local enmascaran lo que reconocen. El Revisor en directo te añade a ti: cada texto nuevo que un agente está a punto de enviar espera en el panel hasta que lo apruebas. Ves el original junto a lo que saldrá, y puedes enmascarar más antes de que se vaya.

En el panel, activa Revisor en directo en la página Aprobaciones o En directo. O en config.yaml:

live_review:
enabled: true

Mantén el panel abierto mientras trabajas (latet dashboard). La entrada Aprobaciones del menú muestra cuántos textos esperan, y lo mismo hace el título de la pestaña del navegador. Con Avisarme, el navegador también te avisa cuando llega un texto mientras estás en otra pestaña.

La página Aprobaciones: dos textos en espera a la izquierda; a la derecha, el original de un prompt junto a lo que se enviará, con un nombre que sugirió el revisor local enmascarado a mano, y los botones Aprobar y No enviar La página Aprobaciones: dos textos en espera a la izquierda; a la derecha, el original de un prompt junto a lo que se enviará, con un nombre que sugirió el revisor local enmascarado a mano, y los botones Aprobar y No enviar
Aprobaciones: un nombre que sugirió el revisor local, enmascarado antes de que salga el prompt.

Cada texto que no ha escrito el modelo, la primera vez que se envía:

  • tus prompts y adjuntos;
  • las instrucciones que recibe el agente (su prompt de sistema, tu CLAUDE.md);
  • lo que obtienen las herramientas del agente: archivos, resultados de consultas, páginas web.

kinds elige entre ellos. Un texto que has aprobado no vuelve a esperar en la misma conversación, aunque el agente lo vuelva a enviar como historial.

El texto leído en una captura de pantalla o en una imagen espera con la imagen encima: un marco muestra dónde recibe cada valor su valor ficticio, y un valor que enmascaras en su texto también se cubre en la imagen.

Cada texto muestra el Original y lo que Se enviará, con lo que han enmascarado Latet y el revisor local. Lo que el revisor local ha encontrado y no ha enmascarado por su cuenta aparece marcado en el original, listo para enmascararlo con un clic. Cuando el revisor no ha podido leer un texto (su servidor está apagado, o su respuesta no es fiable), el texto no se detiene como pasaría sin ti: te espera con una advertencia, y decides tú.

Mientras un texto espera, lo que se enviará sigue tus reglas. Cuando marcas un valor como No sensible, enmascaras un valor en otro texto o cambias un ajuste, los textos que siguen esperando lo muestran enseguida, en cada panel abierto, y salen así cuando los apruebas.

  • Aprobar el texto tal como está.
  • Enmascarar la selección: selecciona un valor en el original y elige qué es (una persona, una dirección de correo electrónico, un nombre en clave…). Sale como un valor ficticio, que Latet elige cuando apruebas.
  • No enviar: no sale nada de él. Un prompt que detienes no se envía, y un archivo o la salida de una herramienta llega al modelo como un breve aviso en su lugar.
  • En una imagen: arrastra un rectángulo sobre cualquier parte, que se cubre con una barra, o marca No enviar esta imagen: el resto de la petición sale, y el modelo recibe una nota breve en lugar de la imagen. Tal como sale ahora muestra la imagen como la ha enmascarado Latet. Tu decisión se guarda, sellada, para esa imagen: si se vuelve a enviar, también después de un reinicio, sale de la misma forma.
  • Aprobar todas las pendientes, tal como las ha enmascarado Latet.
  • Con el teclado, una vez activados sus atajos: A aprueba, X no envía, M enmascara.

El daemon comprueba lo que cambias. Solo puedes enmascarar más: un valor ya enmascarado no puede volver a quedar en claro, y un valor ficticio que ya está en uso no se puede enmascarar de nuevo. Una selección se amplía a palabras completas, ya que Latet enmascara un valor dondequiera que aparezca como palabra completa. Un valor se enmascara como un solo tipo, y uno que marcaste como No sensible primero hay que quitarlo de Reglas. Si un valor que has enmascarado fuera a salir en claro de todos modos, el texto se retiene en su lugar. Un valor que enmascaras se guarda en la caja fuerte como los valores que encuentran los detectores. A partir de entonces se enmascara dondequiera que aparezca, en todas las conversaciones, y la comprobación final lo detiene si está a punto de salir en claro. Enmascarar siempre también lo convierte en uno de tus términos, para un proyecto o en todas partes, así que sigue enmascarado incluso después de que lo olvides en la caja fuerte.

Un texto espera el tiempo que haga falta. No sale nada de él hasta que respondas.

  • Detienes el agente (Esc en Claude Code): no se envía nada, y el texto sale de la cola en menos de un minuto.
  • No hay ningún panel abierto: Claude Code lo indica, y el texto sigue esperando hasta que abras uno.
  • Un límite de tiempo, si lo quieres: pasados timeout_s segundos, el texto no se envía.
live_review:
enabled: true
auto_approve_clean: true # a text in which nothing was found leaves without asking you
timeout_s: 300 # not set: until you answer
  • En Claude Code, en la fase de enmascaramiento del plugin, antes de que Claude Code construya la petición. Revisas por partes: cada prompt, archivo y salida de una herramienta a medida que llega. Después, Claude Code construye la petición con el texto que has aprobado, así que ninguna petición se modifica una vez construida. Mientras un texto espera tu aprobación en el panel, la línea de estado de Claude Code dice waiting for your approval in the dashboard.
  • Para los agentes que pasan por la puerta de enlace (Codex, OpenCode, Hermes Agent…), en el daemon: los textos nuevos de una petición esperan juntos, y la petición sale cuando los apruebas. Algunos agentes abandonan una petición que tarda demasiado, y puede que la reintenten; no se envía nada hasta que la apruebes.

En tus propios ajustes para un proyecto, live_review: true o false lo activa o lo desactiva allí. El latet.yaml de un proyecto no puede activarlo: revisar o no cada texto es decisión tuya, no del repositorio.

Comando Qué hace
latet status Indica si el Revisor en directo está activado, cuántos textos esperan y cuántos paneles hay abiertos
latet doctor Avisa cuando el Revisor en directo está activado y no hay ningún panel abierto