# Navegador (Ghosty para Chrome)

> La extensión Ghosty para Chrome le presta tu navegador a tu agente, con las sesiones que ya tienes abiertas. Instalación, uso desde /c, la app y la terminal, tools browser_*, atajos, programados y privacidad.

URL: https://www.ghosty.studio/docs/navegador

**Ghosty para Chrome** deja que tu agente use tu navegador: abre páginas, lee, llena formularios, hace clic y toma capturas en las sesiones que ya tienes abiertas (tu correo, tu banco de imágenes, el panel de tu tienda). Tú sigues platicando donde siempre —`/c`, la app o la terminal— y la extensión sólo ejecuta lo que el agente decide.

## Instalar

1. Instala la extensión. Mientras sale en Chrome Web Store, se instala a mano ([abajo](#instalar-a-mano-sin-la-tienda)); en cuanto esté publicada, [ghosty.studio/chrome](https://www.ghosty.studio/chrome) te llevará a la ficha.
2. Inicia sesión en [ghosty.studio](https://www.ghosty.studio) en ese mismo Chrome.
3. Abre `/c`. La extensión se empareja sola con tu cuenta en unos segundos, sin copiar tokens. Su panel (⌘⇧G en Mac, Ctrl+Shift+G en Windows/Linux) dice **Conectado** con tu correo.

La conexión es una por persona: si abres Ghosty en otro Chrome con la misma cuenta, el último que se conecta es el que usa el agente.

### Instalar a mano (sin la tienda)

1. Descarga [ghosty-chrome.zip](/descargas/ghosty-chrome.zip) y descomprímelo en una carpeta que no vayas a borrar (por ejemplo `Documentos/Ghosty`).
2. En Chrome abre `chrome://extensions` y prende **Modo de desarrollador** (arriba a la derecha).
3. Dale **Cargar descomprimida** y elige la carpeta que descomprimiste.
4. Fija el ícono de Ghosty en la barra y sigue con los pasos 2 y 3 de arriba.

Para actualizar: descarga el zip nuevo, reemplaza el contenido de la carpeta y dale ↻ a Ghosty en `chrome://extensions`. Cuando la extensión salga en la tienda, quita esta copia e instala la de la tienda para recibir actualizaciones solas.

## Cómo se usa

Pídeselo a tu agente en lenguaje normal, en tu chat personal:

> Abre ghosty.studio/planes, toma una captura y dime cuánto cuesta el plan Pro.

> Entra a mi panel de Shopify, busca los pedidos pendientes de hoy y hazme una tabla.

- **/c y la app (iOS, Android)**: el agente usa el Chrome de tu computadora aunque le escribas desde el teléfono. Lo que entrega (una tabla, un GIF de lo que hizo) llega al hilo como cualquier archivo.
- **Terminal**: desde [Claude Code u otro agente de código](#para-desarrolladores) usas el mismo navegador.
- Si Chrome no está abierto o la extensión no está conectada, el agente te lo dice y te da la liga para instalarla.

El navegador sólo está disponible en **tus chats personales y tus tareas programadas**. Nunca en canales de clientes (WhatsApp, Messenger, embed).

## Qué puede hacer el agente

Las tools llegan al agente con el prefijo `browser_`:

| Tool | Para qué |
|---|---|
| `browser_status` | Saber si tu navegador está conectado y cuál fue el último paso. |
| `browser_navigate`, `browser_navigate_back` | Abrir una URL o regresar a la página anterior. Espera a que la página termine de cargar. |
| `browser_read_page` | Leer la estructura de la página (botones, campos, ligas) con una referencia para cada elemento. |
| `browser_find` | Encontrar un elemento por descripción («el botón de guardar del modal») en páginas grandes. |
| `browser_get_page_text` | Sacar el texto principal (un artículo, una documentación) sin menús. |
| `browser_click`, `browser_hover`, `browser_drag` | Hacer clic, pasar el mouse o arrastrar sobre un elemento. |
| `browser_type`, `browser_fill_form`, `browser_select_option`, `browser_press_key` | Escribir, llenar varios campos a la vez, elegir de una lista o presionar una tecla. |
| `browser_scroll`, `browser_wait_for` | Desplazar la página o esperar a que aparezca o desaparezca un texto. |
| `browser_take_screenshot` | Ver la página como imagen. |
| `browser_computer` | Mouse y teclado por coordenadas, para lo que no se alcanza por referencia (un lienzo, un mapa). |
| `browser_attach_image`, `browser_file_upload` | Adjuntar una imagen o un archivo a un formulario sin abrir el selector. |
| `browser_tabs`, `browser_resize`, `browser_viewport` | Listar, abrir, cerrar o cambiar de pestaña; cambiar el tamaño de la ventana. |
| `browser_console_messages`, `browser_network_requests` | Revisar errores y peticiones de tu sitio cuando le pides depurarlo. |
| `browser_gif_creator` | Grabar lo que hace como GIF. Desde /c el GIF queda en el hilo; desde la terminal, en tu carpeta de Descargas. |

Las capturas le llegan como imagen a los agentes con Claude; a los demás motores les llega el texto de la página.

## Atajos

Guarda una tarea que repites y córrela con su nombre:

> Guarda esto como atajo /precios: abre ghosty.studio/planes y dime el precio de Pro.

Después basta con escribir `/precios`. «¿Qué atajos tengo?» los lista y «borra el atajo /precios» lo quita. Los atajos son de tu cuenta y sirven con todos tus agentes (tools `shortcut_save`, `shortcut_run`, `shortcut_list`, `shortcut_delete`).

## Tareas programadas

Una tarea programada desde tu chat personal también puede usar el navegador:

> Todos los lunes a las 9 abre el panel de mi tienda y mándame las ventas de la semana.

A la hora indicada el agente trabaja solo en tu Chrome. Si Chrome está cerrado, te llega una notificación «… necesita tu Chrome» y el agente registra que no pudo.

## Qué ves mientras trabaja

- **Grupo de pestañas «Ghosty»** (morado): el agente abre sus pestañas ahí y sólo ve, cambia y cierra ésas.
- **Borde lila** palpitante alrededor de la página mientras trabaja; ámbar cuando espera.
- **Cursor de Ghosty** con su nombre que va a cada elemento. Es sólo un dibujo: tu mouse no se mueve.
- **■ Detener a Ghosty**, abajo al centro de la página, y en el panel. También con ⌘⇧K (Ctrl+Shift+K). El agente recibe que lo detuviste.
- **Avisos** de Chrome: «Ghosty terminó» si estabas en otra pestaña, y «Ghosty necesita que inicies sesión en …» cuando llega a una página de login.

## Privacidad

- La extensión sólo actúa en las pestañas de su grupo «Ghosty» y sólo mientras hay una tarea en curso. No registra tu navegación fuera de eso.
- **Nunca escribe contraseñas.** Si una página pide iniciar sesión, te avisa para que entres tú y luego sigue.
- Lo que el agente ve (texto, capturas) se usa sólo para decidir el siguiente paso y queda en tu conversación como cualquier otro mensaje.
- Puedes detener cualquier tarea, desconectar la extensión o desinstalarla cuando quieras.

El detalle está en el [Aviso de privacidad, sección 11](/privacidad#seccion-11).

## Para desarrolladores

Cualquier cliente (un servidor MCP propio, un script) puede usar tu navegador con la API HTTP. Ambas rutas están en la [referencia de la API](/docs/api/referencia).

1. **Token**: el panel de la extensión pide uno a `GET /api/browser/token` con tu sesión de la web y te lo muestra. Es un token `bt_…` personal que dura 30 días y sólo alcanza tu navegador. Trátalo como una contraseña.
2. **Estado y tools**: `GET /api/browser/call` con `Authorization: Bearer bt_…` regresa `connected`, `email`, `lastStep` y `tools` (nombre, descripción y `inputSchema` de cada una), listas para exponerlas como tools MCP.
3. **Ejecutar**: `POST /api/browser/call` con `{ "tool": "navigate", "input": { "url": "https://example.com" } }`. Acepta el nombre con o sin `browser_`.

```bash
curl -s https://www.ghosty.studio/api/browser/call \
  -H "Authorization: Bearer $GS_BROWSER_TOKEN" \
  -H "content-type: application/json" \
  -d '{"tool":"read_page","input":{},"client":"Mi script"}'
```

`client` es el nombre que ve la persona en el panel («quién la usa»). Respuestas: `200` con el resultado, `409` si el navegador no está conectado, `504` si la tool falló o no contestó a tiempo (`timeoutMs`, máximo 180 s).

Tu agente de código aprende todo esto con la skill `ghosty-browser`: `npx skills add blissito/ghosty-skills`.
