Este documento describe cómo probar la implementación de slash commands para Quick Commands.
Los tests de parsing ya pasaron exitosamente:
cd /home/pablo/source/agente-admin
python3 -c "from agent.slash_commands import parse_slash_command; ..."Ver output completo en el historial de comandos.
- AgentOS debe estar corriendo en
http://localhost:7777 - La base de datos debe estar inicializada con
alert_storage.init_db()
./test_slash_commands.shEste script probará:
- ✅
/novedades hoyvía POST /api/quick/command - ✅
/saludvía POST /api/quick/command - ✅
/qc(help) vía POST /api/quick/command - ✅ GET /api/quick/help incluye aliases
- ✅ Manejo de comandos inválidos
-
Levantar el stack completo:
docker compose up -d # O localmente: uvicorn main:app --host 0.0.0.0 --port 7777 cd agent-ui && npm run dev
-
Abrir http://localhost:3002
-
Probar los siguientes comandos en el chat:
/novedades hoy /salud /inc hours=8 severity=critical /health services=auth-service /tendencias 48h /digest ayer /qc -
Verificar que:
- ✅ El comando se ejecuta sin pasar por streaming del agente
- ✅ El reporte se muestra instantáneamente en formato markdown
- ✅ Los errores se muestran claramente
- ✅
/qcmuestra la ayuda con todos los aliases
-
Comando con params faltantes:
/deployDebería: Hacer fallback a QueryAgent que pedirá los params
-
Comando con texto libre:
/novedades de auth-service de las últimas 8 horas con severidad críticaDebería: Parsear key=value pero también pasar texto a QueryAgent
-
No es slash command:
dame las novedades de hoyDebería: Flujo normal, enviarse al agente/team seleccionado
-
Slash command inválido:
/invalidDebería: Error "Comando inválido"
- ✅ Test 1-8 pasaron correctamente
- ✅ Aliases se resuelven a comandos canónicos
- ✅ Parámetros key=value se parsean
- ✅ Atajos "hoy", "ayer", "8h" funcionan
- ✅ Fallback a QueryAgent cuando faltan params
- ✅ POST /api/quick/command funciona
- ✅ GET /api/quick/help incluye aliases
- ✅ Errores devuelven HTTP 400/500 apropiados
- Pendiente de prueba manual (requiere UI corriendo)
- El interceptor está implementado en
useAIStreamHandler - El parsing de frontend usa
slashCommands.ts
- ✅ Implementación completa
- ✅ Tests unitarios pasando
- ⏳ Tests de integración (requiere servidor corriendo)
- ⏳ Tests UI (requiere UI + backend corriendo)
- ⏳ Verificar en producción/staging
- Los slash commands son completamente opcionales
- El usuario puede seguir usando lenguaje natural sin
/ - Los comandos se ejecutan sin streaming para respuesta instantánea
- El modo híbrido decide automáticamente REST vs QueryAgent