Enhanced ChatGPT Clone: Features Agents, MCP, DeepSeek, Anthropic, AWS, OpenAI, Responses API, Azure, Groq, o1, GPT-5, Mistral, OpenRouter, Vertex AI, Gemini, Artifacts, AI model switching, message search, Code Interpreter, langchain, DALL-E-3, OpenAPI Actions, Functions, Secure Multi-User Auth, Presets, open-source for self-hosting. Active. https://librechat.ai/
Find a file
Danny Avila fd70e21732
feat: OpenRouter Support & Improve Model Fetching ⇆ (#936)
* chore(ChatGPTClient.js): add support for OpenRouter API
chore(OpenAIClient.js): add support for OpenRouter API

* chore: comment out token debugging

* chore: add back streamResult assignment

* chore: remove double condition/assignment from merging

* refactor(routes/endpoints): -> controller/services logic

* feat: add openrouter model fetching

* chore: remove unused endpointsConfig in cleanupPreset function

* refactor: separate models concern from endpointsConfig

* refactor(data-provider): add TModels type and make TEndpointsConfig adaptible to new endpoint keys

* refactor: complete models endpoint service in data-provider

* refactor: onMutate for refreshToken and login, invalidate models query

* feat: complete models endpoint logic for frontend

* chore: remove requireJwtAuth from /api/endpoints and /api/models as not implemented yet

* fix: endpoint will not be overwritten and instead use active value

* feat: openrouter support for plugins

* chore(EndpointOptionsDialog): remove unused recoil value

* refactor(schemas/parseConvo): add handling of secondaryModels to use first of defined secondary models, which includes last selected one as first, or default to the convo's secondary model value

* refactor: remove hooks from store and move to hooks
refactor(switchToConversation): make switchToConversation use latest recoil state, which is necessary to get the most up-to-date models list, replace wrapper function
refactor(getDefaultConversation): factor out logic into 3 pieces to reduce complexity.

* fix: backend tests

* feat: optimistic update by calling newConvo when models are fetched

* feat: openrouter support for titling convos

* feat: cache models fetch

* chore: add missing dep to AuthContext useEffect

* chore: fix useTimeout types

* chore: delete old getDefaultConvo file

* chore: remove newConvo logic from Root, remove console log from api models caching

* chore: ensure bun is used for building in b:client script

* fix: default endpoint will not default to null on a completely fresh login (no localStorage/cookies)

* chore: add openrouter docs to free_ai_apis.md and .env.example

* chore: remove openrouter console logs

* feat: add debugging env variable for Plugins
2023-09-18 12:55:51 -04:00
.devcontainer fix: devcontainer image and networking (#891) 2023-09-07 07:19:03 -04:00
.github feat: Message Rate Limiters, Violation Logging, & Ban System 🔨 (#903) 2023-09-13 10:57:07 -04:00
.husky chore: move files out of root to declutter 2023-09-06 14:00:36 -04:00
api feat: OpenRouter Support & Improve Model Fetching ⇆ (#936) 2023-09-18 12:55:51 -04:00
client feat: OpenRouter Support & Improve Model Fetching ⇆ (#936) 2023-09-18 12:55:51 -04:00
config chore: Remove Unused Dependencies 🧹 (#939) 2023-09-14 15:12:22 -04:00
docs feat: OpenRouter Support & Improve Model Fetching ⇆ (#936) 2023-09-18 12:55:51 -04:00
e2e feat: Refresh Token for improved Session Security (#927) 2023-09-11 13:10:46 -04:00
packages/data-provider feat: OpenRouter Support & Improve Model Fetching ⇆ (#936) 2023-09-18 12:55:51 -04:00
pyserver feat: Add Code Interpreter Plugin (#837) 2023-08-28 09:13:50 -04:00
.dockerignore chore: Update docker, Minor Styling fix (#528) 2023-06-17 11:38:48 -04:00
.env.example feat: OpenRouter Support & Improve Model Fetching ⇆ (#936) 2023-09-18 12:55:51 -04:00
.eslintrc.js refactor(client): Refactors recent typescript changes for best practices (#763) 2023-08-05 16:45:26 -04:00
.gitignore feat: Message Rate Limiters, Violation Logging, & Ban System 🔨 (#903) 2023-09-13 10:57:07 -04:00
bun.lockb chore: Remove Unused Dependencies 🧹 (#939) 2023-09-14 15:12:22 -04:00
deploy-compose.yml chore(docker-compose.yml): comment out meilisearch ports in docker-compose.yml (#807) 2023-08-14 10:23:00 -04:00
docker-compose.yml chore(docker-compose.yml): comment out meilisearch ports in docker-compose.yml (#807) 2023-08-14 10:23:00 -04:00
Dockerfile Add podman installation instructions. Update dockerfile to stub env (#819) 2023-08-24 20:20:37 -04:00
Dockerfile.multi chore(Dockerfile.multi): add data-provider package build and copy step 2023-07-30 11:50:24 -04:00
index.html Update index.html to replace ChatGPT Clone with LibreChat (#724) 2023-07-28 19:14:58 -04:00
mkdocs.yml feat: Message Rate Limiters, Violation Logging, & Ban System 🔨 (#903) 2023-09-13 10:57:07 -04:00
package-lock.json fix: Match OpenAI Token Counting Strategy 🪙 (#945) 2023-09-14 19:40:21 -04:00
package.json feat: OpenRouter Support & Improve Model Fetching ⇆ (#936) 2023-09-18 12:55:51 -04:00
prettier.config.js refactor: Settings/Presets UI Restructure, convert many files to TS (#740) 2023-08-04 13:56:44 -04:00
README.md feat: Message Rate Limiters, Violation Logging, & Ban System 🔨 (#903) 2023-09-13 10:57:07 -04:00

LibreChat

All-In-One AI Conversations with LibreChat

LibreChat brings together the future of assistant AIs with the revolutionary technology of OpenAI's ChatGPT. Celebrating the original styling, LibreChat gives you the ability to integrate multiple AI models. It also integrates and enhances original client features such as conversation and message search, prompt templates and plugins.

With LibreChat, you no longer need to opt for ChatGPT Plus and can instead use free or pay-per-call APIs. We welcome contributions, cloning, and forking to enhance the capabilities of this advanced chatbot platform.

Watch the video Click on the thumbnail to open the video☝️

Features

  • Response streaming identical to ChatGPT through server-sent events
  • UI from original ChatGPT, including Dark mode
  • AI model selection: OpenAI API, BingAI, ChatGPT Browser, PaLM2, Anthropic (Claude), Plugins
  • Create, Save, & Share custom presets - More info on prompt presets here
  • Edit and Resubmit messages with conversation branching
  • Search all messages/conversations - More info here
  • Plugins now available (including web access, image generation and more)

⚠️ Breaking Changes ⚠️

Please read this before updating from a previous version


Changelog

Keep up with the latest updates by visiting the releases page - Releases


Table of Contents

Getting Started
General Information
Features
Cloud Deployment
Contributions

Star History

Star History Chart


Sponsors

Sponsored by @mjtechguy, @SphaeroX, @DavidDev1334, @fuegovic, @Pharrcyde


Contributors

Contributions and suggestions bug reports and fixes are welcome! Please read the documentation before you do!


For new features, components, or extensions, please open an issue and discuss before sending a PR.

This project exists in its current state thanks to all the people who contribute