Iniciar una sesión interactiva
Las sesiones interactivas proporcionan una interfaz conversacional con Bob directamente en tu terminal, permitiéndote obtener asistencia en tiempo real para tus tareas de desarrollo.

Cuándo usar una sesión interactiva
Las sesiones interactivas funcionan mejor para:
- Sesiones de programación exploratoria.
- Depuración y resolución de problemas.
- Aprender nuevos conceptos o tecnologías.
- Tareas que requieren múltiples intercambios de ida y vuelta.
- Proyectos donde necesitas revisar los cambios antes de que se apliquen.
Iniciar una sesión interactiva
Usa el subcomando bob chat para iniciar una sesión interactiva en tu terminal.
Sintaxis
bob chat [options]Iniciar una sesión
Abre una nueva ventana de terminal.
Cuando inicias Bob Shell por primera vez, debes iniciar sesión con tu IBMid y aceptar el acuerdo de licencia.
Navega al directorio principal de tu proyecto.
Ejecuta el siguiente comando para iniciar una sesión interactiva:
bob chatConsejos para un uso efectivo
- Sé específico en tus solicitudes para obtener respuestas más precisas.
- Usa referencias
@para proporcionar contexto de código cuando sea necesario. - Para tareas complejas, divídelas en pasos más pequeños.
- Usa slash commands para acceder rápidamente a funciones comunes.
- Cuando trabajes con bases de código grandes, dirige a Bob Shell a los archivos más relevantes.
Uso básico
Interactuar con Bob Shell
- Escribe tus instrucciones o preguntas directamente en la terminal.
- Presiona Enter para enviar tu mensaje a Bob.
- Bob Shell responde con su análisis y sugerencias.
- Para el uso de herramientas (como leer o escribir archivos), se te pedirá que apruebes o rechaces cada acción.
Aprobaciones de herramientas
Cuando Bob Shell solicita usar una herramienta, aparece un diálogo de aprobación. El diálogo ofrece las siguientes opciones:
| Opción | Descripción |
|---|---|
| Approve Once | Permitir que esta llamada específica de herramienta proceda. Se te pedirá nuevamente para llamadas futuras. |
Approve <group> tools for task | Permitir todas las herramientas del mismo grupo de herramientas durante el resto de la tarea. No se muestra para herramientas MCP. |
| Always Allow Command for task | Permitir un comando de shell específico durante el resto de la tarea. |
| Reject | Denegar la llamada de herramienta. Bob Shell no procede con la acción. |
También puedes agregar una nota opcional al aprobar o rechazar una llamada. La nota se reenvía al modelo como contexto adicional.
Para alternar la aprobación automática sin abrir el cuadro de diálogo de aprobación, presiona Ctrl+F en macOS o Alt+F en Windows, Linux y WSL.
Presiona Escape para interrumpir a Bob mientras se transmite una respuesta.
Conversaciones de múltiples turnos
Bob Shell mantiene el contexto durante toda tu conversación, lo que te permite:
- Hacer preguntas de seguimiento.
- Refinar solicitudes anteriores.
- Construir sobre respuestas anteriores.
Referenciar archivos y recursos
Usa el símbolo @ para referenciar archivos de tu proyecto:
Explain the functionality in @src/main.jsEsto le indica a Bob Shell que lea y analice el archivo especificado antes de responder.
- Los archivos se incluyen en línea hasta 100 KB por archivo.
- El contenido total incluido en todas las menciones
@tiene un límite de 500 KB. - Los directorios muestran hasta 50 entradas.
También puedes referenciar recursos de Model Context Protocol (MCP) expuestos por servidores conectados usando el formato server:resource-name:
@my-server:schema.jsonReferenciar skills
Escribe $ seguido del nombre de un skill para abrir el selector de skills e insertar una referencia a ese skill en tu prompt.
Ver cambios en archivos
Cuando Bob Shell necesita modificar archivos, te muestra los cambios propuestos en la terminal con una vista de diff de CLI.
Usar slash commands
Escribe / para acceder a un menú de comandos disponibles:
- Comandos integrados como
/helppara obtener ayuda - Comandos para cambiar de modo, como
/mode ask - Comandos personalizados que hayas creado
Para obtener una lista completa de comandos disponibles, consulta Slash commands en Bob Shell.
Cola de mensajes
Cuando Bob está transmitiendo una respuesta activamente, puedes poner en cola mensajes adicionales en lugar de esperar. Presiona Tab para poner en cola el mensaje actual. Los mensajes en cola se envían automáticamente en orden tan pronto como cada turno se completa.
| Tecla | Acción |
|---|---|
Tab | Poner en cola el mensaje actual (o enviar inmediatamente cuando está inactivo) |
↑ | Mover el foco a la lista de cola |
Enter | Editar el elemento seleccionado en la cola |
Tab (en la cola) | Enviar el elemento seleccionado inmediatamente |
Delete / Backspace | Eliminar el elemento seleccionado de la cola |
Shift+K / Shift+J | Reordenar el elemento seleccionado hacia arriba / abajo |
Pie de estado
El pie de página debajo del campo de entrada muestra información de la sesión en tiempo real:
| Campo | Descripción |
|---|---|
| Mode | Nombre del modo activo (por ejemplo, Agent Mode) — aparece el sufijo (auto-approve) en rojo cuando la aprobación automática está activada |
| Context | Tokens usados frente al tamaño de la ventana de contexto, con un porcentaje |
| Cost | Costo acumulado para la tarea actual en Bobcoins (🅞) |
Gestión de sesiones
Reanudar una sesión anterior
Puedes reanudar una sesión anterior al iniciar bob chat:
bob chat --resume <task-id>
bob chat --resume latestPara encontrar el ID de tarea de una sesión anterior, usa bob --list-tasks:
bob --list-tasksConectarse a una instancia con nombre
Usa --instance-id para conectarte a una instancia con nombre específico en lugar de iniciar una nueva:
bob chat --instance-id my-projectFlags de utilidad general
Algunos flags se invocan directamente con bob, no con bob chat o bob run. Los siguientes flags están disponibles:
| Flag | Descripción |
|---|---|
--list-tasks [n|all] | Listar tareas guardadas para el workspace actual y salir. Por defecto 20. Pasa un número o all para controlar cuántas se muestran. |
--limit <n> | Número máximo de tareas a mostrar con --list-tasks. |
--show-license | Mostrar el acuerdo de licencia de IBM y salir. |
Salida legible por máquina
Cuando stdout no es un TTY — por ejemplo, cuando rediriges o canalizas la salida — --list-tasks cambia de una tabla legible por humanos a NDJSON, con un objeto JSON por línea.
Cada línea tiene la siguiente forma:
{"id":"<uuid>","title":"<string>","status":"<string>","workspace":"<file-uri>","updatedAt":<unix-ms>}| Campo | Tipo | Descripción |
|---|---|---|
id | string (UUID) | Identificador único de tarea, utilizable con --resume |
title | string | Título de la tarea, volviendo al primer mensaje, luego id |
status | string | Estado de la tarea (active, completed, paused) |
workspace | string (file URI) | Ruta absoluta del workspace como URI file: |
updatedAt | number | Marca de tiempo de última actualización en milisegundos Unix |
Ejemplos
# Canalizar a jq
bob --list-tasks all | jq '.id'
# Guardar en archivo y luego procesar
bob --list-tasks 100 > tasks.ndjson
# Mostrar el acuerdo de licencia
bob --show-licenseOpciones
| Opción | Descripción |
|---|---|
--instance-id <id> | Conectarse a una instancia con nombre específico en lugar de iniciar una nueva |
--resume <task-id> | Reanudar una tarea anterior por ID de tarea |
--resume latest | Reanudar la tarea más reciente |
--mode <mode> | Modo inicial (por ejemplo, agent, plan, ask) |
--log-level <level> | Nivel de detalle de logs: error, warn, info, debug o trace |
--auto-approve | Suprimir los diálogos de aprobación de herramientas para la sesión. No tiene efecto en carpetas no confiables. |
--trust | Persistir la carpeta actual como confiable, omitiendo el diálogo de confianza del primer acceso. Equivalente a seleccionar manualmente "Confiar en carpeta". Ver Carpetas confiables. |
--team-id <id> | Ejecutar bajo un ID de equipo específico (requerido al usar una clave API de tipo general) |
Desinstalar
Elimina Bob Shell de tu sistema usando el método apropiado para tu instalación.
Iniciar una sesión no interactiva
Las sesiones no interactivas proporcionan un método para usar Bob Shell directamente desde la línea de comandos sin entrar en una sesión interactiva. Úsalas para automatización, scripting y tareas de procesamiento por lotes.