Abrir el REPL
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
| Flag | Tipo | Descripcion |
|---|
--dev | bool | Apunta al backend local http://localhost:5090 |
-a, --agent-id <id> | string | Pre-carga un agente al iniciar la sesion |
-w, --workspace-id <id> | string | Sobrescribe el workspace del config (modo soporte / white-label) |
-m, --message <text> | string | Envia un mensaje inicial automaticamente |
--no-color | bool | Desactiva 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"
# Soporte same-region: atender un workspace de un cliente en tu misma zona
plazbot 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.# Tu cuenta EU
plazbot init -e tu-cuenta-eu@plazbot.com -k <jwt-EU> -w wok_TU_EU -z EU
plazbot studio -w wok_CLIENTE_EU
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
| Zona | Descripcion |
|---|
| Header | Muestra workspace activo, zona (LA/EU) y agente cargado |
| ChatLog | Mensajes de usuario, assistant y tool-calls con spinner / check |
| Panel Agente | Vista lateral con la config del agente activo (JSON o preview) |
| Input | Caja de texto con autocompletado de slash commands |
| Footer | Contador de tokens, hints de teclado y estado de streaming |
Flujo de una interaccion
- Escribes un mensaje y presionas Enter.
- Studio muestra
Tu > ... y comienza a streamear la respuesta.
- Si necesita ejecutar herramientas (listar agentes, actualizar prompt, etc.), aparecen tarjetas con spinner
▸ Consultando agentes….
- Cuando la herramienta termina, la tarjeta cambia a
✓ Consultados · 0.4s.
- El assistant continua streameando el texto final con markdown renderizado.
- El footer actualiza el contador de tokens al recibir el chunk
usage.
Tipos de chunks que veras
| Chunk | UI |
|---|
text | Texto streameado del assistant (markdown renderizado) |
tool_call | Tarjeta ▸ {herramienta}… con spinner |
tool_result | Tarjeta cambia a ✓ o ✗ con duracion |
usage | Footer actualiza tokens in/out |
done | Footer pasa de streaming… a estado idle |
error | Mensaje 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.
| Tab | Atajo | Descripcion |
|---|
preview | p | Vista renderizada amigable: nombre, prompt, herramientas, fallback |
json | j | Config completa en JSON con syntax highlight |
diagnose | d | Resultado 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
| Accion | Atajo |
|---|
| Cancelar respuesta en streaming | Esc |
| Salir del REPL | Ctrl+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.