e2llm-sifr
E2LLM — percepción estructurada del navegador para IA. E2LLM convierte cualquier página web activa en SiFR: un modelo compacto, determinista y legible por LLM de lo que hay en la página, lo que significa y lo que se puede hacer con ella. La percepción es el producto. La acción está disponible cuando la necesitas — siempre explícita, siempre controlada. Funciona como un servidor MCP remoto alojado con la IA que ya usas. No hay un servidor local que ejecutar — una extensión del navegador vincula tu navegador activo al servidor, para que la percepción y la acción ocurran en el navegador real en el que ya has iniciado sesión.
Documentación
E2LLM — percepción estructurada del navegador para IA
E2LLM convierte una página web en vivo en SiFR: un modelo compacto, estructurado y legible por LLM de lo que hay en la página, qué significa y qué se puede hacer con ella. La percepción es el producto. La acción está disponible cuando la necesitas — siempre explícita, siempre controlada.
Funciona como un servidor MCP remoto alojado con la IA que ya usas. No hay servidor local que ejecutar — una extensión de navegador vincula tu navegador en vivo al servidor, de modo que la percepción y la acción ocurren en el navegador real en el que ya has iniciado sesión.
E2LLM no es un agente
Esto importa, por eso va primero.
Un agente decide y actúa por sí mismo — planifica, itera y da pasos hacia un objetivo sin que tú estés en el camino. Esa autonomía es también su superficie de ataque: un runtime de agente que puede hacer cualquier cosa puede ser dirigido a hacer cualquier cosa.
E2LLM es una capa de percepción, no un agente. Le da a tu modelo sentidos para el navegador
— visión estructurada a través de sifr_capture, y un conjunto de actuadores estrechos e individualmente
controlados. No planifica, no itera y no decide. Cualquier modelo que ya
uses hace el razonamiento; E2LLM solo informa qué es una página y ejecuta una instrucción
explícita a la vez. Sin autonomía oculta, sin pasos autodirigidos, nada que se ejecute mientras
miras hacia otro lado.
Esa línea — sustrato de percepción versus runtime autónomo — es todo el diseño.
Qué hace
| Herramienta | Qué hace | |
|---|---|---|
| 🔎 | sifr_capture | Capturar una página como documento SiFR |
| 🔎 | query | Filtrar la captura actual — por etiqueta, relevancia, texto o selector |
| 🔎 | inspect | Detalle completo de un elemento: selector, atributos, estilos, caja |
| 🔎 | read_page | Leer el texto de la página como markdown, en orden de lectura |
| 🔎 | list_tabs | Listar las pestañas abiertas del navegador |
| 🖐 | act | Una interacción explícita: clic, escribir, seleccionar, navegar, arrastrar, abrir (nueva pestaña) o pegar |
| 🖐 | batch_act | Ejecutar una secuencia planificada y luego observar una vez (p. ej., llenar un formulario + enviar) |
| 🖐 | explore | Desplazarse, pasar el cursor o recapturar — lee más, no cambia nada |
| 🖐 | close_tab | Cerrar una pestaña |
Nueve herramientas: cinco 🔎 que solo perciben, y cuatro 🖐 para interacción — de las cuales act,
batch_act y close_tab cambian el estado de la página, mientras que explore solo lee. El inventario
de herramientas está en server.json; los esquemas completos de parámetros provienen del servidor
en vivo al conectar. Las herramientas de percepción nunca cambian el estado de la página; las
herramientas que cambian el estado pueden retenerse individualmente para tu confirmación (ver
Seguridad).
Qué es SiFR — y por qué no es lo obvio
SiFR (Single-File RAG, pronunciado "see-far") es un artefacto de recuperación autocontenido para estado de interfaz en vivo: legible por modelo, direccionable por nodo, consultable progresivamente e independiente del sistema de razonamiento que esté por encima. E2LLM es su implementación de referencia para el navegador real.
- No es un volcado del DOM. Un volcado serializa el árbol tal cual — todo, en orden de documento, incluido el ruido. SiFR selecciona y clasifica: puntúa cada nodo por relevancia, descarta andamiaje y aplana los supervivientes en un modelo relacional donde la estructura se transporta mediante relaciones explícitas en lugar de profundidad de anidamiento.
- No es un árbol de accesibilidad. El árbol a11y se deriva para tecnología de asistencia, impulsado por ARIA, ciego a cualquier cosa sin etiqueta e indiferente a lo que más importa en la página. SiFR está construido para un modelo de lenguaje: clasifica por relevancia, prioriza lo que importa y transporta los selectores que un agente necesita para actuar — nada de lo cual hace el árbol a11y.
- No es una captura de pantalla. SiFR deriva percepción legible por máquina del DOM renderizado en vivo, estilos calculados, geometría y estado de runtime en lugar de píxeles. Una captura registra el estado observado de la página bajo las versiones y condiciones nombradas por su artefacto de evidencia.
El resultado es una capa de percepción, no una serialización: qué es una página, qué puedes hacer en
ella y cómo se relacionan sus partes — priorizado para que el modelo llegue primero a lo que necesita. Un
sifr_capture devuelve un resumen de ~5–15 KB (metadatos más los elementos de alta relevancia) antes
del documento completo, para que la lectura pueda comenzar de inmediato.
- 📄 SIFR.md — la especificación del formato
- 🔤 TAXONOMY.md — niveles de relevancia, prefijos de ID, tipos de relación y categoría
- 📚 examples/ — capturas reales de páginas públicas
- 🗓 CHANGELOG.md — el linaje de formato v1 → v2 → v3 (actual: v3)
Para recetas de prompts y flujos de automatización construidos sobre SiFR, ver awesome-e2llm-prompts — un libro de recetas comunitario que apunta de vuelta aquí como el hogar canónico de la especificación SiFR.
Instalación en 3 pasos
1. Configura en e2llm.com. Crea una cuenta e instala la extensión del navegador. La extensión vincula tu navegador en vivo al servidor — ese vínculo es lo que permite que tu IA perciba y actúe en la sesión en la que ya has iniciado sesión. (Esta es la única pieza que se ejecuta en tu máquina; no hay servidor local.)
2. Añade E2LLM a tu cliente MCP. Una línea — elige tu cliente en
clients/, o pega esto para inicio de sesión OAuth interactivo:
{
"mcpServers": {
"e2llm": {
"url": "https://mcp.e2llm.com/mcp",
"type": "http"
}
}
}
Para CLI / CI donde el inicio de sesión interactivo no está disponible, usa una clave estática contra
https://api.e2llm.com/mcp con un encabezado Authorization: Bearer mk_…. Instrucciones completas
por cliente: clients/README.md.
3. Pide a tu IA que haga algo en una página. Por ejemplo:
"Abre la página en la que estoy, encuentra el cuadro de búsqueda y filtra por problemas abiertos."
Tu asistente llama a sifr_capture para ver la página, luego act para interactuar — en tu navegador
real, un paso explícito a la vez.
Enseña a tu modelo la disciplina — las habilidades
Las descripciones de herramientas le dicen a un modelo qué hace cada herramienta *; deliberadamente no le dicen cómo trabajar bien. Esa disciplina de trabajo se distribuye como dos Habilidades de Agente:
| Habilidad | Para | Cubre |
|---|---|---|
e2llm | Conducir un navegador en vivo | Verificación de vínculo, captura antes de describir, una acción y luego reobservar, informar desde el diff devuelto, contenido de página no confiable, drenaje de cursor |
sifr | Leer archivos de captura guardados | Secciones, IDs compactos, niveles de relevancia, ajustes preestablecidos, patrones estructurales, recetas jq |
Instala ambas en una línea, en el agente que uses:
npx skills add e2llm/e2llm-sifr
Eso funciona para 77+ agentes — Claude Code, Codex y cualquier otra cosa
que siga el diseño de Habilidades de Agente. Añade -a codex para apuntar a Codex explícitamente, o
--skill e2llm para instalar solo una.
Otras formas de entrar:
- Codex CLI —
npx skills add e2llm/e2llm-sifr -a codex, o el flujo$skill-installer. - Manual — copia un directorio de habilidad en
~/.claude/skills/(todos los proyectos) o en el.claude/skills/de un proyecto. Se carga automáticamente siempre que aparezcan las herramientas e2llm o los documentos SiFR. - Otros clientes — incluye el contenido de la habilidad en las instrucciones de tu agente (p. ej.,
AGENTS.md).
Modelo de seguridad y aprobación
La percepción es de solo lectura por construcción: las cinco herramientas 🔎 no pueden cambiar el estado de la página, por lo que ver una página siempre es seguro.
Solo las cuatro herramientas 🖐 pueden actuar, y son deliberadamente estrechas — no existe una herramienta "haz cualquier cosa". Cada paso que cambia el estado puede estar sujeto a aprobación según la postura de tu sesión: dependiendo de cómo esté configurada tu sesión, una acción se pausa y espera tu confirmación antes de ejecutarse. Las acciones ocurren una instrucción explícita a la vez, nunca como un bucle autónomo.
Las divulgaciones de seguridad y nuestro programa de divulgación de vulnerabilidades (con puerto seguro) están en e2llm.com/security/disclosure; ver también SECURITY.md.
Manejo de datos
El contenido de la página se captura bajo demanda y transita por el relevo de E2LLM para llegar a tu cliente MCP. Los datos relacionados con la sesión se retienen por una ventana limitada (ver la Política de Privacidad) y los campos tipo contraseña se redactan antes del almacenamiento. El relevo envuelve todo el contenido derivado de la página como datos externos no confiables, por lo que los modelos posteriores tratan el texto de la página como datos, no como instrucciones. Detalle completo: Política de Privacidad · Términos.
Compatibilidad
E2LLM habla MCP estándar, por lo que funciona con cualquier cliente compatible. Verificado en la práctica con Claude, ChatGPT, Codex, Perplexity, Grok y Manus. Otros clientes MCP — incluidos Cursor, VS Code y Cline — deberían funcionar; si pruebas uno, un aviso o PR es bienvenido.
Contenido del repositorio
Este repositorio es el hogar canónico y descriptivo del formato SiFR y la interfaz del servidor MCP de E2LLM. Documenta el formato y cómo conectar; el motor de captura, las extensiones del navegador y el servidor son un producto alojado separado que se ejecuta en e2llm.com.
| Ruta | Qué |
|---|---|
SIFR.md | Especificación del formato SiFR |
TAXONOMY.md | Vocabulario controlado de SiFR |
server.json | Manifiesto del servidor MCP (transporte, autenticación, inventario de herramientas) |
.mcp.json | Configuración de cliente MCP lista para usar (endpoint OAuth) |
skills/ | La habilidad SIFR — disciplina de trabajo para modelos que conducen las herramientas |
clients/ | Configuraciones de conexión por cliente |
examples/ | Capturas reales de páginas públicas |
SECURITY.md | Política de seguridad y programa de divulgación |
CHANGELOG.md | Historial de versiones del formato |
Licencia
MIT. La especificación del formato, el manifiesto, los ejemplos y las configuraciones de cliente en este repositorio son abiertos. El motor de captura y el servidor son un producto alojado separado.