Skip to main content

Abrir el REPL

plazbot studio
Esto lanza un TUI (text user interface) construido con Ink + React donde puedes conversar con Studio en tiempo real. Cada respuesta se transmite por Server-Sent Events y se renderiza palabra por palabra.

Flags disponibles

FlagTipoDescripcion
--devboolApunta al backend local http://localhost:5090
-a, --agent-id <id>stringPre-carga un agente al iniciar la sesion
-w, --workspace-id <id>stringSobrescribe el workspace del config
-m, --message <text>stringEnvia un mensaje inicial automaticamente
--no-colorboolDesactiva colores ANSI (util en CI o logs)

Ejemplos

# REPL contra produccion (zona del config)
plazbot studio

# REPL apuntando a un agente especifico
plazbot studio -a age_TZiOY...

# REPL contra backend local de desarrollo
plazbot studio --dev

# REPL con mensaje inicial automatico
plazbot studio -m "lista mis agentes"

Layout del TUI

┌─ Studio · workspace acme · LA · catalogo-wa ──────────────────────┐
│                                                  │                 │
│  Tu > Cambia el saludo a algo mas cercano       │  Panel Agente   │
│                                                  │  [preview|json] │
│  ✓ Consultando agentes · 0.4s                    │                 │
│  ✓ Actualizando prompt · 0.8s                    │  {              │
│                                                  │    "name": ...  │
│  Plazbot > Listo. El nuevo saludo es             │    "prompt": .. │
│  "¡Hola! Soy Cata 👋"                            │  }              │
│                                                  │                 │
├──────────────────────────────────────────────────┴─────────────────┤
│ > _                                                                 │
├─────────────────────────────────────────────────────────────────────┤
│ tokens: 1.2k in / 845 out · /help · Tab panel · Esc cancel · Ctrl+C│
└─────────────────────────────────────────────────────────────────────┘

Componentes

ZonaDescripcion
HeaderMuestra workspace activo, zona (LA/EU) y agente cargado
ChatLogMensajes de usuario, assistant y tool-calls con spinner / check
Panel AgenteVista lateral con la config del agente activo (JSON o preview)
InputCaja de texto con autocompletado de slash commands
FooterContador de tokens, hints de teclado y estado de streaming

Flujo de una interaccion

  1. Escribes un mensaje y presionas Enter.
  2. Studio muestra Tu > ... y comienza a streamear la respuesta.
  3. Si necesita ejecutar herramientas (listar agentes, actualizar prompt, etc.), aparecen tarjetas con spinner ▸ Consultando agentes….
  4. Cuando la herramienta termina, la tarjeta cambia a ✓ Consultados · 0.4s.
  5. El assistant continua streameando el texto final con markdown renderizado.
  6. El footer actualiza el contador de tokens al recibir el chunk usage.

Tipos de chunks que veras

ChunkUI
textTexto streameado del assistant (markdown renderizado)
tool_callTarjeta ▸ {herramienta}… con spinner
tool_resultTarjeta cambia a o con duracion
usageFooter actualiza tokens in/out
doneFooter pasa de streaming… a estado idle
errorMensaje rojo con icono y razon
Cuando una tool_result trae data.config (por ejemplo al cargar un agente con /load), el panel lateral se llena automaticamente con el JSON de la config.

Panel del agente

El panel lateral muestra la config del agente actualmente activo en la conversacion.
TabAtajoDescripcion
previewpVista renderizada amigable: nombre, prompt, herramientas, fallback
jsonjConfig completa en JSON con syntax highlight
diagnosedResultado de /diagnose con issues priorizadas
Toggle del panel con Tab. Util para sesiones largas en pantallas anchas.

Comandos de sesion

Dentro del REPL puedes usar slash commands para acciones rapidas:
> /help        # ayuda inline
> /agents      # lista mis agentes
> /load age_T  # cargar agente por id
> /diagnose    # diagnosticar el agente cargado
> /save        # persistir cambios pendientes
> /compact     # comprimir historial para sesiones largas
> /clear       # limpiar pantalla preservando contexto
> /reset       # reiniciar sesion completa
> /export      # exportar la conversacion a archivo
> /quit        # salir

Cancelar y salir

AccionAtajo
Cancelar respuesta en streamingEsc
Salir del REPLCtrl+C (dos veces) o /quit
Limpiar pantalla/clear o Ctrl+L
Cuando cancelas con Esc, el AbortController aborta el fetch SSE limpiamente, el mensaje queda truncado y puedes seguir escribiendo sin reiniciar.
Ctrl+C una sola vez no sale — confirma con un segundo Ctrl+C para evitar perder la sesion accidentalmente.