Local web app for onboarding free-tier LLM providers, saving API keys, and chatting through an automatic multi-provider fallback router.
Languages: English | Francais | Espanol
LLM Chatbot is a local web application that helps you create free-tier accounts with LLM providers, store their API keys, and chat with a model selected automatically by the router.
This project is based on the open-source FreeLLMAPI repository. It reuses its multi-provider router, encrypted API-key storage, health checks, and fallback chain. This version focuses on a simpler workflow: everything is done from the web interface.
The interface is localized in English, French, and Spanish. Use the EN / FR / ES selector in the header, or open a page with ?lang=en, ?lang=fr, or ?lang=es.
- Open the app.
- Go to
Onboarding. - Create one or more free-tier provider accounts from the suggested links.
- Generate an API key and paste it into the interface.
- Run the key check.
- Open
Chatbotand start chatting.
One valid key is enough to test the chatbot. Adding several providers lets the router switch automatically when a model is unavailable, rate-limited, or failing.
The onboarding screen includes account and API-key links for:
- Google AI Studio / Gemini
- Groq
- Cerebras
- SambaNova
- NVIDIA NIM
- Mistral
- OpenRouter
- GitHub Models
- Cohere
- Cloudflare Workers AI
- Z.ai / Zhipu
- Ollama Cloud
- Kilo Gateway
- Pollinations
- LLM7
For Google Gemini, the API-key page is:
https://aistudio.google.com/api-keys
Requirements: Node.js 20+ and npm.
npm.cmd install
npm.cmd run devThen open:
http://localhost:5173/onboarding
On Windows, npm.cmd avoids PowerShell execution-policy issues with npm.ps1.
The server needs an encryption key to store provider API keys.
If .env does not exist yet, create it:
ENCRYPTION_KEY=replace-with-a-64-character-hex-key
PORT=3001Generate a key with:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"Onboarding is the guided setup flow: open provider signup pages, paste API keys, handle Cloudflare account id + token, enable anonymous providers with anonymous, check keys, then move to the chatbot.
Chatbot sends messages to the local router. The router picks the best available model based on configured keys, known limits, and fallback order.
You do not need to manually call an API, use curl, use an OpenAI SDK, or configure tool calling. Those technical capabilities remain in the FreeLLMAPI-based engine, but this project is meant to be used through the web interface.
Agent turns the running app into a local coding-agent server for the current workspace. It can search files, read selected files as context, and ask the configured LLM router for coding help. It also exposes guarded local endpoints that a Visual Studio or VS Code extension can consume later:
GET /api/agent/statusGET /api/agent/files?q=...POST /api/agent/readPOST /api/agent/chatPOST /api/agent/replace
The replacement endpoint is intentionally conservative: it only edits text files inside the workspace, blocks sensitive paths such as .env, skips generated/vendor directories, and requires exactly one text match.
extensions/vscode contains a first VS Code extension that consumes these local endpoints. It adds a ChatGPT-like chat panel inside VS Code, plus commands to check server status, ask the agent, explain a code selection, review the current file, and open the web Agent page.
Build it with:
npm.cmd run build -w llm-chatbot-agentPackage it as a .vsix with:
npm.cmd run package -w llm-chatbot-agentFallback lets you edit the model priority order. When a request fails or a provider is rate-limited, the router tries the next model.
Keys lets you directly manage provider keys: add, remove, verify, and inspect status.
Analytics shows local activity: request volume, latency, errors, and provider distribution.
| Onboarding | Chatbot |
|---|---|
![]() |
![]() |
| Agent | Keys | Fallback | Analytics |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
npm.cmd run build
node server/dist/index.jsIn production, the Express server serves both the local API and the compiled client.
- Provider keys are encrypted in SQLite with AES-256-GCM.
- This project is intended for personal or experimental use.
- Do not expose the app to the Internet without adding real authentication.
- Free tiers change often: quotas, available models, terms, and limits may evolve.
- If a key becomes invalid or rate-limited, health checks and fallback help continue with another configured provider.
Technical base: tashfeenahmed/freellmapi
This version adapts the project for an interface-first workflow:
- guided free-tier account onboarding;
- guided API-key entry;
- directly usable chatbot;
- no visible FreeLLMAPI branding in the interface.
MIT, same as the original project.
LLM Chatbot est une application web locale pour creer des comptes free tier chez des fournisseurs LLM, enregistrer leurs cles API, puis discuter avec un modele choisi automatiquement par le routeur.
Ce projet s'appuie sur le depot open source FreeLLMAPI. Il en reutilise le routeur multi-fournisseurs, le stockage chiffre des cles API, les controles de sante et la chaine de fallback. Cette version vise un parcours plus simple : tout se fait depuis l'interface web.
L'interface est localisee en anglais, francais et espagnol. Utilisez le selecteur EN / FR / ES dans l'en-tete, ou ouvrez une page avec ?lang=en, ?lang=fr ou ?lang=es.
- Ouvrir l'application.
- Aller sur
Onboarding. - Creer un compte free tier chez un ou plusieurs fournisseurs depuis les liens proposes.
- Generer une cle API, puis la coller dans l'interface.
- Lancer la verification des cles.
- Ouvrir
Chatbotet discuter.
Une seule cle suffit pour tester le chatbot. Ajouter plusieurs fournisseurs permet au routeur de basculer automatiquement si un modele est indisponible, rate limite, ou en erreur.
L'ecran d'embarquement inclut des liens de creation de compte et de generation de cle pour :
- Google AI Studio / Gemini
- Groq
- Cerebras
- SambaNova
- NVIDIA NIM
- Mistral
- OpenRouter
- GitHub Models
- Cohere
- Cloudflare Workers AI
- Z.ai / Zhipu
- Ollama Cloud
- Kilo Gateway
- Pollinations
- LLM7
Pour Google Gemini, le lien de creation de cle pointe vers :
https://aistudio.google.com/api-keys
Prerequis : Node.js 20+ et npm.
npm.cmd install
npm.cmd run devPuis ouvrir :
http://localhost:5173/onboarding
Sur Windows, npm.cmd evite les blocages PowerShell lies a npm.ps1.
Le serveur a besoin d'une cle de chiffrement pour stocker les cles API fournisseurs.
Si le fichier .env n'existe pas encore, creer :
ENCRYPTION_KEY=remplacer-par-une-cle-hex-64-caracteres
PORT=3001Pour generer une cle :
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"Onboarding sert de procedure guidee : ouvrir les pages de compte, coller les cles API, gerer Cloudflare avec account id + token, activer les fournisseurs anonymes avec anonymous, verifier les cles, puis passer au chatbot.
Chatbot envoie les messages au routeur local. Le routeur choisit le meilleur modele disponible selon les cles configurees, les limites connues et la chaine de fallback.
L'utilisateur n'a pas besoin d'appeler une API manuellement, d'utiliser curl, un SDK OpenAI, ou de manipuler du tool calling. Ces capacites restent dans le moteur technique herite de FreeLLMAPI, mais ce projet s'utilise depuis l'interface web.
Agent transforme l'application lancee en serveur agentique local pour le workspace courant. Il peut chercher des fichiers, lire les fichiers selectionnes comme contexte, puis interroger le routeur LLM configure pour aider au code. Il expose aussi des endpoints locaux qu'une extension Visual Studio ou VS Code pourra consommer ensuite :
GET /api/agent/statusGET /api/agent/files?q=...POST /api/agent/readPOST /api/agent/chatPOST /api/agent/replace
L'endpoint de remplacement est volontairement prudent : il n'edite que des fichiers texte dans le workspace, bloque les chemins sensibles comme .env, ignore les dossiers generes/vendor, et exige une seule correspondance exacte.
extensions/vscode contient une premiere extension VS Code qui consomme ces endpoints locaux. Elle ajoute un panneau de chat type ChatGPT directement dans VS Code, ainsi que des commandes pour verifier le serveur, interroger l'agent, expliquer une selection de code, relire le fichier courant et ouvrir la page web Agent.
Pour la compiler :
npm.cmd run build -w llm-chatbot-agentPour generer un paquet .vsix :
npm.cmd run package -w llm-chatbot-agentFallback permet de modifier l'ordre de priorite des modeles. Quand une requete echoue ou qu'un fournisseur est rate limite, le routeur essaye le modele suivant.
Keys permet d'administrer directement les cles : ajouter, supprimer, verifier et consulter l'etat.
Analytics affiche l'activite locale : volumes de requetes, latence, erreurs et repartition par fournisseur.
| Embarquement | Chatbot |
|---|---|
![]() |
![]() |
| Agent | Cles | Fallback | Analytics |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
npm.cmd run build
node server/dist/index.jsEn production, le serveur Express sert l'API locale et le client compile.
- Les cles fournisseurs sont chiffrees en SQLite avec AES-256-GCM.
- Le projet est pense pour un usage personnel ou experimental.
- Ne pas exposer l'application sur Internet sans ajouter une vraie couche d'authentification.
- Les free tiers changent souvent : quotas, modeles disponibles, conditions et limites peuvent evoluer.
- Si une cle devient invalide ou rate limitee, la verification de sante et le fallback aident a continuer avec un autre fournisseur configure.
Base technique : tashfeenahmed/freellmapi
Cette version adapte le projet pour un parcours oriente interface :
- procedure d'embarquement pour creer les comptes free tier ;
- saisie guidee des cles API ;
- chatbot directement utilisable ;
- suppression du branding visible FreeLLMAPI dans l'interface.
MIT, comme le projet d'origine.
LLM Chatbot es una aplicacion web local para crear cuentas free tier con proveedores LLM, guardar sus claves API y conversar con un modelo elegido automaticamente por el router.
Este proyecto se basa en el repositorio open source FreeLLMAPI. Reutiliza su router multi-proveedor, el almacenamiento cifrado de claves API, los chequeos de salud y la cadena de fallback. Esta version se centra en un flujo mas simple: todo se hace desde la interfaz web.
La interfaz esta localizada en ingles, frances y espanol. Usa el selector EN / FR / ES del encabezado, o abre una pagina con ?lang=en, ?lang=fr o ?lang=es.
- Abrir la aplicacion.
- Ir a
Onboarding. - Crear una o varias cuentas free tier desde los enlaces propuestos.
- Generar una clave API y pegarla en la interfaz.
- Ejecutar la verificacion de claves.
- Abrir
Chatboty empezar a conversar.
Una sola clave valida basta para probar el chatbot. Agregar varios proveedores permite que el router cambie automaticamente si un modelo no esta disponible, esta limitado por cuota, o falla.
La pantalla de onboarding incluye enlaces para crear cuenta y generar clave API en:
- Google AI Studio / Gemini
- Groq
- Cerebras
- SambaNova
- NVIDIA NIM
- Mistral
- OpenRouter
- GitHub Models
- Cohere
- Cloudflare Workers AI
- Z.ai / Zhipu
- Ollama Cloud
- Kilo Gateway
- Pollinations
- LLM7
Para Google Gemini, la pagina de claves API es:
https://aistudio.google.com/api-keys
Requisitos: Node.js 20+ y npm.
npm.cmd install
npm.cmd run devLuego abrir:
http://localhost:5173/onboarding
En Windows, npm.cmd evita problemas de politicas de ejecucion de PowerShell con npm.ps1.
El servidor necesita una clave de cifrado para almacenar las claves API de los proveedores.
Si el archivo .env todavia no existe, crearlo:
ENCRYPTION_KEY=reemplazar-por-una-clave-hex-de-64-caracteres
PORT=3001Para generar una clave:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"Onboarding es el flujo guiado: abrir paginas de registro, pegar claves API, manejar Cloudflare con account id + token, activar proveedores anonimos con anonymous, verificar claves y pasar al chatbot.
Chatbot envia los mensajes al router local. El router elige el mejor modelo disponible segun las claves configuradas, los limites conocidos y el orden de fallback.
El usuario no necesita llamar una API manualmente, usar curl, usar un SDK de OpenAI ni configurar tool calling. Esas capacidades tecnicas siguen existiendo en el motor basado en FreeLLMAPI, pero este proyecto esta pensado para usarse desde la interfaz web.
Agente convierte la app en ejecucion en un servidor agentico local para el workspace actual. Puede buscar archivos, leer archivos seleccionados como contexto y consultar el router LLM configurado para ayudar con codigo. Tambien expone endpoints locales que una extension de Visual Studio o VS Code podra consumir despues:
GET /api/agent/statusGET /api/agent/files?q=...POST /api/agent/readPOST /api/agent/chatPOST /api/agent/replace
El endpoint de reemplazo es deliberadamente prudente: solo edita archivos de texto dentro del workspace, bloquea rutas sensibles como .env, ignora carpetas generadas/vendor y exige una unica coincidencia exacta.
extensions/vscode contiene una primera extension de VS Code que consume estos endpoints locales. Agrega un panel de chat tipo ChatGPT dentro de VS Code, ademas de comandos para verificar el servidor, preguntar al agente, explicar una seleccion de codigo, revisar el archivo actual y abrir la pagina web Agent.
Para compilarla:
npm.cmd run build -w llm-chatbot-agentPara generar un paquete .vsix:
npm.cmd run package -w llm-chatbot-agentFallback permite modificar el orden de prioridad de los modelos. Cuando una peticion falla o un proveedor esta limitado por cuota, el router intenta con el siguiente modelo.
Keys permite administrar directamente las claves: agregar, eliminar, verificar y consultar su estado.
Analytics muestra la actividad local: volumen de peticiones, latencia, errores y distribucion por proveedor.
| Onboarding | Chatbot |
|---|---|
![]() |
![]() |
| Agente | Claves | Fallback | Analitica |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
npm.cmd run build
node server/dist/index.jsEn produccion, el servidor Express sirve la API local y el cliente compilado.
- Las claves de proveedores se cifran en SQLite con AES-256-GCM.
- El proyecto esta pensado para uso personal o experimental.
- No expongas la aplicacion en Internet sin agregar una autenticacion real.
- Los free tiers cambian a menudo: cuotas, modelos disponibles, condiciones y limites pueden evolucionar.
- Si una clave se vuelve invalida o queda limitada, los chequeos de salud y el fallback ayudan a continuar con otro proveedor configurado.
Base tecnica: tashfeenahmed/freellmapi
Esta version adapta el proyecto a un flujo centrado en la interfaz:
- onboarding guiado para crear cuentas free tier;
- entrada guiada de claves API;
- chatbot listo para usar;
- sin branding visible FreeLLMAPI en la interfaz.
MIT, igual que el proyecto original.





