As aplicações Agent-Lab partilham um único modelo de domínio, definido em
agent_lab/domain/. O mesmo modelo suporta os esquemas da API REST, a camada de
persistência e o runtime dos agentes — basta aprendê-lo uma vez para saber o que cada
endpoint lê e escreve.

Entidades
| Entidade | O que modela |
|---|---|
| Agent | Uma instância de agente LLM — agent_name, agent_type (validado face ao registo), indicador de ativo e marcas temporais. Uma implementação, muitas instâncias configuradas. |
| AgentSettings | Configuração chave-valor de uma instância de agente: prompts (templates Jinja2), nomes de coleções, temperatura e valores personalizados. Até 16 000 caracteres por valor — é aqui que o comportamento do agente é afinado através de POST /agents/update_setting. |
| LanguageModel | Um modelo de linguagem disponível para os agentes, com a respetiva ligação ao fornecedor. |
| LanguageModelSettings | Parâmetros por modelo (temperatura, máximo de tokens, …), geridos através dos endpoints /llms. |
| Integration | Uma integração externa (por exemplo, um fornecedor de IA) e a respetiva configuração. Os segredos são guardados no Vault, nunca na base de dados. |
| Message | Um turno de conversa: papel (human / assistant / tool), conteúdo, response_data e ligações de thread (replies_to). Persistido com a memória do agente através de checkpoints do LangGraph. |
| Attachment | Um ficheiro anexado a uma mensagem: conteúdo em bruto, conteúdo processado e a referência à coleção de embeddings utilizada para a recuperação. |
Um exemplo de definições de agente persistidas — prompts e valores personalizados do agente de memorandos de voz — retirado de notebooks/08_test_agent_type-multiagent-voice-assistant.ipynb:

Onde residem os dados
O Agent-Lab utiliza três bases de dados PostgreSQL (mais Redis) — aprovisionadas
pelo guia de deployment e configuradas através de db.url, db.vectors e
db.checkpoints (consulte a Referência de configuração):
| Armazenamento | Conteúdo |
|---|---|
db.url |
Dados relacionais: agentes, definições, modelos, integrações, mensagens, anexos |
db.vectors |
Embeddings pgvector — pesquisa vetorial e recuperação (/attachments/embeddings) |
db.checkpoints |
Dados de checkpoints do LangGraph — memória do agente entre interações |
Redis (broker.url) |
Broker pub/sub para atualizações de estado de operações de longa duração; também armazena os clientes OAuth do MCP |
Segurança e gestão de segredos
Os segredos — credenciais de integrações, chaves de API dos modelos e o próprio payload de configuração — são geridos com o Vault. A base de dados guarda referências; os valores sensíveis são obtidos do Vault no arranque e a pedido. Consulte Segredos com Vault e a Referência de configuração.