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
Dan Orlando 3634d8691a
Feat/startup config api (#518)
* feat: add api for config

* feat: add data service to client

* feat: update client pages with values from config endpoint

* test: update tests

* Update configurations and documentation to remove VITE_SHOW_GOOGLE_LOGIN_OPTION and change VITE_APP_TITLE to APP_TITLE

* include APP_TITLE with startup config

* Add test for new route

* update backend-review pipeline

* comment out test until we can figure out testing routes in CI

* update: .env.example

---------

Co-authored-by: fuegovic <32828263+fuegovic@users.noreply.github.com>
2023-06-15 12:36:34 -04:00
.devcontainer fully dockerized development with VS-code devcontainers (#524) 2023-06-14 10:14:24 -04:00
.github Feat/startup config api (#518) 2023-06-15 12:36:34 -04:00
.husky test: frontend jest ci/cd & minor fixes post-release (#478) 2023-06-11 00:00:48 -04:00
api Feat/startup config api (#518) 2023-06-15 12:36:34 -04:00
client Feat/startup config api (#518) 2023-06-15 12:36:34 -04:00
config Feat/startup config api (#518) 2023-06-15 12:36:34 -04:00
docs Feat/startup config api (#518) 2023-06-15 12:36:34 -04:00
e2e test: frontend jest ci/cd & minor fixes post-release (#478) 2023-06-11 00:00:48 -04:00
images update readme 2023-03-07 14:51:41 -05:00
.dockerignore Update .dockerignore (#510) 2023-06-13 14:29:25 -04:00
.env.example Feat/startup config api (#518) 2023-06-15 12:36:34 -04:00
.eslintrc.js feat: Setup Unit Test Environment and Refactor Typescript Config (#365) 2023-05-22 20:49:48 -04:00
.gitignore test: frontend jest ci/cd & minor fixes post-release (#478) 2023-06-11 00:00:48 -04:00
.prettierrc.js Build/Refactor: lint pre-commit hook and reformat repo to spec (#314) 2023-05-18 14:09:31 -04:00
CODE_OF_CONDUCT.md docs: fix outdated references (#480) 2023-06-11 11:18:32 -04:00
CONTRIBUTING.md docs: fix outdated references (#480) 2023-06-11 11:18:32 -04:00
docker-compose.yml docs update (#508) 2023-06-13 14:27:57 -04:00
Dockerfile fix(docker): handle .env file to read frontend vars during build easily (#513) 2023-06-13 12:12:27 -04:00
index.html test: frontend jest ci/cd & minor fixes post-release (#478) 2023-06-11 00:00:48 -04:00
jest.config.js feat: Plugins endpoint - Reverse Engineering of official Plugins features (#197) 2023-06-10 19:10:03 -04:00
LICENSE.md docs: fix outdated references (#480) 2023-06-11 11:18:32 -04:00
lint-staged.config.js Build/Refactor: lint pre-commit hook and reformat repo to spec (#314) 2023-05-18 14:09:31 -04:00
package-lock.json Feat/startup config api (#518) 2023-06-15 12:36:34 -04:00
package.json fix(nodemon): will now follow nodemonConfig in package file (#514) 2023-06-13 14:31:45 -04:00
README.md Create HetznerUbuntuSetup.md (#492) 2023-06-13 14:36:13 -04:00
SECURITY.md docs: fix outdated references (#480) 2023-06-11 11:18:32 -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.

https://github.com/danny-avila/LibreChat/assets/110412045/c1eb0c0f-41f6-4335-b982-84b278b53d59

Features

  • Response streaming identical to ChatGPT through server-sent events
  • UI from original ChatGPT, including Dark mode
  • AI model selection (through 5 endpoints: OpenAI API, BingAI, ChatGPT Browser, PaLM2, 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 ⚠️

Note: These changes only apply to users who are updating from a previous version of the app.

  • We have simplified the configuration process by using a single .env file in the root folder instead of separate /api/.env and /client/.env files.
  • If you had installed a previous version, you can run npm run upgrade to automatically copy the content of both files to the new .env file and backup the old ones in the root dir.
  • If you are installing the project for the first time, it's recommend you run the installation script npm run install to guide your local setup (otherwise continue to use docker)
  • The docker-compose file had some change. Review the new docker instructions to make sure you are setup properly. This is still the simplest and most effective method.
  • The upgrade script requires both /api/.env and /client/.env files to run properly. If you get an error about a missing client env file, just rename the /client/.env.example file to /client/.env and run the script again.
  • We have renamed the OPENAI_KEY variable to OPENAI_API_KEY to match the official documentation. The upgrade script should do this automatically for you, but please double-check that your key is correct in the new .env file.
  • After running the upgrade script, the OPENAI_API_KEY variable might be placed in a different section in the new .env file than before. This does not affect the functionality of the app, but if you want to keep it organized, you can look for it near the bottom of the file and move it to its usual section.

  • For enhanced security, we are now asking for crypto keys for securely storing credentials in the .env file. Crypto keys are used to encrypt and decrypt sensitive data such as passwords and access keys. If you don't set them, the app will crash on startup.
  • You need to fill the following variables in the .env file with 32-byte (64 characters in hex) or 16-byte (32 characters in hex) values:
    • CREDS_KEY (32-byte)
    • CREDS_IV (16-byte)
    • JWT_SECRET (32-byte, optional but recommended)
  • You can use this replit to generate some crypto keys quickly: https://replit.com/@daavila/crypto#index.js
  • Make sure you keep your crypto keys safe and don't share them with anyone.

We apologize for any inconvenience caused by these changes. We hope you enjoy the new and improved version of our app!


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 @DavidDev1334, @mjtechguy, @Pharrcyde, @fuegovic & @SphaeroX


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