Las aplicaciones Agent-Lab comparten un único modelo de dominio, definido en agent_lab/domain/. El
mismo modelo impulsa los esquemas de la API REST, la capa de persistencia y el entorno de ejecución de los agentes:
apréndelo una vez y sabrás qué lee y escribe cada endpoint.

Entidades
| Entidad | Qué modela |
|---|---|
| Agent | Una instancia de agente LLM: agent_name, agent_type (validado contra el registro), indicador de activo y marcas de tiempo. Una implementación, muchas instancias configuradas. |
| AgentSettings | Configuración clave-valor de una instancia de agente: prompts (plantillas Jinja2), nombres de colecciones, temperatura y valores personalizados. Hasta 16.000 caracteres por valor; aquí es donde se ajusta el comportamiento del agente mediante POST /agents/update_setting. |
| LanguageModel | Un modelo de lenguaje disponible para los agentes, con su conexión al proveedor. |
| LanguageModelSettings | Parámetros por modelo (temperatura, máximo de tokens, …), gestionados mediante los endpoints /llms. |
| Integration | Una integración externa (p. ej., un proveedor de IA) y su configuración. Los secretos se almacenan en Vault, nunca en la base de datos. |
| Message | Un turno de conversación: rol (human / assistant / tool), contenido, response_data y vínculos del hilo (replies_to). Se persiste junto con la memoria del agente mediante checkpoints de LangGraph. |
| Attachment | Un archivo adjunto a un mensaje: contenido en bruto, contenido analizado y la referencia a la colección de embeddings que se usa para la recuperación. |
Un ejemplo de configuración de agente persistida (prompts y valores personalizados del agente de notas de voz), tomado de notebooks/08_test_agent_type-multiagent-voice-assistant.ipynb:

Dónde residen los datos
Agent-Lab utiliza tres bases de datos PostgreSQL (además de Redis), aprovisionadas según la
guía de despliegue y configuradas mediante db.url, db.vectors y
db.checkpoints (consulta la Referencia de configuración):
| Almacén | Contenido |
|---|---|
db.url |
Datos relacionales: agentes, configuraciones, modelos, integraciones, mensajes y adjuntos |
db.vectors |
Embeddings de pgvector: búsqueda vectorial y recuperación (/attachments/embeddings) |
db.checkpoints |
Datos de checkpoints de LangGraph: memoria del agente entre interacciones |
Redis (broker.url) |
Broker pub/sub para actualizaciones de estado de operaciones de larga duración; también almacena los clientes OAuth de MCP |
Seguridad y gestión de secretos
Los secretos (credenciales de integraciones, claves de API de modelos y la propia carga de configuración) se gestionan con Vault. La base de datos almacena referencias; los valores sensibles se obtienen de Vault al arrancar y bajo demanda. Consulta Secretos con Vault y la Referencia de configuración.