El chat

Cada sesión se abre como un chat. Escribes en el compositor de abajo; las respuestas del agente, sus preguntas y un resumen de lo que hizo aparecen encima. Debajo, el agente corre en una pestaña de terminal corriente en su máquina (un espacio de trabajo, en el editor de ajustes) — el chat lee su conversación y escribe en ella por ti, así que todo lo que el agente haría en el terminal lo hace también aquí. El terminal está siempre a un clic con la píldora Linux (⌥⌘U; ver El inicio de las sesiones).

Este capítulo describe el chat de una sesión en marcha. Una sesión en pausa o terminada muestra la misma conversación, releída desde este Mac, con un compositor cuyo siguiente mensaje la reanuda — ver Sesiones en pausa y terminadas.

El chat de la sesión en marcha Añadir Apple Pay al pago. Tu petición está en un globo gris arriba; las respuestas del agente siguen, separadas por dos líneas de actividad plegadas que dicen 1 llamada de herramienta · 1 archivo leído y Pensó · 1 cambio · 1 comando, luego un botón 1 archivo cambiado +4 −1 y un cursor parpadeante mientras el agente sigue escribiendo. El compositor de abajo dice Mensaje para Claude Code… (o suelta archivos), con la pista ⎋ detener ⏎ enviar y un botón rojo Detener.

El compositor

El compositor dice "Mensaje para agente… (o suelta archivos)".

  • Retorno envía. ⌥⏎ inserta una línea nueva. La pista bajo el texto lo recuerda: "⏎ enviar ⌥⏎ nueva línea".
  • Mientras el agente trabaja, el botón de envío se convierte en un botón rojo Detener ("Detener el agente (Esc)") y la pista dice "⎋ detener ⏎ enviar". Esc, o un clic en Detener, interrumpe el agente — lo mismo que pulsar Esc en su terminal. Puedes escribir y pulsar Retorno igualmente mientras trabaja; el mensaje va al agente como iría en el terminal.

Cuando la conversación está vacía, el chat dice "agente está listo. Di qué necesitas."

Adjuntos

Puedes entregar al agente cualquier archivo de tu Mac:

  • Arrastra archivos desde el Finder (o una imagen desde un navegador o Previsualización) a cualquier punto del chat. El chat muestra Suelta para adjuntar; cada archivo se convierte en una etiqueta encima del compositor, con miniatura en las imágenes. Haz clic en el distintivo de una etiqueta para quitarla.
  • Suelta sobre el texto mismo y el campo de texto recibe primero la ruta del archivo; el chat convierte de la misma manera en etiqueta una ruta a un archivo de tu Mac. Esto también vale para una ruta que pegues.

Cualquier tipo de archivo vale, hasta 512 MB cada uno; uno demasiado grande o ilegible se rechaza con un pitido. Nada se envía hasta que envías el mensaje. Entonces los archivos se copian dentro de la máquina, bajo ~/.bromure/drops/ (cada nombre con la hora de envío como prefijo, para que dos archivos llamados photo.png nunca choquen) y sus rutas se añaden al final de tu mensaje, para que el agente pueda abrirlos. Puedes enviar adjuntos sin texto alguno.

Las imágenes que adjuntas desde este Mac se quedan en la conversación: se muestran dentro de tu mensaje, en lugar de sus rutas, y siguen ahí cuando vuelves atrás o reabres la sesión más tarde. Una imagen enviada desde otro cliente aparece como su ruta.

Nota: la carpeta de sueltas vive en el home de la máquina, así que los archivos adjuntos sobreviven a un reinicio de la máquina. También ocupan espacio ahí; elimina los antiguos de ~/.bromure/drops/ si adjuntas archivos grandes a menudo.

Comandos slash

Escribe / al principio del compositor para abrir la paleta Comandos encima: los comandos integrados del agente (/model, /compact, /review, …) y los que hayas añadido tú — para Claude Code, tus comandos propios (~/.claude/commands/ y el .claude/commands/ del proyecto), etiquetados tuyos, y tus habilidades, etiquetadas skill; para Codex, tus prompts guardados (~/.codex/prompts/). La cabecera muestra el nombre del agente y el número de coincidencias.

Sigue escribiendo para filtrar. ↑↓ mueven, ⇥ completa, ↩ envía (un nombre parcial se completa primero), esc cierra y vacía. Hacer clic en un comando que no toma argumento lo envía al instante; uno que toma argumento se completa con un espacio para que escribas el resto.

Un comando slash lo responde el terminal del agente, no la conversación, así que el chat muestra lo que el terminal imprimió en una tarjeta bajo el comando (refrescada unos segundos; "No apareció nada nuevo en el terminal." cuando no hubo nada). Haz clic en la × de la tarjeta para cerrarla.

Cuando el comando abre un menú en el terminal — /model, /config y similares — la tarjeta se convierte en un terminal en línea: el terminal real del agente, ahí mismo en el chat, con la pista "↑↓ mover · ⏎ elegir · esc cerrar". Las teclas van directas al agente. Plegar ("Volver a la salida impresa") lo reduce a texto, Interactuar ("Mostrar el terminal aquí y escribir en él") lo trae de vuelta. La tarjeta se pliega por sí misma en cuanto el menú se cierra.

Pedir a otra sesión: @

Escribe @ para abrir la paleta Sesiones — las "sesiones a las que puedes pedir", por @apodo, con su título y su máquina. Una sesión sin apodo se lista con uno propuesto, etiquetado nombre nuevo, y lo recibe cuando la eliges. ↑↓ mueven, ⇥ o ↩ completan, esc quita el @… que estabas escribiendo y mantiene el resto de la frase.

Nombrar una sesión con @nombre permite a tu agente enviarle una petición. Las peticiones y delegaciones aparecen en un panel Delegaciones encima del compositor, con su estado, y te dejan responder a la pregunta de un delegado en lugar de tu agente. Ver Agentes trabajando juntos.

Preguntas del agente

Cuando Claude Code te hace una pregunta de elección múltiple, el chat la muestra como una tarjeta viva en el azul de la marca: "El agente pregunta", la pregunta y sus opciones, cada una con su descripción.

La sesión Arreglar el cargo doble en el pago, marcada Te necesita. Tras una línea de actividad plegada que dice 1 búsqueda · 1 archivo leído y la explicación del agente, una tarjeta azul titulada El agente pregunta muestra la pregunta ¿Cómo debería evitar el cargo doble? con tres opciones numeradas — Desactivar el botón, Clave de idempotencia, Ambas — cada una con una descripción de una línea, y un botón Enviar debajo.
  • Haz clic en una opción para elegirla. Una pregunta que permite varias respuestas muestra casillas en lugar de números, y un botón Ninguna de estas.
  • Cuando el agente hace varias preguntas a la vez, la tarjeta dice "El agente hace N preguntas: respóndelas todas y luego pulsa Enviar" y muestra una pestaña por pregunta, marcada en cuanto tiene respuesta. Elegir la respuesta a una pregunta de elección única pasa a la siguiente pestaña sin responder.
  • Nada llega al agente hasta que haces clic en Enviar, así que un clic equivocado es solo otro clic para corregirlo. Enviar sigue desactivado hasta que cada pregunta tenga respuesta ("Enviar se activa en cuanto todas las pestañas estén respondidas."). Tras el envío, la tarjeta dice "Respuestas enviadas al agente."; si no se pudo alcanzar la sesión, "No se pudo alcanzar la sesión — inténtalo de nuevo."

Una vez respondida, una pregunta se pliega a una línea gris: la pregunta, una flecha y lo que elegiste (o "descartada"). Haz clic en la línea para ver la pregunta completa otra vez, con tu elección resaltada; la flecha la vuelve a plegar.

Mientras una pregunta espera, la sesión se queda en el grupo Te necesita de la barra lateral, con un punto rojo.

Los menús de los demás agentes, y los otros diálogos de Claude Code, aparecen en cambio como una tarjeta de estado.

Líneas de actividad

Lo que el agente hace entre dos mensajes — comandos que ejecuta, archivos que lee y cambia, búsquedas, páginas web, subagentes y su razonamiento — se pliega en una sola línea discreta, por ejemplo "Pensó · 1 cambio · 1 comando" o "3 comandos · 2 archivos leídos · 1 cambio". Una ejecución de un solo paso lo nombra ("Grep src", "Cambiar /home/ubuntu/pipeline/export/csv.py"). Las llamadas de herramienta fallidas se cuentan en rojo en la línea ("1 falló").

Haz clic en una línea para abrirla ("Mostrar lo que hizo el agente") y ver cada paso como una tarjeta, y clic de nuevo para plegarla ("Ocultar los detalles"). Mientras el agente está en medio de una ejecución, la línea muestra un indicador y el paso en curso — "Ejecutando npm test…", "Leyendo src/app.ts…", "Cambiando …", "Buscando …", "Obteniendo …", "Pensando…". Entre ejecuciones, una señal de "Pensando…", o un cursor parpadeante mientras se escribe una respuesta, muestra que el agente sigue.

Qué cambió el turno

Cuando el turno del agente cambió archivos, termina con un botón como 3 archivos cambiados +120 −35 — los archivos que sus cambios tocaron y las líneas añadidas y quitadas, contadas desde sus propias llamadas de cambio. Pasa el cursor para la lista de archivos; haz clic para abrir la ventana de revisión de la sesión sobre esos archivos. Ver Ramas y revisión.

Tarjetas

Dentro de una línea de actividad abierta, cada paso se dibuja según lo que es:

TarjetaMuestra
CambioUn diff coloreado del cambio (cambios y parches por igual), con las líneas añadidas y quitadas; los diffs largos se cortan con "… N líneas más".
Escritura de archivoEl contenido de un archivo nuevo, con resaltado de sintaxis, y su ruta.
ComandoEl comando de shell en una línea $ con un botón de copia. Un comando que escribe archivos mediante un heredoc muestra los archivos que escribe y cada heredoc como su propio bloque.
Archivos y búsquedasEl archivo, la carpeta o el patrón al que se refería una lectura, un listado o una búsqueda; la URL o la consulta de una obtención web.
ResultadoLa salida de una herramienta, plegada a su primera línea ("resultado de herramienta"); errores en rojo.
RazonamientoEl razonamiento del agente, en cursiva.
Todo lo demásEl nombre de la herramienta y su resumen, abriéndose a su entrada cruda.

En las respuestas del agente:

  • Los bloques de código tienen resaltado de sintaxis y un botón de copia.
  • Los diagramas escritos como bloques ```mermaid se dibujan como diagramas, sin conexión, en claro u oscuro según la ventana. Un diagrama que no se puede analizar se muestra como su fuente.
  • Las tablas se dibujan como tarjetas: una cabecera teñida, filas separadas por finas líneas, un borde redondeado. En un chat más estrecho de unos 480 puntos — una celda de sala, o el iPhone — una tabla ancha mantiene columnas legibles y se desplaza de lado en vez de comprimirse.

Pendientes. Cuando el agente mantiene una lista de tareas (los pendientes de Claude Code, el plan de Codex, el todo de Oh My Pi), la última lista queda fijada encima del compositor como una lista Pendientes — elementos hechos, en curso, bloqueados y por hacer de un vistazo — en lugar de irse con la conversación. Una lista larga se desplaza en su sitio.

Mensajes

Pasa el cursor por un mensaje para ver sus herramientas, arriba a la derecha:

  • la hora a la que se envió (pasa el cursor por la hora para la fecha completa);
  • Copiar — copia el mensaje. En una respuesta larga, que el chat dibuja en varios trozos, Copiar en su primer trozo se lleva la respuesta entera;
  • Editar y volver a enviar — solo en tu último mensaje: devuelve su texto al compositor, para cambiarlo y enviarlo de nuevo.

Cuando subes mientras el agente sigue, aparece abajo un botón Ir a lo último; haz clic para volver al final. El chat solo sigue los mensajes nuevos por sí mismo mientras estás al final.

Una conversación larga se dibuja 300 mensajes a la vez: un botón Mostrar N mensajes anteriores arriba trae los previos. Una muy larga no se lee completa al principio; la parte superior ofrece entonces Cargar conversación anterior para traer más desde la máquina.

Tarjetas de inicio de sesión y de estado

Cuando el agente se queda atascado en algo de su terminal que no es una conversación — un diálogo, un inicio de sesión, un error — el chat lo detecta y muestra una tarjeta al final de la conversación, para que rara vez tengas que abrir el terminal.

El agente espera a que confíes en esta carpeta. Los agentes preguntan si deben confiar en una carpeta la primera vez que trabajan en ella. La tarjeta muestra la carpeta y un botón Confiar en esta carpeta y continuar. Cuando el diálogo es uno que el chat no puede responder, dice "Esperando el diálogo de confianza del agente — continuará en cuanto se responda."

Iniciar sesión en proveedor. Un agente sin cuenta configurada muestra su inicio de sesión; la barra lateral marca la sesión Hace falta iniciar sesión. Donde Bromure puede iniciar sesión por él (Claude, ChatGPT para Codex, Grok, Kimi), la tarjeta explica "Bromure te autentica en este Mac y mantiene tu cuenta de proveedor fuera de la máquina — el agente solo ve una clave sustituta." y ofrece Iniciar sesión en proveedor…:

  1. Haz clic. La tarjeta dice "Abriendo tu navegador para iniciar sesión…" y la página de inicio de sesión del proveedor se abre en el navegador de tu Mac.
  2. Aprueba el acceso ahí.
  3. Bromure captura la credencial, la guarda en este Mac y reinicia el agente con su sustituta ("Sesión iniciada. Arrancando agente de nuevo…"). Una conversación ya empezada se reanuda; una que nunca arrancó recibe tu mensaje de apertura.

Si no llega nada en cinco minutos, la tarjeta lo dice y puedes volver a intentarlo. Ver Credenciales y la frontera del cable para saber cómo funciona la clave sustituta, y Modelos y proveedores para gestionar los inicios de sesión.

Donde Bromure no puede iniciar sesión por el agente, la tarjeta conduce el propio inicio de sesión del agente: "¿Cómo quieres iniciar sesión?" con sus métodos como botones, luego Abrir la página de inicio de sesión, y un campo Pegar código con Enviar para el código que la página te da.

agente necesita un proveedor de modelo. Oh My Pi no tiene cuenta en la que iniciar sesión: "agente todavía no tiene proveedor de modelo en esta máquina. Añade una clave de API o un modelo local en los ajustes de la máquina y vuelve a iniciar la sesión." Ajustes de la máquina… abre los ajustes de la máquina.

Otros diálogos. Cualquier otro menú que el agente saque se muestra con su título y sus opciones como botones (la que Retorno elegiría queda resaltada), más Descartar (Esc) — "O abre Linux (⌥⌘U) para responder en el terminal." Los paneles de aprobación y las preguntas de opción múltiple de Kimi Code aparecen así. Kimi Code no muestra ninguno de los dos en su modo predeterminado No preguntar nunca —pregunta en texto plano—, solo cuando el ajuste Aprobaciones de Kimi de la máquina está en Preguntar antes de acciones sensibles (ver General).

Fallos. Cuando el agente se detiene con un error, una tarjeta roja dice de qué tipo — "El agente no pudo autenticarse", "El agente alcanzó un límite de uso" o "El agente se detuvo con un error" — con la propia línea de error del agente debajo. Un fallo de autenticación ofrece Iniciar sesión en proveedor… cuando Bromure puede iniciar sesión por el agente; si no, la tarjeta dice "Pasa al terminal para resolverlo y vuelve a enviar."

Encontrar cosas en una conversación

No hay campo de búsqueda dentro del chat. Usa el campo Buscar sesiones de la barra lateral o la sección En conversaciones de la paleta ⌘K: ambos buscan lo que se dijo en cada sesión, y abrir un resultado desplaza el chat hasta el primer mensaje que contiene tus palabras.

Límites

  • Historial. El chat mantiene unos 24 MB del historial de una conversación a la vez. Las partes más antiguas de una conversación más larga se traen con Cargar conversación anterior; en cuanto el historial mantenido pasa de unos 40 MB, su parte más antigua vuelve a salir de la vista. La conversación en sí queda intacta en la máquina. En un espejo de un Mac remoto, la primera apertura de un chat lee solo los ~1,5 MB más recientes, y un chat reabierto trae solo lo nuevo desde la última vez.
  • Apariencia. El chat tiene su propio aspecto — papel cálido en modo claro, los colores del sistema en modo oscuro, siguiendo macOS. Los ajustes de Apariencia de una máquina (tipografía del terminal, colores, opacidad) se aplican a sus terminales, no al chat.
  • Qué ve el chat. El chat se construye a partir del propio archivo de conversación del agente y de lo que muestra su terminal. Todo lo que el chat no reconoce sigue en el terminal: en caso de duda, abre Linux (⌥⌘U).