Saltar al contenido
pando/ docs

Configuración de delegación y Mesnada

Claves del orquestador Mesnada y del tratamiento de las tareas delegadas, más las herramientas que usa el agente para delegar. Para la idea, lee Delegación de agentes; para el paso a paso, la guía Delega en subagentes con Mesnada.

Web UI: Configuración > Mesnada (servidor, orquestador, ACP) y Configuración > General > Delegación de subagentes.

Ajustes de Mesnada

Orquestador

[Mesnada]
Enabled = true

[Mesnada.Server]
Host = 'localhost'
Port = 5005

[Mesnada.Orchestrator]
StorePath        = './.pando/mesnada/tasks.json'
LogDir           = './.pando/mesnada/logs'
EnginesDir       = ''        # defaults to <dirname(LogDir)>/engines
MaxParallel      = 5         # tasks in flight at once; 0 = unlimited
MaxPerEngine     = 0         # per-engine cap; 0 = unlimited
ClaimTTL         = '2m'      # how long a dispatch reservation lasts
DispatchInterval = '10s'     # how often deferred tasks are started
DefaultEngine    = 'pando'
DefaultModel     = ''
PersonaPath      = ''
ClaveEtiqueta en la Web UIDescripción
MaxParallelMax parallel / Tareas en paralelo máximasLas tareas por encima del límite esperan y arrancan según quedan huecos
MaxPerEngineTareas máximas por motor (0 = sin límite)Evita que un solo motor ocupe todos los huecos
ClaimTTLTTL de la reserva de despachoUna reserva que caduca sin que la tarea arranque se recupera
DispatchIntervalIntervalo de despachoDuración en formato Go
DefaultEngineDefault enginepando, claude, copilot, openai, google, ollama o un motor personalizado
DefaultModelDefault modelSe usa cuando la tarea no nombra ninguno
PersonaPathPersona pathCarpeta con los ficheros de personas

Motores personalizados

Coloca ficheros *.template.yaml en EnginesDir. Cada plantilla indica el comando, los argumentos (con expresiones de plantillas de Go), el modo de prompt, el formato de salida y los modelos disponibles. Los motores personalizados aparecen de forma dinámica en la herramienta mesnada_spawn_agent.

Delegación

Ajustes de delegación de subagentes
[Mesnada.Delegation]
Enabled             = true
InjectIntoLiveLoop  = true
ResurrectIdleLoop   = true
SynthesizeFallback  = false
MaxResurrections    = 4
MaxDepth            = 3
MaxConcurrent       = 8
ResurrectionTimeout = '10m'
ClavePor defectoEtiqueta en la Web UIDescripción
EnabledfalseDelegación activadaCaptura las conclusiones de las tareas delegadas y vuelve a entrar en el bucle del agente padre
InjectIntoLiveLoopfalseInyectar en bucle activoEntrega una conclusión a un padre que sigue en marcha
ResurrectIdleLoopfalseReactivar bucle inactivoDespierta una sesión padre inactiva cuando termina una tarea relacionada
SynthesizeFallbackfalseSintetizar alternativaRedacta una conclusión cuando el subagente la omite
MaxResurrections4Máx. reactivacionesReactivaciones permitidas por sesión y cadena de turnos
MaxDepth3Profundidad máx.Niveles de subagentes de subagentes
MaxConcurrent8Máx. concurrentesTareas pendientes por padre, y sesiones enviadas a una misma instancia activa
ResurrectionTimeout10mTiempo de espera de reactivaciónCuánto se espera a las conclusiones hermanas que faltan

Instancias activas y otros proyectos

Ajustes de instancias activas, verificación de conclusiones y cortacircuitos
[Mesnada.Delegation]
ReuseWarmInstances       = true
AutoStartWarmInstance    = true
WarmInstanceIdleTimeout  = '10m'   # '0' or empty = never stop it
WarmQueueDepth           = 0       # 0 = start a separate process when the instance is full
AllowExternalWarmTargets = true    # caller side
AcceptDelegations        = true    # target side
ClaveEtiqueta en la Web UIDescripción
ReuseWarmInstancesReutilizar instancias activasEnvía una tarea delegada a la instancia ya abierta de su proyecto. Requiere Enabled
AutoStartWarmInstanceAuto-arrancar instancia activaArranca una instancia del proyecto si no hay ninguna (desactivado = solo reutilizar)
WarmInstanceIdleTimeoutTiempo de inactividad de instancia activa (0 = nunca)Detiene una instancia arrancada automáticamente tras este tiempo sin trabajo delegado
WarmQueueDepthProfundidad de cola activa (0 = arranque en frío al límite)Tareas que pueden esperar hueco en una instancia llena
AllowExternalWarmTargetsPermitir destinos externos activosEnvía una tarea a una instancia lanzada por un editor, por IPC. El destino debe aceptar delegaciones
AcceptDelegationsAceptar delegacionesPermite que esta instancia ejecute tareas enviadas por otras instancias

El parámetro project de mesnada_spawn_agent dirige la tarea a la instancia del proyecto correcto.

Redes de seguridad

Ajustes del registro de eventos durable y del despacho
ClavePor defectoEtiqueta en la Web UIDescripción
ConclusionGateDisabledfalseVerificación de conclusiones (activa)Rebaja un «success» a «partial» cuando los ficheros o referencias de memoria citados no existen
BreakerDisabledfalseCortacircuitos (activo)Se niega a relanzar una tarea que llegó al límite de fallos, falló por autenticación o está dentro de la espera por límite de cuota
MaxTaskRetries3Fallos consecutivos máximosCualquier éxito lo pone a cero
RateLimitCooldown5mEspera tras límite de cuotaEspera tras un fallo por límite de cuota
RecentSuccessWindow2mVentana de éxito recienteDentro de esta ventana se rechaza repetir una tarea que acaba de salir bien
EventLogDisabledfalseRegistro de eventos durable (activo)Cada resultado final se escribe en disco y se entrega incluso tras un reinicio
EventLogMaxEntries5000Máximo de eventos guardadosLos eventos más antiguos se compactan
BlackboardMaxEntriesPerSwarm200Tamaño máximo de las notas compartidas de un enjambre
BlackboardTTL168hLas notas compartidas de un enjambre terminado se borran pasado este tiempo

Herramientas que usa el agente

mesnada_spawn_agent lanza una tarea:

{
  "prompt": "Analyze the authentication module and write tests",
  "subagent_type": "general",
  "description": "Write auth tests",
  "background": true
}
ParámetroDescripción
promptLa instrucción de la tarea
subagent_typeexplore (solo lectura) o general (todas las capacidades)
backgroundtrue para seguir sin esperar, false para bloquear hasta que termine
projectApunta a un proyecto registrado por id, nombre o ruta
engineMotor de CLI: pando, copilot, claude, gemini, etc.
modelSustituye el modelo para esta tarea
dependenciesLista de ids de tareas que deben terminar antes
task_idRelanza una tarea existente en su sitio

Dependencias, pasando los registros de las tareas anteriores:

{
  "prompt": "Write tests based on the analysis",
  "dependencies": ["T1", "T2"],
  "include_dependency_logs": true,
  "dependency_log_lines": 100
}

Esperar sin bloquear (recomendado) usa mesnada_await; el agente padre se reanuda cuando llegan los resultados:

{
  "action": "wait",
  "actor_id": "explore-1"
}

Bloquear hasta que termine una tarea usa mesnada_wait_task:

{
  "task_id": "T1",
  "timeout": "10m"
}
HerramientaPara qué
mesnada_get_taskDetalles de una tarea
mesnada_list_tasksLista de tareas con filtros
mesnada_cancel_taskCancelar una tarea
mesnada_get_task_outputSalida estándar y de errores

Autoservicio del agente (pando_setup)

La herramienta integrada pando_setup no necesita configuración y siempre está disponible para el agente. Mira Autoservicio del agente.

ComandoPara qué
helpLista los comandos disponibles o el uso de uno concreto
configLee la configuración activa (solo lectura, la misma vista que los ajustes de la TUI y la Web UI)
providersLista las cuentas de proveedor con su tipo, credenciales y número de modelos
modelsRecorre los modelos disponibles con ventana de contexto, precio y capacidades
sessionConsulta el uso de tokens del último turno y el coste acumulado de la sesión
commandsLista los comandos slash disponibles
run <comando>Activa un comando slash en la sesión actual
pando_setup models --provider anthropic --detail --limit 5
pando_setup providers
pando_setup config                           # show all config
pando_setup config --search token            # search for token-related settings
pando_setup config TokenOptimization         # show a specific section
pando_setup run /caveman lite
pando_setup session

models usa el registro de modelos en vivo, enriquecido con models.dev: id canónico (por ejemplo copilot.gpt-5.4), ventana de contexto, precio por millón de tokens, capacidades y fecha de corte de conocimiento.

Comandos que el agente puede ejecutar con run:

  • Comandos de modo: /caveman, /caveman-finish, /ponytail, /ponytail-finish, /superpowers, /superpowers-finish, /learning, /learning-finish.
  • Comandos de instrucciones: /improve-agents-md, /vulnhunt, /vulnhunter-fix, /vulnhunt-fix-verify, y los comandos personalizados user: y project:.

Bloqueados, porque te necesitan a ti a los mandos: /goal*, /compact, /db-compact y todos los comandos de cierre -finish.

Seguridad: la configuración es estrictamente de solo lectura (no existe vía de escritura); los secretos se enmascaran por el sufijo de la clave (apikey, token, password, secret…) y solo se ven los 4 últimos caracteres; la descripción de la herramienta no pasa de 600 caracteres; la optimización de contexto no puede retirar la herramienta.