Producto
CLI

Modo REPL

Sesion interactiva tipo Claude Code con streaming, panel JSON y slash commands

Abrir el REPL

bash
01plazbot 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 (modo soporte / white-label)
-m, --message <text>stringEnvia un mensaje inicial automaticamente
--no-colorboolDesactiva colores ANSI (util en CI o logs)

Ejemplos

bash
01# REPL contra produccion (zona del config)
02plazbot studio
03 
04# REPL apuntando a un agente especifico
05plazbot studio -a age_TZiOY...
06 
07# REPL contra backend local de desarrollo
08plazbot studio --dev
09 
10# REPL con mensaje inicial automatico
11plazbot studio -m "lista mis agentes"
12 
13# Soporte same-region: atender un workspace de un cliente en tu misma zona
14plazbot studio -w wok_CLIENTE

El flag -w permite operar sobre otro workspace de tu misma zona con tu propio usuario (modo soporte). Todas las acciones quedan auditadas como tuyas.

Para atender clientes de otra region (ej. tu cuenta es LA y necesitas un workspace EU), debes hacer plazbot init con una cuenta de esa zona. El JWT esta firmado por la region que lo emite y no es valido cross-region.

bash
01# Tu cuenta EU
02plazbot init -e tu-cuenta-eu@plazbot.com -k <jwt-EU> -w wok_TU_EU -z EU
03plazbot studio -w wok_CLIENTE_EU

Layout del TUI

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

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:

text
01> /help # ayuda inline
02> /agents # lista mis agentes
03> /load age_T # cargar agente por id
04> /diagnose # diagnosticar el agente cargado
05> /save # persistir cambios pendientes
06> /compact # comprimir historial para sesiones largas
07> /clear # limpiar pantalla preservando contexto
08> /reset # reiniciar sesion completa
09> /export # exportar la conversacion a archivo
10> /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.

¿Quieres probar la API en vivo? Abre el Playground.