Receba novidades do Hedhog no seu e-mail
Novos lançamentos, receitas e breaking changes — sem spam.

Submódulo Core
ai
Fornece fluxos de chat com IA e endpoints para o ciclo de vida de agentes de IA.
Caminho de origem: libraries/core/src/ai
Arquivo do módulo: ai.module.ts
Introdução
O submódulo AI fornece um gateway unificado para interagir com large language models de múltiplos provedores. Em vez de acoplar sua aplicação a um único fornecedor de IA, o HedHog abstrai as APIs específicas de cada provedor por trás de uma interface comum, tornando simples alternar entre os modelos GPT da OpenAI e o Google Gemini sem alterar o código da aplicação. Provedores e modelos são resolvidos a partir de Integration Profiles ou de variáveis de ambiente, com as sobrescritas em nível de agente tendo precedência sobre os padrões globais.
O submódulo oferece dois modos de interação. O chat direto envia uma mensagem única ao provedor padrão e retorna uma única resposta. Os AI Agents são entidades nomeadas e configuradas de forma persistente, armazenadas no banco de dados — cada agente carrega seu próprio provedor, modelo, system prompt (instruções) e identificador slug. Isso permite que equipes de produto definam assistentes com propósitos específicos — um agente de análise de dados, um bot de suporte ao cliente, um pipeline de geração de conteúdo — que permanecem consistentes entre implantações sem embutir configuração no código do cliente.
Tanto o endpoint de chat direto quanto o de chat com agente aceitam um parâmetro opcional file_id. Quando fornecido, a API recupera o arquivo do submódulo File e inclui seu conteúdo como contexto na requisição ao LLM, viabilizando fluxos de sumarização de documentos, revisão de código e extração de conteúdo sem construir um pipeline de ingestão separado.
Todas as operações de IA também são expostas como ferramentas MCP (core.ai.*), o que significa que qualquer assistente de IA compatível com MCP — Claude Desktop, Cursor, um agente personalizado — pode gerenciar agentes e enviar mensagens pela mesma superfície controlada por permissões usada pelos chamadores HTTP.
Endpoints HTTP
8 endpoints
Envia uma mensagem para a IA padrão e recebe uma resposta.
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| message | string | yes | — |
| provider | "openai" | "gemini" | no | — |
| model | string | no | — |
| systemPrompt | string | no | — |
| file_id | number | no | ID of an uploaded file |
Lista todos os agentes de IA configurados com paginação.
- Query
- page, pageSize, search
Obtém um agente de IA pelo seu ID numérico.
- Params
- agentId (int)
Obtém um agente de IA pelo seu identificador slug.
- Params
- slug (string)
Cria um novo agente de IA.
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | — |
| provider | "openai" | "gemini" | no | — |
| model | string | no | — |
| instructions | string | no | System prompt / instructions |
Atualiza um agente de IA existente.
- Params
- agentId (int)
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| slug | string | no | — |
| provider | "openai" | "gemini" | no | — |
| model | string | no | — |
| instructions | string | no | — |
Exclui um ou mais agentes de IA.
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| ids | number[] | yes | IDs to delete |
Envia uma mensagem para um agente de IA específico e recebe uma resposta.
- Params
- slug (string)
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| message | string | yes | — |
| file_id | number | no | ID of an uploaded file |
Ferramentas MCP
Ferramentas nomeadas que podem ser chamadas por modelos de IA através do Model Context Protocol (MCP).
core.ai.chatEnvia uma mensagem ao provedor de IA padrão e recebe uma resposta
core.ai.agents.listLista todos os agentes de IA configurados com paginação
core.ai.agents.getObtém um agente de IA pelo seu ID numérico
core.ai.agents.get-by-slugObtém um agente de IA pelo seu identificador slug
core.ai.agents.createCria um novo agente de IA com slug, provedor, modelo e instruções
core.ai.agents.updateAtualiza a configuração de um agente de IA existente
core.ai.agents.deleteExclui um ou mais agentes de IA
core.ai.agents.chatEnvia uma mensagem para um agente de IA específico e recebe uma resposta