npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@marvynsoares/n8n-nodes-litellm

v0.1.0

Published

n8n community nodes para LiteLLM (proxy compatível com a API da OpenAI): Chat Model, Embeddings e node de ação (chat/moderations).

Readme

n8n-nodes-litellm

Community nodes do n8n para o LiteLLM — um proxy compatível com a API da OpenAI. Três nodes, todos usando a mesma credencial (LiteLLM API):

  • LiteLLM Chat Model — sub-node LangChain (saída ai_languageModel), conecta em Basic LLM Chain / Summarization Chain / AI Agent*, igual ao "OpenAI Chat Model" nativo.
  • LiteLLM Embeddings — sub-node LangChain (saída ai_embedding), conecta em nodes de Vector Store (Simple Vector Store, Pinecone, etc).
  • LiteLLM — node de ação normal (entrada/saída main), usa direto num fluxo comum sem precisar de Chain/Agent. Suporta Chat (mandar mensagens e receber o texto de resposta) e Moderation (checar texto contra políticas de conteúdo via /v1/moderations).

Nenhum modelo específico está "hardcoded" — funciona com qualquer modelo que o seu LiteLLM tenha configurado (Azure OpenAI, Anthropic, Google Gemini, Bedrock, etc.), já que o LiteLLM normaliza tudo pro formato da API da OpenAI antes de responder. O nome do provedor (ChatOpenAI/OpenAIEmbeddings) se refere só ao protocolo de comunicação usado, não a uma restrição de qual modelo real você pode chamar.

*Alguns node types de "Chat Model" de terceiros (fora do pacote oficial @n8n/n8n-nodes-langchain) podem não aparecer na lista de conexões aceitas pelo node AI Agent dependendo da versão do n8n — isso é uma limitação conhecida do próprio n8n (não desse pacote). Com Basic LLM Chain e Summarization Chain funciona sem esse problema. Teste no seu n8n 2.1.4 antes de depender disso em produção.

O que ele resolve

Testar credenciais diferentes (OpenAI direto vs. LiteLLM) sem reconfigurar o node nativo, e não depender de peculiaridades do credential openAiApi nativo (campo Base URL, testes de conexão que esperam GET /models, etc.) — esse node conversa com o LiteLLM usando o SDK oficial @langchain/openai apontado para a Base URL do seu proxy.

Requisitos

  • Node.js 18+ e npm/pnpm para compilar o pacote.
  • Acesso ao servidor onde o n8n roda (para instalar o pacote compilado).
  • n8n 1.x ou 2.x com suporte a community nodes (esse pacote foi desenvolvido e testado tendo como alvo n8n 2.1.4 / n8n-workflow ^2.16.0, mas o peerDependency é aberto — deve funcionar em versões 1.x recentes também).

Build

cd n8n-litellm-connector
npm install
npm run build

Isso gera a pasta dist/ com o JS compilado e o ícone .svg copiado para o lugar certo.

Instalação no n8n

Escolha UMA das opções abaixo, dependendo de como seu n8n está hospedado.

Opção A — Instalar via UI do n8n (mais simples, exige publicar no npm)

  1. Publique o pacote no npm (npm publish, precisa de conta npm) — ou publique em um registry privado, se sua empresa tiver um.
  2. No n8n: Settings → Community Nodes → Install a community node → digite n8n-nodes-litellm → Install.
  3. Reinicie o n8n se ele não recarregar os nodes automaticamente.

Opção B — Instalar manualmente sem publicar no npm (self-hosted)

  1. Depois do npm run build, gere um tarball local:
    npm pack
    Isso cria um arquivo n8n-nodes-litellm-0.1.0.tgz.
  2. Copie esse .tgz para o servidor onde o n8n roda.
  3. Na pasta de extensões customizadas do n8n (normalmente ~/.n8n/nodes, ou o caminho definido em N8N_CUSTOM_EXTENSIONS), rode:
    mkdir -p ~/.n8n/nodes
    cd ~/.n8n/nodes
    npm install /caminho/para/n8n-nodes-litellm-0.1.0.tgz
  4. Reinicie o serviço do n8n.

Opção C — Docker

Se o n8n roda em container, monte o pacote (a pasta dist + package.json) como volume dentro de /home/node/.n8n/nodes/node_modules/n8n-nodes-litellm/ (ou o caminho de custom extensions configurado), e reinicie o container.

Configuração

  1. Depois de instalado, crie uma credencial nova do tipo LiteLLM API:
    • Base URL: a URL do seu proxy LiteLLM, com /v1 no final (ex: https://seu-litellm.exemplo.com/v1).
    • API Key: a virtual key gerada pelo LiteLLM (sk-...).
  2. Use qualquer um dos três nodes:
    • LiteLLM Chat Model: conecte a um Basic LLM Chain (ou outro node com entrada ai_languageModel). Campo Model = alias configurado no LiteLLM (ex: gpt-5-mini).
    • LiteLLM Embeddings: conecte a um node de Vector Store (entrada ai_embedding). Campo Model = alias do modelo de embeddings (ex: text-embedding-3-small).
    • LiteLLM (ação normal): escolha o Resource (Chat ou Moderation) e preencha os campos — funciona como qualquer node comum, sem precisar de Chain/Agent.
  3. Rode o workflow.

Estrutura do projeto

n8n-litellm-connector/
├── package.json
├── tsconfig.json
├── scripts/
│   └── copy-assets.js       # copia os .svg pra dist/ no build
└── src/
    ├── index.ts
    ├── credentials/
    │   └── LiteLlmApi.credentials.ts
    └── nodes/
        ├── LmChatLiteLlm/
        │   ├── LmChatLiteLlm.node.ts
        │   └── liteLlm.svg
        ├── LmEmbeddingsLiteLlm/
        │   ├── LmEmbeddingsLiteLlm.node.ts
        │   └── liteLlm.svg
        └── LiteLlm/
            ├── LiteLlm.node.ts
            └── liteLlm.svg

Observação importante

Esse conector resolve a camada n8n ↔ LiteLLM. Se o LiteLLM retornar erro ao chamar o provedor por trás dele (ex: Azure OpenAI com api_version desatualizada), o erro vai aparecer da mesma forma — esse pacote não contorna problemas de configuração do próprio LiteLLM ou do provedor de origem.