n8n-legal-config
Scannednpx machina-cli add skill fbmoulin/lex-intelligentia-skills/n8n-legal-config --openclawn8n Legal Config - Configuração de Nodes para Workflows Jurídicos
AI Agent Node - Orquestrador Central
O AI Agent é o hub de orquestração que conecta LLM, memória e ferramentas.
Conexões obrigatórias:
ai_languageModel: OpenAI Chat ou Anthropic Chatai_tool: Mínimo uma ferramenta
Conexões recomendadas para jurídico:
ai_memory: Buffer Window Memory (10-15 mensagens para manter contexto processual)ai_outputParser: Structured Output Parser para JSON de decisões
Parâmetros críticos:
{
"systemMessage": "Você é um assistente jurídico especializado em [área]. Analise usando metodologia FIRAC+...",
"maxIterations": 10,
"returnIntermediateSteps": true
}
Nota: Sub-nodes resolvem expressões apenas para o primeiro item. Use Loop Over Items para múltiplos documentos.
Configuração de Modelos LLM
Anthropic Chat (Claude) - Preferencial para análise jurídica
{
"model": "claude-sonnet-4-5-20250929",
"options": {
"temperature": 0.1,
"maxTokensToSample": 8192,
"topK": 40,
"topP": 0.95
}
}
Parâmetros jurídicos:
- Temperature 0.0-0.2: Análises técnicas, citações legais
- Temperature 0.3-0.5: Pareceres, fundamentações
- TopK 20-40: Respostas mais determinísticas
OpenAI Chat - Análises complementares
{
"model": "gpt-4o",
"options": {
"temperature": 0.2,
"maxTokens": 4096,
"frequencyPenalty": 0.3,
"presencePenalty": 0.1
}
}
Responses API (toggle no node): Habilita Web Search para jurisprudência atualizada.
Vector Store Nodes - RAG Jurídico
Supabase Vector Store (recomendado para Lex Intelligentia)
Configuração de conexão:
Host: db.xxx.supabase.co
Port: 6543 (transaction pooler - crítico para performance)
Database: postgres
Schema: public
Match Function: match_documents
Modos de operação:
Insert Documents: Inserir jurisprudência, legislaçãoRetrieve Documents (as Tool for Agent): Pesquisa semântica pelo agenteGet Many: Recuperação direta com limit
Metadata Filter para jurisprudência:
{
"tribunal": "STJ",
"area": "direito_civil",
"ano": { "$gte": 2020 }
}
Qdrant - Alta performance
{
"url": "https://xxx.qdrant.io",
"collectionName": "jurisprudencia_stj",
"collectionConfig": {
"vectors": {
"size": 1536,
"distance": "Cosine"
}
}
}
HTTP Request Node - Integração com APIs Jurídicas
Configuração robusta:
{
"method": "POST",
"url": "https://api.tribunal.jus.br/v1/consulta",
"authentication": "headerAuth",
"options": {
"timeout": 60000,
"retry": {
"maxTries": 5,
"waitBetweenTries": 3000
}
}
}
Error Handling:
Continue (Using Error Output): Roteia para tratamento de erros- Conecte a branch de erro para logging/notificação
Backoff exponencial (além de 5 retries):
// No Code node antes do HTTP Request
const attempt = $('Loop').context['currentRunIndex'] || 0;
const delay = Math.min(2000 * Math.pow(2, attempt), 30000);
return [{ json: { delay } }];
Code Node - Processamento de Documentos Jurídicos
Variáveis úteis:
$json // Documento atual
$input.all() // Todos os documentos
$('AI Agent').first().json // Resposta do agente
$execution.id // ID para logging
Template para extração de dados processuais:
const documento = $json.texto;
// Extração de número do processo
const numeroProcesso = documento.match(/\d{7}-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}/)?.[0];
// Extração de partes
const partes = {
autor: documento.match(/(?:Autor|Requerente|Exequente):\s*([^\n]+)/i)?.[1]?.trim(),
reu: documento.match(/(?:Réu|Requerido|Executado):\s*([^\n]+)/i)?.[1]?.trim()
};
return [{
json: {
numeroProcesso,
partes,
textoOriginal: documento
}
}];
HTTP Request interno:
const response = await this.helpers.httpRequest({
method: 'GET',
url: `https://api.stj.jus.br/processo/${$json.numero}`,
headers: { 'Authorization': `Bearer ${$json.token}` }
});
return [{ json: response }];
Webhook Node - Recebimento de Petições/Documentos
Configuração de produção:
{
"httpMethod": "POST",
"path": "receber-peticao",
"authentication": "headerAuth",
"responseMode": "responseNode",
"options": {
"rawBody": true,
"binaryData": true
}
}
Timeout n8n Cloud: 100 segundos - Use polling para processos longos.
Memory e State Management
Buffer Window Memory
{
"sessionIdType": "customKey",
"sessionKey": "={{ $json.processo_id }}",
"contextWindowLength": 15
}
Workflow Static Data (persistência entre execuções)
const staticData = $getWorkflowStaticData('global');
// Salvar último processamento
staticData.ultimoProcessamento = {
timestamp: new Date().toISOString(),
processoId: $json.processo_id
};
// Recuperar
const ultimo = staticData.ultimoProcessamento;
Limitação: Funciona apenas em produção, não em testes manuais.
Referências
- Configurações avançadas de Text Splitters: Ver references/chunking-juridico.md
- Templates de System Prompts jurídicos: Ver references/prompts-juridicos.md
Source
git clone https://github.com/fbmoulin/lex-intelligentia-skills/blob/main/skills/automacao/n8n-legal-config/SKILL.mdView on GitHub Overview
Este skill fornece uma configuração especializada de nodes n8n Cloud para automação jurídica com IA. Inclui AI Agent Node, LangChain, OpenAI, Anthropic, vetores (Pinecone, Supabase, Qdrant) e integrações HTTP, Code, Webhook e PostgreSQL para processamento de documentos legais, FIRAC, pesquisa jurisprudencial e RAG com legislação brasileira.
How This Skill Works
O AI Agent atua como hub de orquestração conectando LLM, memória e ferramentas. Usa modelos Claude ou OpenAI com parâmetros otimizados e um Memory Buffer para manter o contexto; o AI Agent envia saídas estruturadas via output parser. Vetores de armazenamento alimentam o RAG e as integrações HTTP/Code viabilizam automação jurídica completa.
When to Use It
- Quando você precisa automatizar a análise jurídica de documentos com FIRAC e geração de pareceres
- Para realizar pesquisa jurisprudencial atualizada via RAG com legislação brasileira
- Ao configurar AI Agent nodes com LangChain, OpenAI/Claude e várias ferramentas como HTTP Request, Webhook ou PostgreSQL
- Para indexar legislação e jurisprudência em vetores com Supabase ou Qdrant e realizar buscas semânticas
- Quando é necessário uma automação jurídica completa em n8n Cloud com roteamento de erros e logging
Quick Start
- Step 1: Configurar o AI Agent Node conectando ai_languageModel (Claude/OpenAI), ai_tool e ai_memory
- Step 2: Configurar Vector Stores livresvia Supabase ou Qdrant com as opções de busca semântica e metadata
- Step 3: Integrar com HTTP Request Node e Code Node para processamento de documentos e integração com APIs jurídicas
Best Practices
- Defina claramente ai_languageModel e ai_tool no AI Agent
- Configure ai_memory com Buffer Window Memory entre 10 e 15 mensagens
- Use ai_outputParser para extrair decisões em JSON estruturado
- Ajuste parâmetros de modelo como temperature e topK conforme a tarefa jurídica
- Habilite e configure Vector Stores com metadata filters para buscas segmentadas
Example Use Cases
- Automação de revisão de contratos com FIRAC e geração de parecer técnico automatizado
- Consulta de precedentes STJ via RAG com filtros de metadata como tribunal, area e ano
- Indexação de legislação brasileira no Supabase Vector Store para buscas semânticas rápidas
- Pesquisa de jurisprudência de alto desempenho com Qdrant para answers em tempo real
- Orquestração de fluxo entre Claude/OpenAI e ferramentas para compliance jurídico automatizado