node-red-contrib-ai-flow-assistant
v0.1.0
Published
Node-RED sidebar assistant that plans, installs required nodes, updates flows, and deploys them.
Maintainers
Readme
node-red-contrib-ai-flow-assistant
Plugin para Node-RED que adiciona uma nova aba lateral no editor com:
- um campo para descrever a alteracao desejada
- selecao de provedor LLM
- selecao de modelo
- cadastro persistente de API keys por provedor
- historico de iteracoes
- execucao estruturada em uma unica chamada
- instalacao automatica de nodes necessarios
- substituicao do fluxo completo e deploy
Provedores suportados
- OpenAI
- Google Gemini
- Anthropic Claude
- AWS Bedrock (
sa-east-1|modelIdeus-east-1|modelId)
Como funciona
- O usuario cadastra as API keys na propria aba
AI. - O usuario escolhe o provedor e o modelo.
- O editor busca o fluxo atual (
GET /flows) e os nodes instalados (GET /nodes). - O backend envia esses dados ao provedor selecionado em uma unica chamada estruturada.
- A resposta traz as etapas, os pacotes a instalar e o fluxo completo final.
- Se houver uma etapa
install_modules, o editor instala os pacotes viaPOST /nodes. - Se a instalacao falhar com
404 Module not found, o plugin registra o modulo rejeitado, volta ao LLM, pede outro modulo valido e recalcula a execucao. - Na etapa
apply_flow, a execucao pode retornar o fluxo completo ou um fragmento auto-contido para merge seguro. - O editor valida referencias, faz merge quando necessario e executa o deploy localmente, sem nova chamada ao LLM.
Onde as chaves ficam
As chaves dos provedores ficam persistidas no userDir do Node-RED em:
.ai-flow-assistant-config.jsonInstalacao local
No diretorio do usuario do Node-RED, instale este pacote apontando para esta pasta:
npm install /caminho/para/node-red-contrib-ai-flow-assistantDepois reinicie o Node-RED.
Permissoes esperadas
O usuario autenticado no editor precisa conseguir:
- ler flows
- escrever flows
- ler nodes
- instalar nodes
Observacoes
- O plugin trabalha sobre o fluxo ativo completo.
- A instalacao de nodes usa a Admin API do Node-RED, entao depende de
externalModules.palette.allowInstall. - O historico da UI fica em
localStoragedo navegador. - OpenAI usa a API
Responsescom JSON Schema. - Gemini usa
generateContentcom structured output viaresponseSchema. - Anthropic usa a API
Messagescomtoolspara retorno estruturado. - AWS Bedrock usa a API
ConversecomtoolConfig,regioneAuthorization: Bearer <api-key>. - Os modelos Bedrock aparecem no combo no formato
regiao|modelId. - Em
us-east-1, o combo inclui tambemopenai.gpt-oss-20b-1:0eopenai.gpt-oss-120b-1:0. - O fallback de instalacao tenta ate 3 rodadas e impede que o LLM repita modulos que ja falharam com
Module not found. - O backend instrui os modelos a responderem campos descritivos em portugues do Brasil para facilitar o entendimento do workflow.
- O
apply_flowusa o fluxo retornado na unica execucao e nao faz uma segunda chamada ao provedor. - Cada iteracao exibe um trace com timestamps na UI para mostrar coleta de contexto, planejamento, instalacao de nodes e deploy.
- O deploy valida referencias e bloqueia aplicacao de fluxo vazio, nodes sem
typevalido ou fragmentos com referencias quebradas. - Se o assistente nao retornar o fluxo completo, o plugin refaz o pedido com uma instrucao mais estrita antes de falhar.
- Em
apply_flow, o assistente deve confirmar se realmente existe mudanca de fluxo; quando nao houver, pode responder apenas com instrucoes ao usuario emnotes. - Em
install_modules, o assistente deve confirmar se realmente precisa instalar modulos; quando nao precisar, pode responder apenas com instrucoes ao usuario emnotes. - O LLM nao recebe mais o historico de conversas anteriores; recebe apenas o contexto atual da execucao.
