Referencia de configuración de YAML
Sinaptic® DROID+ utiliza dos tipos de archivos de configuración YAML:
- Configuración principal (
droid.yaml): ajustes globales del servidor, LLM, seguridad y registro (logging). - Configuraciones de agentes (
configs/agents/*.yaml): modelo, personalidad, herramientas y comportamiento por agente.
Todos los valores de configuración admiten la sustitución de ${VAR_ENTORNO}: Sinaptic® DROID+ resuelve las variables de entorno al iniciarse.
Configuración principal (droid.yaml)
edition (edición)
| Valor | Descripción |
|---|---|
community | Edición gratuita, máx. 2 agentes, seguridad solo RegExp (por defecto) |
pro | Agentes ilimitados, cascada completa de SinapticAI |
enterprise | Multi-tenancy, cumplimiento, HA (Alta Disponibilidad) |
server (servidor)
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
openai_port | int | 8080 | Puerto para la API compatible con OpenAI |
management_port | int | 8081 | Puerto para la API de gestión |
cors_origins | []string | ["*"] | Orígenes de CORS permitidos |
api_key | string | — | Clave API para autenticación (admite ${VAR_ENTORNO}) |
demo_mode | bool | false | Habilitar el modo demo |
llm
Configuración del proveedor de LLM principal.
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
provider | string | openai | Nombre del proveedor de LLM (openai, anthropic, gemini, grok, ollama, lm_studio, llama_cpp) |
base_url | string | https://api.openai.com/v1 | URL base de la API |
api_key | string | ${OPENAI_API_KEY} | Clave API (admite ${VAR_ENTORNO}) |
default_model | string | gpt-4o-mini | Nombre del modelo por defecto |
anthropic
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
base_url | string | https://api.anthropic.com | URL base de la API de Anthropic |
api_key | string | ${ANTHROPIC_API_KEY} | Clave API |
gemini
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
base_url | string | https://generativelanguage.googleapis.com/v1beta | URL base de la API de Gemini |
api_key | string | ${GEMINI_API_KEY} | Clave API |
grok
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
base_url | string | https://api.x.ai/v1 | URL base de la API de Grok (xAI) |
api_key | string | ${GROK_API_KEY} | Clave API |
ollama
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
base_url | string | http://localhost:11434/v1 | URL base de la API de Ollama |
lm_studio
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
base_url | string | http://localhost:1234/v1 | URL base de la API de LM Studio |
llama_cpp
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
base_url | string | http://localhost:8080/v1 | URL base del servidor llama.cpp |
embedding (incrustaciones)
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
model | string | text-embedding-3-small | Nombre del modelo de embedding |
base_url | string | (usa llm.base_url) | URL base de la API de embedding |
api_key | string | (usa llm.api_key) | Clave API de embedding |
sinaptic
Configuración de la capa de seguridad de SinapticAI.
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
enabled | bool | true | Habilitar el escaneo de seguridad de SinapticAI |
mode | string | block | Acción ante la detección de amenazas: block (bloquear) o log (solo registrar) |
log_blocked | bool | true | Registrar solicitudes bloqueadas |
sinaptic.pii
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
enabled | bool | true | Habilitar la detección de PII (datos personales) |
strategy | string | mask | Estrategia para PII: mask (enmascarar) o block (bloquear) |
mcp
Configuración del servidor de herramientas de Model Context Protocol (MCP).
mcp:
servers:
my-server:
command: "npx"
args: ["-y", "@my-org/mcp-server"]
env:
API_KEY: "${MY_API_KEY}"
| Campo | Tipo | Descripción |
|---|---|---|
servers | map | Definiciones de servidores MCP con nombre |
Por servidor:
| Campo | Tipo | Descripción |
|---|---|---|
command | string | Comando para lanzar el servidor MCP |
args | []string | Argumentos del comando |
env | map[string]string | Variables de entorno para el proceso del servidor |
logging (registro)
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
level | string | info | Nivel de registro (debug, info, warn, error) |
format | string | json | Formato de registro (json o text) |
audit (auditoría)
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
enabled | bool | false | Habilitar el registro de auditoría |
log_path | string | ./logs/audit | Ruta para los archivos de registro de auditoría |
retention_days | int | 30 | Días para retener los registros de auditoría |
branding (marca)
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
show_badge | bool | (auto) | Mostrar el distintivo "Powered by Sinaptic® DROID+". Auto: true para community, false para pro/enterprise |
Rutas de nivel superior
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
data_dir | string | ./data | Directorio para datos de ejecución (embeddings, estado) |
agents_dir | string | ./configs/agents | Directorio que contiene las configuraciones YAML de los agentes |
Configuración del agente (configs/agents/*.yaml)
Campos de nivel superior
| Campo | Tipo | Requerido | Por defecto | Descripción |
|---|---|---|---|---|
name | string | sí | (nombre del archivo) | Identificador único del agente |
description | string | no | — | Descripción legible para humanos |
model | objeto | sí | — | Configuración del modelo de LLM |
personality | string | sí | — | Prompt del sistema para el agente |
agent_type | string | no | plain | Bucle de procesamiento: plain o react |
execution_mode | string | no | sequential | Ejecución de herramientas: sequential o parallel |
chain_of_thought | bool | no | false | Habilitar el razonamiento paso a paso (chain-of-thought) |
max_iterations | int | no | 10 | Iteraciones máximas del bucle ReAct |
tool_timeout | string | no | 30s | Tiempo de espera por defecto para llamadas a herramientas |
model
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
name | string | — | Nombre del modelo (p. ej., gpt-4o, claude-sonnet-4-20250514) |
base_url | string | (de la conf. ppal) | Sobrescribir la URL base de la API de LLM |
api_key | string | (de la conf. ppal) | Sobrescribir la clave API |
max_tokens | int | 1024 | Máximo de tokens de respuesta |
temperature | float | 0.7 | Temperatura de muestreo (0-2) |
memory.short_term (memoria a corto plazo)
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
max_messages | int | 50 | Tamaño de la ventana deslizante del historial de conversación |
rag
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
enabled | bool | false | Habilitar la generación aumentada por recuperación |
top_k | int | 3 | Número de fragmentos a recuperar |
min_score | float | 0.7 | Umbral mínimo de puntuación de similitud |
herramientas (tools)
Array de configuraciones de herramientas.
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
name | string | sí | Identificador de la herramienta |
description | string | no | Descripción de la herramienta (se muestra al LLM) |
type | string | sí | Tipo de herramienta: mcp, rest_api |
url | string | rest_api | URL del endpoint |
method | string | rest_api | Método HTTP (GET, POST, PUT, DELETE) |
headers | map | rest_api | Encabezados HTTP |
timeout | string | rest_api | Tiempo de espera de la solicitud (p. ej., 10s) |
pipeline (flujo)
Pasos de un flujo multi-LLM (opcional). Cuando se define, la solicitud pasa por cada paso de forma secuencial.
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
name | string | sí | Identificador del paso |
model | objeto | sí | Configuración del modelo para este paso |
personality | string | sí | Prompt del sistema para este paso |
spawns (instancias hijas)
Configuración de llamadas de agente a agente (A2A).
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
max_spawns | int | 5 | Máx. de llamadas a sub-agentes por solicitud (0 = ilimitado) |
max_tokens_per_spawn | int | 4096 | Presupuesto de tokens por llamada hija |
max_depth | int | 3 | Profundidad máxima de recursión |
allowed_agents | []string | [] (todos) | Lista blanca de agentes que pueden ser invocados |
spawn_timeout_secs | int | 60 | Tiempo de espera por llamada hija en segundos |
rate_limit (límite de tasa)
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
requests_per_minute | int | 0 (ilimitado) | Máximo de solicitudes por minuto |
sinaptic
Sobrescritura de SinapticAI por agente.
| Campo | Tipo | Por defecto | Descripción |
|---|---|---|---|
enabled | bool | (hereda global) | Sobrescribir el interruptor global de SinapticAI |
Ejemplo completo
droid.yaml
edition: community
server:
openai_port: 8080
management_port: 8081
cors_origins: ["*"]
llm:
provider: openai
base_url: https://api.openai.com/v1
api_key: ${OPENAI_API_KEY}
default_model: gpt-4o-mini
anthropic:
api_key: ${ANTHROPIC_API_KEY}
embedding:
model: text-embedding-3-small
sinaptic:
enabled: true
mode: block
pii:
enabled: true
strategy: mask
log_blocked: true
logging:
level: info
format: json
audit:
enabled: false
log_path: ./logs/audit
retention_days: 30
data_dir: ./data
agents_dir: ./configs/agents
configs/agents/support-bot.yaml
name: support-bot
description: Agente de soporte al cliente con RAG y herramientas
model:
name: gpt-4o
max_tokens: 2048
temperature: 0.5
personality: |
Eres un agente de soporte al cliente servicial.
Sé siempre amable, conciso y preciso.
agent_type: react
execution_mode: parallel
chain_of_thought: true
max_iterations: 5
tool_timeout: 15s
memory:
short_term:
max_messages: 100
rag:
enabled: true
top_k: 5
min_score: 0.6
tools:
- name: lookup-order
type: rest_api
description: Buscar el estado del pedido por ID
url: https://api.example.com/orders/${order_id}
method: GET
headers:
Authorization: "Bearer ${INTERNAL_API_KEY}"
timeout: 10s
rate_limit:
requests_per_minute: 60
spawns:
max_spawns: 3
max_depth: 2
allowed_agents: ["billing-agent", "shipping-agent"]