Skip to main content

Para que sirve

El subcomando plazbot studio ask envia un solo mensaje a Studio, imprime la respuesta a stdout y sale con codigo 0. No abre el TUI, no consume teclas, no requiere terminal interactivo. Ideal para:
  • Scripts de bash que automatizan tareas con IA
  • CI/CD pipelines que validan configuraciones de agentes
  • Cron jobs que generan reportes (/diagnose programado)
  • Integraciones con otras herramientas via stdout/stderr
plazbot studio ask "<mensaje>"

Flags

FlagTipoDescripcion
<message>stringMensaje positional requerido
--devboolApunta al backend local localhost:5090
-a, --agent-id <id>stringPre-carga un agente antes de ejecutar
-w, --workspace-id <id>stringSobrescribe el workspace del config
--jsonboolImprime NDJSON crudo (un chunk por linea) en vez de texto formateado

Ejemplos

Pregunta simple

plazbot studio ask "cuantos agentes tengo activos en este workspace"
Salida:
Tienes 4 agentes activos:

- Catalogo WA (WhatsApp) — actualizado hace 2 dias
- Soporte L1 (Webchat) — actualizado hace 5 horas
- Reservas (WhatsApp + Telegram)
- Demo Bot (Webchat)

Diagnosticar un agente desde un script

plazbot studio ask "diagnostica este agente" -a age_TZiOY...

Modo NDJSON para parseo

plazbot studio ask "lista mis agentes" --json > out.ndjson
Cada linea de out.ndjson es un chunk crudo del SSE:
{"type":"tool_call","tool_name":"list_agents","tool_id":"call_01"}
{"type":"tool_result","tool_name":"list_agents","success":true,"data":{"agents":[...]}}
{"type":"text","content":"Tienes "}
{"type":"text","content":"4 agentes activos."}
{"type":"usage","input_tokens":1247,"output_tokens":89}
{"type":"done"}
Util para integrar con jq, parsers custom o pipelines.

Combinar con jq

plazbot studio ask "lista mis agentes" --json \
  | jq -r 'select(.type=="tool_result" and .tool_name=="list_agents") | .data.agents[].name'
Imprime solo los nombres de agentes:
Catalogo WA
Soporte L1
Reservas
Demo Bot

Codigos de salida

CodigoCaso
0Exito, respuesta completa recibida
1Error de credenciales o argumentos invalidos
2Error HTTP (401, 403, 429, 5xx) — detalle en stderr
3Error de red o timeout
plazbot studio ask "..." || echo "fallo con codigo $?"

Uso en CI/CD

GitHub Actions

- name: Diagnose production agent
  env:
    PLAZBOT_API_KEY: ${{ secrets.PLAZBOT_API_KEY }}
    PLAZBOT_WORKSPACE: ${{ secrets.PLAZBOT_WORKSPACE }}
  run: |
    npm install -g plazbot-cli
    plazbot init -e ci@plazbot.com -k $PLAZBOT_API_KEY -w $PLAZBOT_WORKSPACE -z LA
    plazbot studio ask "diagnostica el agente prod" -a age_PROD123 --json > diagnose.ndjson
    cat diagnose.ndjson | jq 'select(.type=="tool_result") | .data.issues'
En CI usa siempre --json para parsear de forma estable. El formato texto puede cambiar entre versiones, el formato NDJSON es estable.
ask no mantiene historial entre llamadas. Cada invocacion es independiente. Si necesitas contexto persistente, usa el modo REPL o pasa todo el contexto necesario en el mensaje.