/lobe-chat

๐Ÿค– Lobe Chat - an open-source, extensible (Function Calling), high-performance chatbot framework. It supports one-click free deployment of your private ChatGPT/LLM web application.

Primary LanguageTypeScriptMIT LicenseMIT

Lobe Chat

LobeChat is a open-source, extensible (Function Calling), high-performance chatbot framework.
It supports one-click free deployment of your private ChatGPT/LLM web application.

English ยท ็ฎ€ไฝ“ไธญๆ–‡ ยท Changelog ยท Wiki ยท Report Bug ยท Request Feature


Deploy with Vercel

Table of contents

TOC


๐Ÿ‘‹๐Ÿป Getting Started & Join Our Community

Please be aware that LobeChat is currently under active development๏ผŒfeedback is welcome for any issues encountered.

No installation or registration necessary! Visit our website to experience it firsthand.
Join our Discord community! This is where you can connect with developers and other enthusiastic users of LobeHub.

Important
Star Us๏ผŒYou will receive all releases notifications from GitHub without any delay ~ โญ๏ธ

Star History

โœจ Features

  • ๐Ÿ’จ Quick Deployment: Using the Vercel platform, you can deploy with just one click and complete the process within 1 minute, without any complex configuration;
  • ๐Ÿ’Ž Exquisite UI Design: With a carefully designed interface, it offers an elegant appearance and smooth interaction. It supports light and dark themes and is mobile-friendly. PWA support provides a more native-like experience;
  • ๐Ÿ—ฃ๏ธ Smooth Conversation Experience: Fluid responses ensure a smooth conversation experience. It fully supports Markdown rendering, including code highlighting, LaTex formulas, Mermaid flowcharts, and more;
  • ๐Ÿงฉ Plugin Support & Custom Plugin Development: Conversations are extendable with plugins. Users can install and use various plugins, such as search engines, web extraction, etc. It also supports the development of custom plugins to meet custom needs;
  • ๐Ÿ”’ Privacy Protection: All data is stored locally in the user's browser, ensuring user privacy;
  • ๐Ÿค– Customizable Agent Roles: Users can create, share, and debug personalized dialogue agent roles according to their needs, providing more flexible and personalized dialogue functions;
  • ๐ŸŒ Custom Domain: If users have their own domain, they can bind it to the platform for quick access to the dialogue agent from anywhere.
  • ๐Ÿฌ Role Market: A Role Market is provided where users can select their preferred dialogue agent roles, enriching the content and style of the dialogue;

Note
You can find our upcoming Roadmap plans in the Projects section.

๐Ÿ“ธ Snapshot

1 Function Calling Plugin System

By building a powerful plugin ecosystem, ChatGPT not only can provide real-time news updates, but it can also assist you in easily querying documents and accessing various e-commerce data. This allows ChatGPT to play a key role in a wider range of fields. If you are interested in writing plugins, we provide detailed component development documentation, SDKs, and template files in the ๐Ÿงฉ Plugin System section below. Let's work together to make ChatGPT more powerful and easier to use.


2 Prompt Agent Market

In our agent market, we have accumulated a large number of practical prompt agents that have been used in daily work and study. You can also share your agents here and iterate and optimize your prompt agents with more people. You can submit your agents through ๐Ÿค–/๐Ÿช Submit Agents, and our automated i18n workflow will automatically translate your agents into multiple languages, allowing users around the world to enjoy your wisdom.


3 Progress Web App

Utilize the Progressive Web Application (PWA) technology to achieve a seamless LobeChat experience on your computer or mobile device.

Note
If you are unfamiliar with the installation process of PWA, you can add LobeChat as your desktop application (also applicable to mobile devices) by following these steps:

  • Launch the Chrome or Edge browser on your computer
  • Visit the LobeChat webpage
  • In the upper right corner of the address bar, click on the Install icon
  • Follow the instructions on the screen to complete the PWA installation

4 Theme Mode Selection

LobeChat offers two unique theme modes - Light Mode and Dark Mode, as well as rich color customization options to meet your personalized needs. By default, our themes will intelligently switch based on your system settings, but if you prefer manual control, you can easily switch in the settings.

5 Mobile Device Adaptation

We have carried out a series of optimization designs for mobile devices to enhance the user's mobile experience. Currently, we are iterating on the mobile user experience to achieve smoother and more intuitive interactions. If you have any suggestions or ideas, we welcome you to provide feedback through Github Issues or Pull Requests.

๐Ÿšง Additional snapshots and demonstrations are being progressively added...

๐Ÿ›ณ Self Hosting

LobeChat provides a self-hosted version with Vercel. This allows you to build your own chatbot within a few minutes, without any prior knowledge. If you want to deploy this service yourself, you can follow these steps:

  • Prepare your OpenAI API Key.
  • Click the button below to start deployment: Deploy with Vercel. Log in directly with your Github account and remember to fill in the API Key and access code CODE on the environment variable page;
  • After deployment, you can start using it;
  • Bind a custom domain (optional): The DNS of the domain assigned by Vercel is polluted in some areas, binding a custom domain can connect directly.

Note
This project provides some additional configuration items, set with environment variables, The complete list of environment variables can be found in the ๐Ÿ“˜ Environment Variables :

Environment Variable Required Description Example
OPENAI_API_KEY Yes This is the API key you apply on the OpenAI account page sk-xxxxxx...xxxxxx
OPENAI_PROXY_URL No If you manually configure the OpenAI interface proxy, you can use this configuration item to override the default OpenAI API request base URL https://api.chatanywhere.cn
The default value is
https://api.openai.com
ACCESS_CODE No Add a password to access this service, the password should be a 6-digit number or letter awCT74 or e3@09!

Keep Updated

If you have deployed your own project following the one-click deployment steps in the README, you might encounter constant prompts indicating "updates available". This is because Vercel defaults to creating a new project instead of forking this one, resulting in an inability to accurately detect updates. We suggest you redeploy using the following steps, ๐Ÿ“˜ Maintaining Updates with LobeChat Self-Deployment.

๐Ÿ“ฆ Ecosystem

NPM Repository Description Version
@lobehub/ui lobehub/lobe-ui Lobe UI is an open-source UI component library dedicated to building AIGC web applications.
@lobehub/lint lobehub/lobe-lint LobeLint provides configurations for ESlint, Stylelint, Commitlint, Prettier, Remark, and Semantic Release for LobeHub.
@lobehub/assets lobehub/assets Logo assets, favicons, webfonts for LobeHub.

๐Ÿงฉ Plugins

Plugins provide a means to extend the Function Calling capabilities of LobeChat. They can be used to introduce new function calls, and even new ways to render message results. If you are interested in plugin development, please refer to our ๐Ÿ“˜ Plugin Development Guide in the Wiki.

  • lobe-chat-plugins: This is the plugin index for LobeChat. It accesses index.json from this repository to display a list of available plugins for LobeChat to the user.
  • chat-plugin-template: This is the plugin template for LobeChat plugin development.
  • @lobehub/chat-plugin-sdk: The LobeChat Plugin SDK assists you in creating exceptional chat plugins for Lobe Chat.
  • @lobehub/chat-plugins-gateway: The LobeChat Plugins Gateway is a backend service that serves as a gateway for LobeChat plugins. We deploy this service using Vercel. The primary API POST /api/v1/runner is deployed as an Edge Function.

Note
The plugin system is currently undergoing major development. You can learn more in the following issues:

  • Plugin Phase 1: Implement separation of the plugin from the main body, split the plugin into an independent repository for maintenance, and realize dynamic loading of the plugin.
  • Plugin Phase 2: The security and stability of the plugin's use, more accurately presenting abnormal states, the maintainability of the plugin architecture and developer-friendly.
  • Plugin Phase 3: Higher-level and more comprehensive customization capabilities, support for plugin authentication and examples.
Official Plugin Description
SearchEngine This plugin allows for the use of the SerpApi search engine.
RealtimeWeather This plugin provides practical weather information by obtaining real-time weather data and can automatically update based on the user's location.
WebsiteCrawler This plugin automatically crawls the main content of a specified URL webpage and uses it as context input.

โŒจ๏ธ Local Development

You can use Github Codespaces for online development:

Or clone it for local development:

$ git clone https://github.com/lobehub/lobe-chat.git
$ cd lobe-chat
$ bun install
$ bun dev

๐Ÿค Contributing

Contributions of all types are more than welcome, if you are interested in contributing code, feel free to check out our GitHub Issues and Projects to get stuck in to show us what youโ€™re made of.

๐Ÿ”— More Products

  • ๐Ÿคฏ Lobe Theme : The modern theme for stable diffusion webui, exquisite interface design, highly customizable UI, and efficiency boosting features.
  • ๐ŸŒ Lobe i18n : Lobe i18n is an automation tool for the i18n (internationalization) translation process, powered by ChatGPT. It supports features such as automatic splitting of large files, incremental updates, and customization options for the OpenAI model, API proxy, and temperature.
  • ๐Ÿ’Œ Lobe Commit : Lobe Commit is a CLI tool that leverages Langchain/ChatGPT to generate Gitmoji-based commit messages.


๐Ÿ“ License

Copyright ยฉ 2023 LobeHub.
This project is MIT licensed.