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, 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, …), administrados 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 con la memoria del agente mediante checkpoints de LangGraph. |
| Attachment | Un archivo adjunto a un mensaje: contenido sin procesar, contenido analizado y la referencia a la colección de embeddings que se usa para la recuperación. |
Un ejemplo de ajustes de agente persistidos (prompts y valores personalizados del agente de notas de voz), tomado de notebooks/08_test_agent_type-multiagent-voice-assistant.ipynb:

Dónde se almacenan los datos
Agent-Lab usa tres bases de datos PostgreSQL (además de Redis), aprovisionadas según la
guía de implementación y configuradas mediante db.url, db.vectors y
db.checkpoints (consulta la Referencia de configuración):
| Almacén | Contenido |
|---|---|
db.url |
Datos relacionales: agentes, ajustes, modelos, integraciones, mensajes, archivos 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 en 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 los modelos y el propio contenido de configuración) se administran con Vault. La base de datos almacena referencias; los valores sensibles se obtienen de Vault al iniciar y bajo demanda. Consulta Secretos con Vault y la Referencia de configuración.