Home

Awesome

<div align="center"><a name="readme-top"></a>

Lobe Chat

An open-source, modern-design ChatGPT/LLMs UI/Framework.<br/> Supports speech-synthesis, multi-modal, and extensible (function call) plugin system.<br/> One-click FREE deployment of your private OpenAI ChatGPT/Claude/Gemini/Groq/Ollama chat application.

English · 简体中文 · 日本語 · Official Site · Changelog · Documents · Blog · Feedback

<!-- SHIELD GROUP -->

<br/> <br/> <br>

Share LobeChat Repository

<sup>Pioneering the new age of thinking and creating. Built for you, the Super Individual.</sup>

</div> <details> <summary><kbd>Table of contents</kbd></summary>

TOC

<br/> </details>

👋🏻 Getting Started & Join Our Community

We are a group of e/acc design-engineers, hoping to provide modern design components and tools for AIGC. By adopting the Bootstrapping approach, we aim to provide developers and users with a more open, transparent, and user-friendly product ecosystem.

Whether for users or professional developers, LobeHub will be your AI Agent playground. Please be aware that LobeChat is currently under active development, and 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 release notifications from GitHub without any delay ~ ⭐️

<details> <summary><kbd>Star History</kbd></summary> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=lobehub%2Flobe-chat&theme=dark&type=Date"> <img width="100%" src="https://api.star-history.com/svg?repos=lobehub%2Flobe-chat&type=Date"> </picture> </details>

✨ Features

1 File Upload/Knowledge Base

LobeChat supports file upload and knowledge base functionality. You can upload various types of files including documents, images, audio, and video, as well as create knowledge bases, making it convenient for users to manage and search for files. Additionally, you can utilize files and knowledge base features during conversations, enabling a richer dialogue experience.

https://github.com/user-attachments/assets/faa8cf67-e743-4590-8bf6-ebf6ccc34175

[!TIP]

Learn more on 📘 LobeChat Knowledge Base Launch — From Now On, Every Step Counts

<div align="right">

</div>

2 Multi-Model Service Provider Support

In the continuous development of LobeChat, we deeply understand the importance of diversity in model service providers for meeting the needs of the community when providing AI conversation services. Therefore, we have expanded our support to multiple model service providers, rather than being limited to a single one, in order to offer users a more diverse and rich selection of conversations.

In this way, LobeChat can more flexibly adapt to the needs of different users, while also providing developers with a wider range of choices.

Supported Model Service Providers

We have implemented support for the following model service providers:

<!-- PROVIDER LIST --> <details><summary><kbd>See more providers (+26)</kbd></summary> </details>

📊 Total providers: <kbd>36</kbd>

<!-- PROVIDER LIST -->

At the same time, we are also planning to support more model service providers. If you would like LobeChat to support your favorite service provider, feel free to join our 💬 community discussion.

<div align="right">

</div>

3 Local Large Language Model (LLM) Support

To meet the specific needs of users, LobeChat also supports the use of local models based on Ollama, allowing users to flexibly use their own or third-party models.

[!TIP]

Learn more about 📘 Using Ollama in LobeChat by checking it out.

<div align="right">

</div>

4 Model Visual Recognition

LobeChat now supports OpenAI's latest gpt-4-vision model with visual recognition capabilities, a multimodal intelligence that can perceive visuals. Users can easily upload or drag and drop images into the dialogue box, and the agent will be able to recognize the content of the images and engage in intelligent conversation based on this, creating smarter and more diversified chat scenarios.

This feature opens up new interactive methods, allowing communication to transcend text and include a wealth of visual elements. Whether it's sharing images in daily use or interpreting images within specific industries, the agent provides an outstanding conversational experience.

<div align="right">

</div>

5 TTS & STT Voice Conversation

LobeChat supports Text-to-Speech (TTS) and Speech-to-Text (STT) technologies, enabling our application to convert text messages into clear voice outputs, allowing users to interact with our conversational agent as if they were talking to a real person. Users can choose from a variety of voices to pair with the agent.

Moreover, TTS offers an excellent solution for those who prefer auditory learning or desire to receive information while busy. In LobeChat, we have meticulously selected a range of high-quality voice options (OpenAI Audio, Microsoft Edge Speech) to meet the needs of users from different regions and cultural backgrounds. Users can choose the voice that suits their personal preferences or specific scenarios, resulting in a personalized communication experience.

<div align="right">

</div>

6 Text to Image Generation

With support for the latest text-to-image generation technology, LobeChat now allows users to invoke image creation tools directly within conversations with the agent. By leveraging the capabilities of AI tools such as DALL-E 3, MidJourney, and Pollinations, the agents are now equipped to transform your ideas into images.

This enables a more private and immersive creative process, allowing for the seamless integration of visual storytelling into your personal dialogue with the agent.

<div align="right">

</div>

7 Plugin System (Function Calling)

The plugin ecosystem of LobeChat is an important extension of its core functionality, greatly enhancing the practicality and flexibility of the LobeChat assistant.

<video controls src="https://github.com/lobehub/lobe-chat/assets/28616219/f29475a3-f346-4196-a435-41a6373ab9e2" muted="false"></video>

By utilizing plugins, LobeChat assistants can obtain and process real-time information, such as searching for web information and providing users with instant and relevant news.

In addition, these plugins are not limited to news aggregation, but can also extend to other practical functions, such as quickly searching documents, generating images, obtaining data from various platforms like Bilibili, Steam, and interacting with various third-party services.

[!TIP]

Learn more about 📘 Plugin Usage by checking it out.

<!-- PLUGIN LIST -->
Recent SubmitsDescription
Google CSE<br/><sup>By vsnthdev on 2024-12-02</sup>Searches Google through their official CSE API.<br/>web search
Speak<br/><sup>By speak on 2024-12-02</sup>Learn how to say anything in another language with Speak, your AI-powered language tutor.<br/>education language
Tongyi wanxiang Image Generator<br/><sup>By YoungTx on 2024-08-09</sup>This plugin uses Alibaba's Tongyi Wanxiang model to generate images based on text prompts.<br/>image tongyi wanxiang
Shopping tools<br/><sup>By shoppingtools on 2024-07-19</sup>Search for products on eBay & AliExpress, find eBay events & coupons. Get prompt examples.<br/>shopping e-bay ali-express coupons

📊 Total plugins: <kbd>47</kbd>

<!-- PLUGIN LIST --> <div align="right">

</div>

8 Agent Market (GPTs)

In LobeChat Agent Marketplace, creators can discover a vibrant and innovative community that brings together a multitude of well-designed agents, which not only play an important role in work scenarios but also offer great convenience in learning processes. Our marketplace is not just a showcase platform but also a collaborative space. Here, everyone can contribute their wisdom and share the agents they have developed.

[!TIP]

By 🤖/🏪 Submit Agents, you can easily submit your agent creations to our platform. Importantly, LobeChat has established a sophisticated automated internationalization (i18n) workflow, capable of seamlessly translating your agent into multiple language versions. This means that no matter what language your users speak, they can experience your agent without barriers.

[!IMPORTANT]

We welcome all users to join this growing ecosystem and participate in the iteration and optimization of agents. Together, we can create more interesting, practical, and innovative agents, further enriching the diversity and practicality of the agent offerings.

<!-- AGENT LIST -->
Recent SubmitsDescription
System Instruction Expert<br/><sup>By yuyun2000 on 2024-12-04</sup>Skilled in refining and generating efficient system instructions<br/>system-instructions writing detail-optimization user-needs
Japanese Memory Helper<br/><sup>By sharkbear212 on 2024-12-04</sup>Specializes in Japanese Hiragana, Katakana, vocabulary, and memory techniques for explanations and phrases<br/>explanation memory-techniques japanese-teaching
Poetry Card Designer<br/><sup>By lianxin255 on 2024-12-03</sup>Skilled in designing poetry cards to enhance artistic sense and appeal<br/>poetry-card-design card creativity artistic-expression
Daily Doctor<br/><sup>By yuyun2000 on 2024-11-30</sup>Specializes in surgical diagnosis and personalized health management<br/>general-medicine surgery health-consultation personalized-treatment medical-education

📊 Total agents: <kbd>453</kbd>

<!-- AGENT LIST --> <div align="right">

</div>

9 Support Local / Remote Database

LobeChat supports the use of both server-side and local databases. Depending on your needs, you can choose the appropriate deployment solution:

Regardless of which database you choose, LobeChat can provide you with an excellent user experience.

<div align="right">

</div>

10 Support Multi-User Management

LobeChat supports multi-user management and provides two main user authentication and management solutions to meet different needs:

Regardless of which user management solution you choose, LobeChat can provide you with an excellent user experience and powerful functional support.

<div align="right">

</div>

11 Progressive Web App (PWA)

We deeply understand the importance of providing a seamless experience for users in today's multi-device environment. Therefore, we have adopted Progressive Web Application (PWA) technology, a modern web technology that elevates web applications to an experience close to that of native apps.

Through PWA, LobeChat can offer a highly optimized user experience on both desktop and mobile devices while maintaining its lightweight and high-performance characteristics. Visually and in terms of feel, we have also meticulously designed the interface to ensure it is indistinguishable from native apps, providing smooth animations, responsive layouts, and adapting to different device screen resolutions.

[!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:

<div align="right">

</div>

12 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.

<div align="right">

</div>

13 Custom Themes

As a design-engineering-oriented application, LobeChat places great emphasis on users' personalized experiences, hence introducing flexible and diverse theme modes, including a light mode for daytime and a dark mode for nighttime. Beyond switching theme modes, a range of color customization options allow users to adjust the application's theme colors according to their preferences. Whether it's a desire for a sober dark blue, a lively peach pink, or a professional gray-white, users can find their style of color choices in LobeChat.

[!TIP]

The default configuration can intelligently recognize the user's system color mode and automatically switch themes to ensure a consistent visual experience with the operating system. For users who like to manually control details, LobeChat also offers intuitive setting options and a choice between chat bubble mode and document mode for conversation scenarios.

<div align="right">

</div>

* What's more

Beside these features, LobeChat also have much better basic technique underground:

✨ more features will be added when LobeChat evolve.


[!NOTE]

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

<div align="right">

</div>

⚡️ Performance

[!NOTE]

The complete list of reports can be found in the 📘 Lighthouse Reports

DesktopMobile
📑 Lighthouse Report📑 Lighthouse Report
<div align="right">

</div>

🛳 Self Hosting

LobeChat provides Self-Hosted Version with Vercel, Alibaba Cloud, and Docker Image. This allows you to deploy your own chatbot within a few minutes without any prior knowledge.

[!TIP]

Learn more about 📘 Build your own LobeChat by checking it out.

A Deploying with Vercel, Zeabur , Sealos or Alibaba Cloud

"If you want to deploy this service yourself on Vercel, Zeabur or Alibaba Cloud, you can follow these steps:

<div align="center">
Deploy with VercelDeploy with ZeaburDeploy with SealosDeploy with RepoCloudDeploy with Alibaba Cloud
</div>

After Fork

After fork, only retain the upstream sync action and disable other actions in your repository on GitHub.

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 detect updates accurately.

[!TIP]

We suggest you redeploy using the following steps, 📘 Auto Sync With Latest

<br/>

B Deploying with Docker

We provide a Docker image for deploying the LobeChat service on your own private device. Use the following command to start the LobeChat service:

$ docker run -d -p 3210:3210 \
  -e OPENAI_API_KEY=sk-xxxx \
  -e ACCESS_CODE=lobe66 \
  --name lobe-chat \
  lobehub/lobe-chat

[!TIP]

If you need to use the OpenAI service through a proxy, you can configure the proxy address using the OPENAI_PROXY_URL environment variable:

$ docker run -d -p 3210:3210 \
  -e OPENAI_API_KEY=sk-xxxx \
  -e OPENAI_PROXY_URL=https://api-proxy.com/v1 \
  -e ACCESS_CODE=lobe66 \
  --name lobe-chat \
  lobehub/lobe-chat

[!NOTE]

For detailed instructions on deploying with Docker, please refer to the 📘 Docker Deployment Guide

<br/>

Environment Variable

This project provides some additional configuration items set with environment variables:

Environment VariableRequiredDescriptionExample
OPENAI_API_KEYYesThis is the API key you apply on the OpenAI account pagesk-xxxxxx...xxxxxx
OPENAI_PROXY_URLNoIf you manually configure the OpenAI interface proxy, you can use this configuration item to override the default OpenAI API request base URLhttps://api.chatanywhere.cn or https://aihubmix.com/v1 <br/>The default value is<br/>https://api.openai.com/v1
ACCESS_CODENoAdd a password to access this service; you can set a long password to avoid leaking. If this value contains a comma, it is a password array.awCTe)re_r74 or rtrt_ewee3@09! or code1,code2,code3
OPENAI_MODEL_LISTNoUsed to control the model list. Use + to add a model, - to hide a model, and model_name=display_name to customize the display name of a model, separated by commas.qwen-7b-chat,+glm-6b,-gpt-3.5-turbo

[!NOTE]

The complete list of environment variables can be found in the 📘 Environment Variables

<div align="right">

</div>

📦 Ecosystem

NPMRepositoryDescriptionVersion
@lobehub/uilobehub/lobe-uiOpen-source UI component library dedicated to building AIGC web applications.
@lobehub/iconslobehub/lobe-iconsPopular AI / LLM Model Brand SVG Logo and Icon Collection.
@lobehub/ttslobehub/lobe-ttsHigh-quality & reliable TTS/STT React Hooks library
@lobehub/lintlobehub/lobe-lintConfigurations for ESlint, Stylelint, Commitlint, Prettier, Remark, and Semantic Release for LobeHub.
<div align="right">

</div>

🧩 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.

[!NOTE]

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

<div align="right">

</div>

⌨️ 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
$ pnpm install
$ pnpm dev

If you would like to learn more details, please feel free to look at our 📘 Development Guide.

<div align="right">

</div>

🤝 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.

[!TIP]

We are creating a technology-driven forum, fostering knowledge interaction and the exchange of ideas that may culminate in mutual inspiration and collaborative innovation.

Help us make LobeChat better. Welcome to provide product design feedback, user experience discussions directly to us.

Principal Maintainers: @arvinxx @canisminor1990

<a href="https://github.com/lobehub/lobe-chat/graphs/contributors" target="_blank"> <table> <tr> <th colspan="2"> <br><img src="https://contrib.rocks/image?repo=lobehub/lobe-chat"><br><br> </th> </tr> <tr> <td> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=dark"> <img src="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=light"> </picture> </td> <td rowspan="2"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-org-participants-growth/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=4x7&color_scheme=dark"> <img src="https://next.ossinsight.io/widgets/official/compose-org-participants-growth/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=4x7&color_scheme=light"> </picture> </td> </tr> <tr> <td> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=new&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=dark"> <img src="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=new&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=light"> </picture> </td> </tr> </table> </a> <div align="right">

</div>

❤️ Sponsor

Every bit counts and your one-time donation sparkles in our galaxy of support! You're a shooting star, making a swift and bright impact on our journey. Thank you for believing in us – your generosity guides us toward our mission, one brilliant flash at a time.

<a href="https://opencollective.com/lobehub" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/lobehub/.github/blob/main/static/sponsor-dark.png?raw=true"> <img src="https://github.com/lobehub/.github/blob/main/static/sponsor-light.png?raw=true"> </picture> </a> <div align="right">

</div>

🔗 More Products

<div align="right">

</div>
<details><summary><h4>📝 License</h4></summary>

</details>

Copyright © 2024 LobeHub. <br /> This project is Apache 2.0 licensed.

<!-- LINK GROUP -->