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
| Flag | Tipo | Descripcion |
|---|
<message> | string | Mensaje positional requerido |
--dev | bool | Apunta al backend local localhost:5090 |
-a, --agent-id <id> | string | Pre-carga un agente antes de ejecutar |
-w, --workspace-id <id> | string | Sobrescribe el workspace del config |
--json | bool | Imprime 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
| Codigo | Caso |
|---|
0 | Exito, respuesta completa recibida |
1 | Error de credenciales o argumentos invalidos |
2 | Error HTTP (401, 403, 429, 5xx) — detalle en stderr |
3 | Error 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.