Convert Figma logo to code with AI

ztjhz logoBetterChatGPT

An amazing UI for OpenAI's ChatGPT (Website + Windows + MacOS + Linux)

7,987
2,695
7,987
238

Top Related Projects

A Gradio web UI for Large Language Models.

AI chat for every model.

A cross-platform ChatGPT/Gemini UI (Web / PWA / Linux / Win / MacOS). 一键拥有你自己的跨平台 ChatGPT/Gemini 应用。

GUI for ChatGPT API and many LLMs. Supports agents, file-based QA, GPT finetuning and query with web search. All with a neat UI.

用 Express 和 Vue3 搭建的 ChatGPT 演示网页

52,188

🔮 ChatGPT Desktop Application (Mac, Windows and Linux)

Quick Overview

BetterChatGPT is an open-source web application that provides an enhanced interface for interacting with ChatGPT. It offers a more feature-rich and customizable experience compared to the standard ChatGPT interface, allowing users to have more control over their conversations and settings.

Pros

  • Customizable UI with light/dark mode and various themes
  • Support for multiple API endpoints, including Azure and custom endpoints
  • Advanced features like conversation search, export/import, and prompt templates
  • Free and open-source, allowing for community contributions and modifications

Cons

  • Requires users to provide their own API key, which may be a barrier for some users
  • May have a steeper learning curve compared to the official ChatGPT interface due to additional features
  • Dependent on OpenAI's API availability and pricing
  • Potential for inconsistent user experience across different devices or browsers

Getting Started

To get started with BetterChatGPT:

  1. Visit the project's GitHub repository: https://github.com/ztjhz/BetterChatGPT
  2. Click on the "Use on Web" link in the README to access the web application
  3. Once on the web app, click on the settings icon and enter your OpenAI API key
  4. Start a new conversation and explore the various features and customization options

Note: As this is a web application and not a code library, there are no code examples or installation instructions required. Users can simply access the web app through their browser.

Competitor Comparisons

A Gradio web UI for Large Language Models.

Pros of text-generation-webui

  • Supports a wide range of language models and architectures
  • Offers advanced features like model merging and fine-tuning
  • Provides a more customizable and extensible interface

Cons of text-generation-webui

  • Requires more technical knowledge to set up and use effectively
  • May have a steeper learning curve for non-technical users
  • Less focused on providing a polished, user-friendly chat experience

Code Comparison

BetterChatGPT (React):

const Chat = () => {
  const [messages, setMessages] = useState([]);
  // ... other state and logic
  return (
    <div className="chat-container">
      {messages.map((message) => (
        <Message key={message.id} content={message.content} />
      ))}
    </div>
  );
};

text-generation-webui (Python/JavaScript):

def chat_html(context, name1, name2, greeting, chat, **kwargs):
    return f"""
    <div class="chat">
        <div class="messages">
            {'' if greeting == '' else f'<div class="message">{greeting}</div>'}
            {''.join([f'<div class="message">{msg}</div>' for msg in chat])}
        </div>
    </div>
    """

Both projects aim to provide interfaces for interacting with language models, but they take different approaches. BetterChatGPT focuses on a streamlined chat experience with GPT models, while text-generation-webui offers a more comprehensive toolkit for working with various language models and advanced features.

AI chat for every model.

Pros of chatbot-ui

  • More customizable UI with themes and layout options
  • Supports multiple AI models beyond just OpenAI
  • Built-in prompt templates and example conversations

Cons of chatbot-ui

  • Less focus on privacy features compared to BetterChatGPT
  • Fewer export options for conversation history
  • More complex setup process for self-hosting

Code Comparison

BetterChatGPT uses a simpler React-based structure:

function App() {
  return (
    <div className="App">
      <ChatInterface />
    </div>
  );
}

chatbot-ui employs Next.js for server-side rendering:

export default function Home() {
  return (
    <HomeContext>
      <ChatbotUIProvider>
        <div className="flex h-screen">
          <ChatInterface />
        </div>
      </ChatbotUIProvider>
    </HomeContext>
  );
}

Both projects use similar component structures, but chatbot-ui's codebase is more extensive due to its additional features and customization options. BetterChatGPT focuses on simplicity and ease of use, while chatbot-ui offers more advanced functionality at the cost of increased complexity.

A cross-platform ChatGPT/Gemini UI (Web / PWA / Linux / Win / MacOS). 一键拥有你自己的跨平台 ChatGPT/Gemini 应用。

Pros of ChatGPT-Next-Web

  • More comprehensive internationalization support with 30+ languages
  • Built-in voice input and text-to-speech capabilities
  • Advanced prompt management system with tagging and organization features

Cons of ChatGPT-Next-Web

  • Slightly more complex setup process for self-hosting
  • Less focus on customizable UI themes compared to BetterChatGPT
  • Fewer built-in tools for data analysis and visualization

Code Comparison

BetterChatGPT:

const handleSend = () => {
  if (inputRef.current) {
    sendMessage(inputRef.current.value);
    inputRef.current.value = '';
  }
};

ChatGPT-Next-Web:

const onSend = () => {
  if (inputValue.trim() === "") return;
  sendMessage(inputValue);
  setInputValue("");
};

Both projects use similar approaches for sending messages, but ChatGPT-Next-Web uses TypeScript and includes input validation.

Summary

ChatGPT-Next-Web offers more advanced features like voice input and extensive language support, making it suitable for diverse user needs. However, BetterChatGPT provides a simpler setup process and more customizable UI options. The choice between the two depends on specific requirements for internationalization, voice capabilities, and ease of deployment.

GUI for ChatGPT API and many LLMs. Supports agents, file-based QA, GPT finetuning and query with web search. All with a neat UI.

Pros of ChuanhuChatGPT

  • Supports multiple language models beyond just ChatGPT
  • Offers more advanced features like API key management and model fine-tuning
  • Provides a local deployment option for increased privacy and control

Cons of ChuanhuChatGPT

  • More complex setup and configuration process
  • Less polished user interface compared to BetterChatGPT
  • Steeper learning curve for non-technical users

Code Comparison

BetterChatGPT:

const handleSubmit = () => {
  if (input.trim() === '') return;
  setMessages([...messages, { role: 'user', content: input }]);
  setInput('');
};

ChuanhuChatGPT:

def handle_submit(self):
    if not self.input.strip():
        return
    self.messages.append({"role": "user", "content": self.input})
    self.input = ""

Both projects handle user input submission similarly, but BetterChatGPT uses JavaScript while ChuanhuChatGPT uses Python. ChuanhuChatGPT's implementation is part of a class, indicating a more object-oriented approach.

BetterChatGPT focuses on simplicity and ease of use, making it more accessible for general users. ChuanhuChatGPT offers more advanced features and flexibility, catering to users who require more control and customization options. The choice between the two depends on the user's technical expertise and specific requirements.

用 Express 和 Vue3 搭建的 ChatGPT 演示网页

Pros of chatgpt-web

  • Supports multiple languages and offers a more internationalized interface
  • Provides a Docker deployment option for easier setup and management
  • Includes a backend API, allowing for more advanced integrations and customizations

Cons of chatgpt-web

  • Less frequent updates and potentially slower bug fixes
  • Fewer built-in features compared to BetterChatGPT, such as conversation branching

Code Comparison

BetterChatGPT:

const handleSubmit = async () => {
  if (input.trim() === '') {
    return;
  }
  setLoading(true);
  const message: Message = { role: 'user', content: input };
  const newMessages = [...messages, message];

chatgpt-web:

const handleSubmit = async () => {
  if (!text || loading)
    return
  updateChat(+uuid, { usingContext: !usingContext })
  addChat(
    +uuid,
    {
      dateTime: new Date().toLocaleString(),
      text,
      inversion: true,
      error: false,
      loading: false,
      conversationOptions,
      requestOptions,
    },
  )

Both projects handle user input submission, but chatgpt-web includes more options and context management in its implementation.

52,188

🔮 ChatGPT Desktop Application (Mac, Windows and Linux)

Pros of ChatGPT

  • Desktop application with cross-platform support (Windows, macOS, Linux)
  • Offers system tray functionality for quick access
  • Includes Markdown export and syntax highlighting features

Cons of ChatGPT

  • Requires installation and updates, unlike web-based alternatives
  • May have a steeper learning curve for non-technical users
  • Limited customization options compared to some web-based interfaces

Code Comparison

BetterChatGPT (React-based web application):

import React from 'react';
import { ChatInterface } from './components/ChatInterface';

function App() {
  return <ChatInterface />;
}

ChatGPT (Tauri-based desktop application):

#[tauri::command]
fn greet(name: &str) -> String {
    format!("Hello, {}! You've been greeted from Rust!", name)
}

fn main() {
    tauri::Builder::default()
        .invoke_handler(tauri::generate_handler![greet])
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

The code comparison highlights the different approaches: BetterChatGPT uses React for a web-based interface, while ChatGPT utilizes Tauri for creating a desktop application with a Rust backend. This difference in architecture reflects the distinct goals and use cases of each project.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Better ChatGPT

English Version | 简体中文版

Better ChatGPT

Free, Powerful, Limitless, Intelligent, Engaging

licence forks stars issues pull-requests

Enter Website · Report Bug · Request Feature

Did you enjoy using Better ChatGPT? Give it some love with a star! 🌟

👋🏻 Introducing Better ChatGPT

landing

Are you ready to unlock the full potential of ChatGPT with Better ChatGPT?

Better ChatGPT is the ultimate destination for anyone who wants to experience the limitless power of conversational AI. With no limits and completely free to use for all, our app harnesses the full potential of OpenAI's ChatGPT API to offer you an unparalleled chatbot experience.

Whether you're looking to chat with a virtual assistant, improve your language skills, or simply enjoy a fun and engaging conversation, our app has got you covered. So why wait? Join us today and explore the exciting world of Better ChatGPT!

🔥 Features

Better ChatGPT comes with a bundle of amazing features! Here are some of them:

  • Proxy to bypass ChatGPT regional restrictions
  • Prompt library
  • Organize chats into folders (with colours)
  • Filter chats and folders
  • Token count and pricing
  • ShareGPT integration
  • Custom model parameters (e.g. presence_penalty)
  • Chat as user / assistant / system
  • Edit, reorder and insert any messages, anywhere
  • Chat title generator
  • Save chat automatically to local storage
  • Import / Export chat
  • Download chat (markdown / image / json)
  • Sync to Google Drive
  • Azure OpenAI endpoint support
  • Multiple language support (i18n)

🛠️ Usage

To get started, simply visit our website at https://bettergpt.chat/. There are 3 ways for you to start using Better ChatGPT.

  1. Enter into the API menu your OpenAI API Key obtained from OpenAI API Keys.
  2. Utilise the api endpoint proxy provided by ayaka14732/ChatGPTAPIFree (if you are in a region with no access to ChatGPT)
  3. Host your own API endpoint by following the instructions provided here: https://github.com/ayaka14732/ChatGPTAPIFree. Subsequently, enter the API endpoint into the API menu.

Desktop App

Download the desktop app here

OSDownload
Windows.exe
MacOS.dmg
Linux.AppImage

Features:

  • Unlimited local storage
  • Runs locally (access Better ChatGPT even if the website is not accessible)

🛫 Host your own Instance

If you'd like to run your own instance of Better ChatGPT, you can easily do so by following these steps:

Vercel

One click deploy with Vercel

Vercel

GitHub Pages

Steps

  1. Create a GitHub account (if you don't have one already)
  2. Star this repository ⭐️
  3. Fork this repository
  4. In your forked repository, navigate to the Settings tab image
  5. In the left sidebar, click on Pages and in the right section, select GitHub Actions for source. image
  6. Now, click on Actions image
  7. In the left sidebar, click on Deploy to GitHub Pages image
  8. Above the list of workflow runs, select Run workflow. image
  9. Navigate back to the Settings tab image
  10. In the left sidebar, click on Pages and in the right section. Then at the top section, you can see that "Your site is live at XXX". image

Running it locally

  1. Ensure that you have the following installed:

  2. Clone this repository by running git clone https://github.com/ztjhz/BetterChatGPT.git

  3. Navigate into the directory by running cd BetterChatGPT

  4. Run yarn or npm install, depending on whether you have yarn or npm installed.

  5. Launch the app by running yarn dev or npm run dev

Running it locally using docker compose

  1. Ensure that you have the following installed:

    • docker (v24.0.7 or above)
      curl https://get.docker.com | sh \
      && sudo usermod -aG docker $USER
      
  2. Build the docker image

    docker compose build
    
  3. Build and start the container using docker compose

    docker compose build
    docker compose up -d
    
  4. Stop the container

    docker compose down
    

⭐️ Star History

Star History Chart

A ⭐️ to Better ChatGPT is to make it shine brighter and benefit more people.

❤️ Contributors

Thanks to all the contributors!

🙏 Support

At Better ChatGPT, we strive to provide you with useful and amazing features around the clock. And just like any project, your support and motivation will be instrumental in helping us keep moving forward!

If you have enjoyed using our app, we kindly ask you to give this project a ⭐️. Your endorsement means a lot to us and encourages us to work harder towards delivering the best possible experience.

If you would like to support the team, consider sponsoring us through one of the methods below. Every contribution, no matter how small, helps us to maintain and improve our service.

Payment MethodLink
GitHubGitHub Sponsor
KoFisupport
Alipay (Ayaka)
Wechat (Ayaka)

Thank you for being a part of our community, and we look forward to serving you better in the future.