FSB

Extensión de Chrome y servidor MCP de código abierto que permite a Claude Code, Codex, Cursor o VS Code controlar tu Chrome con sesión iniciada leyendo el DOM en vivo, no capturas de pantalla. No se necesita clave API.

Documentación

FSB v0.9.92 Navegación Autónoma Completa

FSB Full Self Browsing

FSB Version Manifest V3 License

Stars Forks Issues Last Commit

Automatización de navegador impulsada por IA mediante lenguaje natural. Dile qué hacer y observa cómo navega por ti.

Inteligencia puramente estructural. Cero visión. Cero suposiciones.

Novedades · Inicio rápido · Servidor MCP · Arquitectura · Proveedores · Desarrollo


Resumen

FSB (Navegación Autónoma Completa) es una extensión de Chrome de código abierto para la automatización de navegador impulsada por IA. Describe una tarea en inglés sencillo; FSB lee el DOM en vivo, elabora un plan, ejecuta acciones en el navegador, verifica los resultados e informa del progreso a través de la ventana emergente, el panel lateral o MCP.

FSB v0.9.92 es funcional y está listo para producción en automatización supervisada. La automatización del navegador aún puede comportarse de forma impredecible en sitios complejos o sensibles, así que supervisa las acciones y prueba primero en páginas no críticas.

Por qué el DOM primero

Project Mariner, Claude Computer Use y OpenAI Operator dependen en gran medida de la comprensión visual de la página. FSB utiliza la estructura de la página directamente.

MétricaAgentes basados en visiónFSB
Comprensión de la páginaCapturas de pantallaDOM, selectores, ARIA, formularios
Elementos ocultosA menudo invisiblesDisponibles en la estructura
Latencia típica por paso1 a 3 segundos50 a 200 ms
Perfil de tokens/costosGran peso de imágenesGran peso de texto/estructura

Inicio rápido en resumen

FSB brilla cuando tu cliente de IA lo impulsa directamente. Instala el servidor MCP para el cliente que prefieras: un solo comando, sin edición manual de configuración y sin necesidad de clave API de FSB (el modelo de tu cliente MCP se encarga del razonamiento):

ClienteInstalación en un comando
Claude Codenpx -y fsb-mcp-server@latest install --claude-code
Claude Desktopnpx -y fsb-mcp-server@latest install --claude-desktop
Cursornpx -y fsb-mcp-server@latest install --cursor
VS Codenpx -y fsb-mcp-server@latest install --vscode
Windsurfnpx -y fsb-mcp-server@latest install --windsurf
Codexnpx -y fsb-mcp-server@latest install --codex
Todos a la veznpx -y fsb-mcp-server@latest install --all

Vista previa antes de escribir: añade --dry-run. Verificación rápida con npx -y fsb-mcp-server@latest doctor. Reinicia el cliente para que aparezca el nuevo servidor MCP.

Luego instala el lado del navegador (el puente MCP se comunica con la extensión):

  1. Obtén FSB en Chrome Web Store.
  2. Desde tu cliente MCP, prueba: Search for cats on Google o Read this page and summarize it.

¿Quieres ejecutar FSB de forma independiente desde la ventana emergente o el panel lateral de la extensión? Abre la configuración, pega una clave API (xAI, Gemini, OpenAI, Anthropic, OpenRouter, LM Studio o personalizada) y empieza ahí; no necesitas MCP.

¿Usas OpenClaw? Instala FSB directamente desde ClawHub. Es la ruta de incorporación más rápida. Si necesitas el respaldo manual, la habilidad FSB en skills/fsb/ sigue mostrando el bloque de configuración canónico de OpenClaw stdio y ejecuta el flujo de diagnóstico. El indicador de instalación --openclaw sigue siendo manual porque el esquema de configuración MCP de OpenClaw es inestable entre versiones.

¿Usas Hermes? Usa la misma habilidad en skills/fsb/. Ejecuta node skills/fsb/scripts/print-hermes-yaml.mjs para mostrar el bloque canónico de ~/.hermes/config.yaml mcp_servers.fsb, o ejecuta node skills/fsb/scripts/install-host.mjs para detectar una configuración local de Hermes y condicionar la instalación al consentimiento.

¿Usas Grok Bot? El envoltorio del marketplace está en plugins/grok-bot/, con un servidor MCP npm fijado y una habilidad FSB. Usa Chrome en el propio ordenador de Bot; consulta su configuración y sus avisos de privacidad. La publicación en el marketplace está pendiente de revisión del editor.

Qué hace

  • Ejecuta tareas de navegación en lenguaje natural desde la ventana emergente o el panel lateral.
  • Compatible con xAI, Gemini, OpenAI, Anthropic, OpenRouter, LM Studio y endpoints personalizados compatibles con OpenAI.
  • Descubre listas de modelos de proveedores en vivo y recurre a valores predeterminados incluidos.
  • Usa 57 definiciones compartidas (53 herramientas de navegador más 4 herramientas de activación) y 69 herramientas MCP registradas para clientes externos.
  • Proporciona instantáneas del DOM, verificación de acciones, espera inteligente, detección de bloqueos, retroalimentación visual y registros de sesión.
  • Busca en un catálogo de capacidades de 128 aplicaciones e invoca capacidades de API de primera parte verificadas, firmadas, auditadas y restringidas por lista de bloqueo a través de la superficie de capacidades MCP.
  • Sube archivos locales reales a entradas de archivo mediante la herramienta supervisada upload_file con salvaguardas de rutas sensibles.
  • Mantiene memoria a largo plazo de sitios, flujos de trabajo, selectores y resultados de tareas anteriores.
  • Incluye flujos seguros de credenciales y bóveda de pagos para el autocompletado supervisado.
  • Expone un servidor MCP local para que Claude Code, Codex, Cursor, VS Code, Windsurf y otros clientes MCP puedan impulsar el navegador.

Los agentes en segundo plano están retirados. Los datos existentes de chrome.storage.local['bgAgents'] se conservan para usuarios que tenían agentes antiguos, pero la automatización programada o recurrente ya no es una función activa de FSB.

Casos de uso habituales

  • Pruebas de control de calidad y regresión: repite flujos de página, haz clic en estados, rellena formularios y recopila registros de acciones.
  • Investigación: navega por páginas, extrae información visible y resume resultados sin depender de capturas de pantalla.
  • Entrada de datos: recorre formularios estructurados con validación, menús desplegables, controles personalizados y entradas de tablas.
  • Comercio electrónico: compara páginas de productos, inspecciona precios, supervisa la disponibilidad manualmente y prepara carritos bajo supervisión.
  • Finanzas y paneles: lee gráficos, tablas y el estado actual de la página mientras un humano mantiene el control.
  • Vigilantes de activación: observa un elemento de la página para detectar cambios, cruces de umbral o disponibilidad mientras Chrome y la extensión permanecen abiertos.
  • Flujos de trabajo de desarrollo: impulsa GitHub, rastreadores de incidencias, sitios de documentación, plataformas de programación y herramientas basadas en navegador.
  • Inspección de accesibilidad y DOM: expone estructura, etiquetas, selectores, formularios y controles ocultos para depuración.

FSB es más fiable cuando la tarea puede expresarse como estructura de página y acciones de usuario. No es intencionadamente un navegador sigiloso, una granja de raspado ni un operador de cuentas sin supervisión.

Detalle de funciones

ÁreaComportamiento actual
Análisis del DOMCaptura datos de página visibles y estructurales, referencias de elementos, selectores, formularios, etiquetas ARIA y deltas del DOM.
Ejecución de accionesAdmite clics, escritura, teclas, desplazamiento, navegación, pestañas, rangos de hojas de cálculo, herramientas de coordenadas, JavaScript directo y subida de archivos reales.
Catálogo de capacidadesBusca en el catálogo de 128 aplicaciones e invoca capacidades de API de primera parte T1/T1b verificadas, firmadas, auditadas y restringidas por lista de bloqueo mediante search_capabilities y invoke_capability. Los aciertos de catálogo pendientes siguen en estado de aprendizaje pendiente, descubrimiento pendiente o cierre seguro ante fallos hasta que se demuestren. Los orígenes sensibles se marcan, mientras que los orígenes en la lista de bloqueo permanecen bloqueados.
VerificaciónComprueba el estado posterior a la acción, el comportamiento de carga, la estabilidad del DOM y la repetición de acciones bloqueadas.
Superficies de interfazChat emergente, panel lateral persistente, panel de opciones/control, registros, análisis, memoria, bóveda y controles de sincronización.
Compatibilidad de modelosProveedores alojados, enrutamiento OpenRouter, modelos locales LM Studio, endpoints personalizados y descubrimiento de modelos en vivo.
Renderizado de salidaMarkdown, HTML saneado, diagramas Mermaid, gráficos Chart.js y mensajes de progreso de tareas.
ObservabilidadHistorial de sesiones, registros de acciones, contabilidad de tokens/costos, buffer de diagnóstico circular y sondeos de estado MCP.
SeguridadClaves cifradas, flujos de desbloqueo de bóveda, ayudas de redacción, DOMPurify, puertas de firma/auditoría de capacidades, lista de bloqueo de orígenes, lista de bloqueo de rutas de subida y mensajes de recuperación de pestañas restringidas.
Vigilantes de activaciónLos llamadores MCP pueden armar vigilancia de un elemento con informes bloqueantes o separados, además de compañeros de estado/lista/detención.
Vista previa en vivo del DOMCaptura respaldada por PhantomStream, renderizador, protocolo, duplicación de medios y compatibilidad de retransmisión con emparejamiento propiedad de FSB, estado de tareas, superposiciones y control remoto.

El objetivo de diseño principal es mantener el navegador como fuente de verdad. El modelo recibe contexto estructurado de la página, toma una decisión de herramienta y la extensión verifica qué cambió antes de pasar al siguiente paso.


Novedades

Catálogo de capacidades nativo: ejecución de API de primera parte. Más allá de la automatización del DOM, FSB puede buscar un catálogo de capacidades que cubre 128 aplicaciones e invocar capacidades de API verificadas con search_capabilities y invoke_capability. Las capacidades verificadas se ejecutan a través de un enrutador que comprueba el origen, verifica la firma de la receta, consulta la lista de bloqueo, serializa la acción y registra un registro de auditoría que nunca incluye secretos. Las capacidades aún no verificadas se etiquetan claramente en lugar de presentarse como listas para usar. Cada origen está permitido por defecto a menos que esté en la lista de bloqueo, y los orígenes en la lista de bloqueo permanecen bloqueados. Los orígenes sensibles se marcan en la interfaz y en el rastro de auditoría, y la lectura de datos mediante captura de red en un origen sensible aún solicita confirmación adicional. El modelo de integración de API está inspirado en OpenTabs (consulta Agradecimientos). La ejecución de capacidades es totalmente compatible y se ha probado, incluida la prueba en vivo del navegador. El conjunto de pruebas automatizadas está en verde.

upload_file: subida real de archivos a entradas. Los clientes MCP y el piloto automático de FSB ahora pueden llamar a upload_file(selector, file_path, tab_id?) para establecer una ruta absoluta de disco local en un <input type="file"> real mediante CDP DOM.setFileInputFiles, incluidas entradas ocultas detrás de zonas de arrastre con estilo. Las subidas pasan por un único punto de control de fondo compartido con una lista de bloqueo de rutas sensibles y un registro de auditoría que no persiste rutas de disco. drop_file permanece para casos sintéticos de arrastrar y soltar y zonas exclusivas de arrastre.

Duplicación de medios PhantomStream 0.2.1. La vista previa en vivo del DOM del panel ahora consume el canal lateral de medios publicado de PhantomStream en modo de referencia, de modo que los nodos progresivos de <video> y <audio> pueden duplicarse junto con las instantáneas del DOM. El descubrimiento adaptativo de HLS/DASH sigue diferido porque requeriría un nuevo permiso de webRequest; los esquemas de herramientas MCP, el emparejamiento, la autenticación y el comportamiento de propiedad del panel no cambian.

Hito de ingeniería 0.11.0 — Herramienta de activación (monitoreo reactivo del DOM). Los llamadores MCP pueden armar una vigilancia sobre un elemento de página con trigger y gestionarla con stop_trigger, get_trigger_status y list_triggers. Las vigilancias admiten modos live-observe y refresh-poll, condiciones de umbral/delta/regex/compuestas, informes bloqueantes o separados y un límite de concurrencia configurable. Consulta Vigilantes de activación para conocer el contrato completo.

Páginas de exhibición y ecosistema. full-selfbrowsing.com añadió páginas para Lattice (SDK de runtime de capacidades), PhantomStream (duplicación de navegador nativa del DOM), Prometheus (la compilación de navegador autónomo detrás de FSB) y un centro comunitario de Mapas de sitios, además de una página de estadísticas en vivo con un globo anónimo de regiones activas, una página de postura legal y un visor interactivo de grafos de conocimiento en Acerca de.

El historial completo está en CHANGELOG.md; el paquete MCP mantiene su propio registro en mcp/CHANGELOG.md.


Estructura del repositorio

RutaPropósito
extension/Paquete de extensión de Chrome. Carga este directorio como una extensión MV3 sin empaquetar.
mcp/Paquete npm fsb-mcp-server, el puente MCP local para clientes de IA externos.
skills/fsb/Habilidad de OpenClaw + Hermes: doctor + impresoras stdio/YAML + instalación con consentimiento para múltiples hosts.
showcase/Sitio de marketing y panel para full-selfbrowsing.com. Prerenderizado estático Angular 20 + relevo Express.
showcase/server/Backend de implementación Node/Express para emparejamiento, relevo compatible con PhantomStream, autenticación y datos del panel.
server-py/Prototipo de backend heredado estilo Python/FastAPI conservado como referencia.
tests/Pruebas Node para módulos de extensión, contratos MCP, comportamiento del puente y cobertura de regresión.
scripts/Scripts de mantenimiento y validación del repositorio.

Archivos de implementación y validación de nivel superior:

  • package.json - comandos raíz para validación, pruebas, empaquetado y ayudantes de demostración.
  • Dockerfile, fly.toml - implementación de producción para el servidor de demostración en fly.io.
  • .github/workflows/ci.yml - valida la extensión, pruebas de humo MCP y la compilación de la demostración.
  • .github/workflows/deploy.yml - implementa el sitio de producción en pushes de main.

Capturas de pantalla

FSB side panel on YouTube, user entering a task
Entrada de tarea
FSB automating YouTube search, typing Sunflower
Ejecución de tarea
Más capturas de pantalla

Panel y analíticas

Options dashboard showing token usage charts and cost breakdown by model

Configuración de API

API configuration panel with provider selection and key entry

Administrador de contraseñas

Passwords manager for storing site credentials used during automation

Memoria y explorador de sitios

Memory viewer and site explorer showing crawled site structure

Grafo de conocimiento de inteligencia

3D knowledge graph visualizing site guide categories and supported domains

Inicio rápido

Requisitos previos

Instalar la extensión

git clone https://github.com/fullselfbrowsing/FSB.git
cd FSB
  1. Abre chrome://extensions/.
  2. Habilita Modo de desarrollador.
  3. Haz clic en Cargar descomprimida.
  4. Selecciona el directorio extension/.
  5. Haz clic en el ícono de la barra de herramientas de FSB, abre la configuración, configura un proveedor y prueba la conexión de API.

Comienza con tareas simples como:

  • Scroll down
  • Search for cats on Google
  • Click the first search result
  • Read this page and summarize it

Recarga la extensión desde chrome://extensions/ después de cambios locales en el código. Recarga las pestañas abiertas después de recargar la extensión para que los scripts de contenido se reinyecten.

Para una compilación sin empaquetar, registra el ID en chrome://extensions/. Una ruta de instalación o perfil diferente puede producir un ID diferente; si doctor informa ORIGIN_PIN_MISMATCH, ejecuta npx -y fsb-mcp-server@latest pair --reset y empareja la nueva instalación. Un perfil de navegador se adjunta al puente local a la vez. doctor y status muestran el ID de extensión adjunto, la versión, la instancia de instalación, el tiempo de conexión y el recuento de ventanas normales. El servidor MCP y la extensión tienen versiones independientes. Chrome 137 con marca eliminó la bandera --load-extension; usa Cargar descomprimida en Chrome, o usa Chrome for Testing o Chromium cuando se requiera una bandera de línea de comandos.

Lista de verificación del primer uso

  1. Abre el panel de control de FSB desde la extensión.
  2. Selecciona un proveedor y un modelo.
  3. Ingresa la clave de API correspondiente o el endpoint local.
  4. Usa Probar API para confirmar que el modelo puede responder.
  5. Abre una página web normal, no una página interna del navegador.
  6. Prueba primero una tarea de solo lectura, luego una tarea simple de clic o escritura.
  7. Mantén la superposición visual habilitada mientras evalúas el comportamiento.

Si un sitio usa renderizado pesado del lado del cliente, controles de lienzo personalizados o shadow DOM inusual, comienza pidiendo a FSB que lea la página e identifique los controles disponibles. Eso le da al modelo un mejor primer vistazo y hace que los fallos sean más fáciles de depurar.

Solución rápida de problemas

ProblemaVerificación
La extensión no apareceConfirma que Chrome cargó extension/, no la raíz del repositorio.
La prueba de API fallaConfirma que el proveedor, la clave, el endpoint y el modelo seleccionados pertenecen juntos.
Las lecturas de página fallanAléjate de páginas internas del navegador como chrome:// o páginas de extensión.
Los clics no dan en el objetivoActualiza la instantánea del DOM, desplázate al objetivo o usa herramientas de coordenadas.
El texto escrito no se mantienePrefiere type_text sobre la asignación de valores JavaScript en entradas controladas.
Faltan herramientas MCPReinicia el cliente host y ejecuta npx -y fsb-mcp-server@latest doctor.
Las herramientas MCP agotan el tiempoVerifica status --watch, la preparación de la pestaña activa y si hay otra tarea en cola.

La mayoría de los fallos se pueden recuperar inspeccionando la página actual, actualizando selectores o reiniciando el puente MCP local. Reinstalar la configuración de MCP debe ser el último paso, no el primero.

Configuración de desarrollo local

No necesitas un paso de compilación para cargar la extensión en Chrome. Solo necesitas dependencias npm al ejecutar pruebas, compilar MCP o compilar el sitio de demostración.

npm install
npm --prefix mcp install
npm --prefix showcase/angular install

La extensión lee scripts empaquetados directamente desde extension/. El paquete MCP es TypeScript y debe compilarse antes de las pruebas de humo o la publicación npm. La demostración es una aplicación Angular normal con salida de prerenderizado estático servida por el backend Express de producción.


Servidor MCP

FSB incluye fsb-mcp-server, un servidor MCP local que permite a clientes de IA externos controlar la misma extensión del navegador. Expone 69 herramientas registradas en sesiones visuales, observadores de disparadores, control manual del navegador, captura Developer/UAT, búsqueda/invocación de capacidades, inspección de páginas de solo lectura, autopiloto, bóveda y observabilidad.

La extensión se conecta al puente MCP en:

ws://localhost:7225

El modo opcional Streamable HTTP expone:

http://127.0.0.1:7226/mcp

El endpoint HTTP se vincula solo a loopback y rechaza solicitudes con un encabezado Origin o un Host extranjero. Usa el endpoint local impreso desde un cliente MCP. Si una pestaña deja de responder, las lecturas de página devuelven PAGE_UNRESPONSIVE; navigate y close_tab permanecen disponibles. Inspecciona el estado de la página antes de repetir cualquier acción informada como outcome: "unknown" y mayHaveExecuted: true.

Instalación con un comando

npx -y fsb-mcp-server@latest install --claude-desktop
npx -y fsb-mcp-server@latest install --claude-code
npx -y fsb-mcp-server@latest install --cursor
npx -y fsb-mcp-server@latest install --vscode
npx -y fsb-mcp-server@latest install --windsurf
npx -y fsb-mcp-server@latest install --codex
npx -y fsb-mcp-server@latest install --all

Vista previa sin escribir:

npx -y fsb-mcp-server@latest install --all --dry-run
npx -y fsb-mcp-server@latest install --list

Ejemplos manuales

Claude Code:

claude mcp add --scope user fsb -- npx -y fsb-mcp-server@latest

Codex (~/.codex/config.toml):

[mcp_servers.fsb]
command = "npx"
args = ["-y", "fsb-mcp-server@latest"]

VS Code (mcp.json):

{
  "servers": {
    "fsb": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "fsb-mcp-server@latest"]
    }
  }
}

Diagnósticos:

npx -y fsb-mcp-server@latest doctor
npx -y fsb-mcp-server@latest status --watch
npx -y fsb-mcp-server@latest wait-for-extension

Consulta mcp/README.md para la referencia completa de herramientas y notas de configuración específicas del cliente.

OpenCode y OpenClaw son compatibles a través de rutas de configuración manuales o no compatibles; después de editar la configuración del host, actualiza o recarga el cliente si las herramientas de FSB no aparecen.

Guía de uso de MCP

Las herramientas manuales son la ruta predeterminada para la mayoría de los clientes externos. Permiten al llamador inspeccionar la página, elegir un selector, actuar y verificar. run_task es útil cuando el usuario quiere explícitamente que FSB ejecute su propio bucle de automatización, pero el control manual es más fácil de auditar y recuperar.

Usa Observadores de disparadores cuando un llamador quiera observar un selector para un cambio de valor futuro en lugar de sondear manualmente. Son locales a la sesión del navegador abierta: Chrome y la extensión FSB deben permanecer ejecutándose, los resultados se informan al llamador MCP, y FSB no proporciona monitoreo del lado del servidor ni entrega push.

Patrón manual recomendado:

  1. Agrega visual_reason y client en llamadas de acción cuando quieras la superposición confiable.
  2. read_page o get_dom_snapshot para entender la página actual.
  3. Usa execute_js para lecturas DOM seguras y clics simples activados por DOM.
  4. Usa herramientas nativas como click, type_text, press_key y drag cuando los eventos reales del navegador importen.
  5. Verifica con read_page, get_page_snapshot o get_dom_snapshot.
  6. Establece is_final:true en la última acción para limpiar la superposición inmediatamente.

Usa doctor y status --watch antes de cambiar configuraciones del cliente. La mayoría de los fallos de MCP son problemas de conexión, activación de extensión, pestaña activa o preparación del script de contenido, no problemas de instalación.


Arquitectura

graph TB
    UI["Popup / Side Panel / Options"] --> BG["MV3 Background Worker"]
    BG --> AI["Universal Provider"]
    BG --> CS["Content Scripts"]
    BG --> MEM["Memory + Analytics"]
    BG --> MCP["MCP Bridge"]
    AI --> APIs["xAI / Gemini / OpenAI / Anthropic / OpenRouter / Local"]
    CS --> PAGE["Web Page DOM"]
    MCP --> CLIENTS["Claude Code / Codex / Cursor / VS Code / Others"]

Piezas principales del tiempo de ejecución

  • Trabajador en segundo plano (extension/background.js): posee sesiones, llamadas de modelo, ejecución de herramientas, enrutamiento MCP y orquestación de almacenamiento.
  • Scripts de contenido (extension/content/): analizan el DOM, crean referencias de elementos, ejecutan acciones, transmiten el estado del DOM a través del adaptador de captura PhantomStream, esperan un estado estable y renderizan retroalimentación visual.
  • Capa de IA (extension/ai/): motor de solicitudes universal compatible con OpenAI, configuración de proveedores, descubrimiento de modelos, definiciones de herramientas, transcripciones e historial de acciones.
  • Memoria (extension/lib/memory/): almacena registros episódicos, semánticos y procedimentales, luego recupera contexto previo relevante para tareas posteriores.
  • Visualización (extension/lib/visualization/): vistas de grafo de sitio D3 para exploración de guías y memoria.
  • Bóveda (extension/config/secure-config.js más flujos de UI): cifra claves de API y datos de usuario guardados en el almacenamiento de Chrome.
  • Paquete MCP (mcp/): servidor TypeScript que traduce llamadas MCP en mensajes del puente de extensión.

Flujo de automatización

  1. El usuario o cliente MCP envía una tarea.
  2. FSB captura la estructura de la página activa.
  3. Se recuperan guías de sitio y memoria relevantes.
  4. El modelo seleccionado planifica la siguiente llamada de herramienta.
  5. Los scripts de contenido ejecutan acciones del navegador y esperan un cambio visible.
  6. FSB verifica el resultado, registra analíticas y continúa o finaliza.

Estado y flujo de datos

FSB almacena configuración y datos de tiempo de ejecución en el almacenamiento de Chrome. Las claves de API y los valores sensibles guardados pasan por la capa de configuración segura. Los registros de sesión, analíticas y registros de memoria se mantienen localmente a menos que un usuario habilite explícitamente la sincronización del servidor o use el flujo de emparejamiento del panel de demostración.

Durante una tarea, el trabajador en segundo plano posee el estado de la sesión y se comunica con tres colaboradores principales:

  • scripts de contenido para lecturas de página y acciones del navegador
  • el proveedor seleccionado para planificación y generación de respuestas
  • almacenamiento local para configuración, analíticas, memoria y registros

El servidor MCP no reemplaza el tiempo de ejecución de la extensión. Es un puente local que traduce solicitudes MCP en las mismas rutas del trabajador en segundo plano utilizadas por la propia UI de FSB.

Superficie de acciones del navegador

El registro canónico de herramientas de la extensión cubre navegación, búsqueda, clic, escritura, eventos de teclado, desplazamiento, espera, pestañas, hojas de cálculo, interacciones por coordenadas, cargas de archivos reales, ayudantes de mutación DOM, inspección de solo lectura, búsqueda de guías de sitio, búsqueda de memoria y señales de finalización de tareas.

El servidor MCP expone una superficie pública curada alrededor de ese registro más herramientas complementarias registradas directamente en el servidor:

SuperficieCantidadEjemplos
Sesiones visuales2start_visual_session, end_visual_session
Piloto automático y navegación del agente4run_task, stop_task, get_task_status, back
Vigilantes de activación4trigger, stop_trigger, get_trigger_status, list_triggers
Control manual37execute_js, navigate, click, type_text, drag, upload_file
Inspección de solo lectura8read_page, get_dom_snapshot, get_site_guide, read_sheet
Desarrollador / UAT1capture_screenshot
Capacidades2search_capabilities, invoke_capability
Observabilidad y reproducción7list_sessions, get_session_replay, replay_session
Bóveda4list_credentials, fill_credential, use_payment_method

Las herramientas de solo lectura omiten la cola de mutación cuando es seguro. capture_screenshot es semánticamente de solo lectura, pero permanece serializada porque consume el recurso exclusivo del depurador de Chromium. Las herramientas de mutación se serializan para que dos clientes no hagan clic, escriban, suban, invoquen o naveguen al mismo tiempo. Las herramientas de capacidad permanecen fuera del registro canónico de extensiones por diseño; search_capabilities omite la cola, mientras que invoke_capability se serializa como otras herramientas con efectos secundarios. Los resultados de búsqueda incluyen etiquetas de preparación para que los llamadores puedan distinguir t1-ready ejecución directa de t1-guarded-fail-closed, learn-pending y discovery-pending coincidencias del catálogo.

capture_screenshot captura la página compuesta real de Chromium, no HTML reconstruido. MCP devuelve una imagen PNG nativa más un archivo administrado privado en ~/.fsb/screenshots; los archivos coincidentes caducan después de siete días. El piloto automático no crea un archivo: los bytes de la captura de pantalla viven solo en la memoria del service worker hasta la siguiente solicitud del modelo y se excluyen de transcripciones, historial, registros, métricas y persistencia. Una captura de pantalla puede contener datos visibles sensibles de la página, así que comparte o sube la ruta devuelta solo cuando el destino sea confiable.

Las tareas MCP grabadas pueden abarcar múltiples pestañas mientras permanecen como una sesión de historial lógica. El ciclo de vida de la tarea (complete_task, partial_task o fail_task) cierra ese registro de historial; is_final solo limpia la superposición visual, con caducidad por inactividad como respaldo de grabación. get_session_replay expone la estructura de reproducción verificada y sin recibos; replay_session solicita una aprobación de manifiesto exacto en el panel lateral de FSB, después de lo cual FSB abre y mapea las pestañas grabadas automáticamente.


Proveedores de IA

FSB usa una ruta de proveedor universal para modelos alojados, enrutados, locales y personalizados compatibles con OpenAI.

ProveedorModelo predeterminado o de respaldoNotas
xAIgrok-4-1-fastProveedor predeterminado, perfil de automatización rápida.
Google Geminigemini-2.5-flashIncluye opciones de modelos gratuitos o de bajo costo según disponibilidad de Google.
OpenAIgpt-4oFuerte automatización general y salida estructurada.
Anthropicclaude-sonnet-4-6Fuerte razonamiento y flujos de trabajo con muchos formularios.
OpenRouteropenai/gpt-4oUna sola clave para modelos enrutados; descubrimiento en vivo compatible.
LM StudioLista de modelos locales en vivoSin clave API; lee /v1/models de un servidor LM Studio local.
PersonalizadoModelo proporcionado por el usuarioCualquier endpoint de finalización de chat compatible.

La extensión incluye 30 entradas de modelos de respaldo y descubrimiento de modelos en vivo para proveedores alojados compatibles. Los precios y la disponibilidad de modelos cambian con frecuencia, así que usa el panel del proveedor como fuente de verdad para la facturación.

Notas de Configuración del Proveedor

  • xAI, Gemini, OpenAI, Anthropic y OpenRouter usan claves API guardadas en el almacenamiento de Chrome.
  • LM Studio requiere que el servidor local esté habilitado y sea accesible desde Chrome.
  • Los endpoints personalizados deben apuntar a una URL compatible con finalización de chat.
  • El modelo guardado se conserva incluso cuando no está en la lista de respaldo incluida, por lo que los modelos recién descubiertos no se sobrescriben silenciosamente después de un reinicio del service worker.
  • Si el descubrimiento falla, la página de opciones vuelve a los modelos incluidos y muestra el estado del descubrimiento en línea.

El formato de indicaciones específico del proveedor vive en la capa de IA, pero el bucle de ejecución se comparte intencionalmente. Eso mantiene la planificación de acciones, la validación de herramientas, el almacenamiento de transcripciones, el seguimiento de costos y el manejo de errores consistentes entre modelos.

Descubrimiento de Modelos y Respaldos

El descubrimiento de modelos consulta los endpoints de modelos del proveedor cuando están disponibles, filtra modelos no textuales, normaliza la lista y almacena en caché los resultados exitosos. Si un proveedor está fuera de línea, falta la clave o el descubrimiento falla, FSB mantiene la interfaz utilizable con modelos de respaldo incluidos.

La tabla de respaldo actualmente incluye:

  • 6 modelos xAI
  • 5 modelos Gemini
  • 4 modelos OpenAI
  • 9 modelos Anthropic
  • 6 ajustes preestablecidos de OpenRouter
  • modelos LM Studio solo en vivo

Los proveedores personalizados son intencionalmente abiertos. El nombre del modelo y el endpoint provienen de la configuración del usuario, y el proveedor universal maneja el comportamiento de solicitud/respuesta compatible con OpenAI.


Inteligencia del Sitio y Memoria

FSB incluye guías de sitio para 17 categorías, incluyendo comercio electrónico, finanzas, redes sociales, viajes, programación, correo electrónico, carrera, juegos, productividad, medios, diseño, noticias, utilidades, deportes, referencia, música y juegos. Las guías proporcionan selectores, patrones de navegación, sugerencias de flujo de trabajo y peculiaridades conocidas del sitio.

La memoria a largo plazo registra:

  • Episódica: qué sucedió en una sesión específica.
  • Semántica: hechos aprendidos sobre un dominio o interfaz.
  • Procedimental: flujos de trabajo repetibles y selectores que funcionaron.

Las operaciones de memoria se rastrean por separado de los costos normales de automatización. El panel de opciones expone gráficos de uso, paneles de detalle de memoria, registros y controles de exportación.

Categorías de Guías

CategoríaEjemplos
Comercio electrónicoAmazon, eBay, Walmart, Best Buy, Target
FinanzasYahoo Finance, TradingView, Google Finance, Coinbase
Redes socialesYouTube, Reddit, LinkedIn, Instagram, TikTok
ViajesBooking, Kayak, Google Travel, Airbnb, aerolíneas
ProgramaciónGitHub, Stack Overflow, LeetCode, Codeforces
Correo y productividadGmail, Outlook, Google Workspace, Notion, Jira, Trello
CarreraWorkday, Greenhouse, Lever, portales de empleo de grandes empleadores
Medios y diseñoReproductores de video, grabadoras de voz, Photopea, Miro, Excalidraw
Casos límiteDeslizadores tipo CAPTCHA, carga de archivos, exclusión de cookies, enlaces de inicio de sesión ocultos

Las guías de sitio son ayudas, no scripts codificados. FSB aún lee el DOM actual en cada turno y usa las guías como contexto para mejores selectores y menos errores repetidos.

Ciclo de Vida de la Memoria

Después de una tarea, FSB puede extraer memorias de la transcripción de la sesión y del historial de acciones. Las memorias se puntúan, etiquetan, consolidan y luego se recuperan por dominio, tipo de tarea, actualidad y relevancia de palabras clave. Esto permite que FSB reutilice lo aprendido sin meter cada sesión anterior en cada indicación.

La memoria y los mapas del sitio son especialmente útiles para:

  • flujos de trabajo repetidos en el mismo dominio
  • páginas con controles personalizados o selectores inestables
  • identificar patrones exitosos de inicio de sesión, búsqueda, pago o llenado de formularios
  • evitar selectores malos conocidos o acciones fallidas repetidas
  • visualizar la estructura aprendida del sitio desde el panel de opciones

Seguridad y Protección

  • Las claves API se cifran con AES-GCM y se almacenan en el almacenamiento de Chrome.
  • Los flujos de credenciales y bóveda de pagos evitan enviar secretos sin procesar a través del puente MCP.
  • La salida de chat renderizada se sanitiza con DOMPurify.
  • La automatización se limita a la pestaña de sesión activa cuando es posible.
  • Los registros se pueden revisar o deshabilitar para casos de uso sensibles.

Usa claves API separadas para desarrollo y producción, rota las claves regularmente, respeta los términos de servicio del sitio web y supervisa la automatización en cualquier cosa relacionada con cuentas, finanzas, compras o entrada de datos.

Límites Actuales

  • FSB no elude las restricciones del navegador en páginas internas.
  • El soporte para resolver CAPTCHA es un marco y una integración de servicio opcional, no una garantía.
  • La extensión puede interactuar con la página activa, pestañas y herramientas de coordenadas respaldadas por el depurador porque esos permisos están declarados en el manifiesto MV3.
  • upload_file requiere una ruta local absoluta, bloquea patrones de rutas sensibles conocidos y registra metadatos de auditoría sin persistir la ruta del disco.
  • Las invocaciones de capacidad permiten todos los orígenes no denegados bajo Auto y pasan por listas de denegación, mutación, firma y puertas de auditoría. Solo las capacidades verificadas T1/T1b se ejecutan directamente; las capacidades protegidas o de cola de catálogo devuelven respuestas tipadas pendientes/de respaldo. Los orígenes sensibles se marcan para revisión; el descubrimiento de captura de red en orígenes sensibles aún requiere confirmación adicional.
  • Las credenciales guardadas y los métodos de pago requieren configuración explícita del usuario y flujos de desbloqueo.
  • La automatización debe tratarse como un asistente rápido que opera tu navegador, no como un trabajador de producción desatendido.

Manejo de Datos

Las llamadas al proveedor reciben el contexto de página/tarea necesario para completar la automatización solicitada. Eso puede incluir texto visible de la página, etiquetas de formularios, selectores e instrucciones de tarea proporcionadas por el usuario. Evita ejecutar automatización en páginas sensibles a menos que te sientas cómodo enviando ese contexto de tarea al proveedor de modelos seleccionado.

FSB no requiere una cuenta FSB alojada para el uso local de la extensión. El backend de demostración y el servidor de emparejamiento del panel son separados de la operación normal de la extensión local.


Desarrollo

Instala las dependencias raíz al ejecutar validación o pruebas:

npm install
npm --prefix mcp install
npm --prefix showcase/angular install

Verificaciones comunes:

npm run validate:extension
npm test
npm run test:mcp-smoke
npm --prefix showcase/angular run build

El flujo de trabajo de CI ejecuta estas verificaciones en trabajos separados:

  • validación de extensión y pruebas de Node
  • compilación de TypeScript de MCP y pruebas de humo
  • compilación de demostración de Angular

Otros comandos útiles:

npm run showcase:serve
npm run showcase:smoke
npm --prefix mcp run build
npm --prefix mcp run dev

Depuración:

  • Inspecciona el service worker desde chrome://extensions/.
  • Revisa la consola del navegador en la pestaña activa para registros del script de contenido.
  • Usa el visor de registros de la página de opciones para el historial de sesiones y acciones.
  • Para problemas de MCP, ejecuta npm run test:mcp-smoke, luego npx -y fsb-mcp-server@latest doctor, luego npx -y fsb-mcp-server@latest status --watch.

Pautas de Cambios

  • Mantén la documentación específica del comportamiento cerca del paquete que posee ese comportamiento.
  • Actualiza el README raíz solo para configuración pública, arquitectura o cambios de características.
  • Actualiza mcp/README.md cuando cambien nombres de herramientas, conteos, transportes, diagnósticos o plataformas del instalador.
  • Actualiza extension/README.md cuando cambien puntos de entrada del manifiesto, carga de extensión, empaquetado o validación.
  • Actualiza showcase/README.md cuando cambie el comportamiento de Angular, implementación, rastreador o compilación del sitio.
  • Prefiere pruebas para cualquier contrato compartido entre la extensión y el servidor MCP; la documentación desactualizada suele ser síntoma de falta de verificaciones de contrato.

Verificaciones de Sanidad de Lanzamiento

Antes de cambiar una versión de lanzamiento, redacta su entrada de lanzamiento en el registro de cambios correspondiente, luego ejecuta npm run version:set:extension -- X.Y.Z o npm run version:set:mcp -- X.Y.Z. Las notas de lanzamiento permanecen redactadas por humanos y los configuradores no reescriben el historial del registro de cambios. Antes de cortar cualquiera de los lanzamientos, ejecuta npm run version:check y verifica:

  • los metadatos propiedad de la extensión coinciden con extension/manifest.json, mientras que los metadatos propiedad de MCP coinciden con mcp/package.json
  • las etiquetas extension-vX.Y.Z y mcp-vX.Y.Z coinciden con sus artefactos versionados independientemente
  • las insignias de versión del README y las secciones de "novedades" coinciden con los metadatos del paquete
  • las capturas de pantalla y logotipos se resuelven desde rutas rastreadas
  • los conteos de herramientas del README de MCP coinciden con la superficie de tiempo de ejecución registrada
  • el README de demostración coincide con la versión principal de Angular y la ruta de salida de compilación
  • ningún comportamiento de agente en segundo plano retirado se anuncia como funcionalidad activa

Propiedad de la Documentación

El README raíz debe describir lo que un nuevo usuario necesita entender antes de instalar, probar o elegir una ruta de integración. El comportamiento detallado del paquete pertenece al README del paquete que lo posee. Esta división mantiene la visión general pública útil mientras da a los mantenedores un lugar claro para actualizar superficies de herramientas, puntos de entrada de extensión o instrucciones de implementación de demostración.


Agradecimientos

  • OpenTabs inspiró el Catálogo de Capacidades Nativas de FSB (ejecución de API de primera parte: convertir sesiones de navegador autenticadas en capacidades de API reutilizables, firmadas y auditadas). Gracias por la dirección en este enfoque.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulte LICENSE.

Soporte y Contribuciones

  • Reporte errores y solicitudes de funciones en GitHub Issues.
  • Incluya el prompt de la tarea, el sitio objetivo, el proveedor/modelo, los registros y los pasos de reproducción cuando sea posible.
  • Las solicitudes de extracción deben actualizar las pruebas y la documentación cuando cambien el comportamiento, la configuración o las interfaces públicas.

Hecho por Lakshman Turlapati

FSB Full Self Browsing: automatización impulsada por IA, accesible para todos.