Optimized Chat Interface is a more user-friendly UI for ChatGPT. It's completely Open Source, and utilizes Angular and Nest technologies.
The Angular code base follows a number of best practices with minimal external dependencies.
This repository is a monorepo managed by Nx and currently includes the following apps:
- chat: the Angular front end
The project is currently under development, but we've noted future features that we are planning to implement. If you have any suggestions or would like to contribute, feel free to open an issue.
- As a user, you can enter your OpenAI API key (saved to local storage)
- View your chat history (saved to local storage)
- Delete chats
- Start a new chat
- Update the title of a chat
- Update your profile picture
- Streaming the chat response
- Deployment capabilities
- Auto-generated titles when creating a new chat
- Send a new message via enter key or button click
- Set the model for the current chat
- Select the temperature for the current chat
- Set the initial system message for the current chat
- Set a default model for future chats
- Set a default temperature for future chats
- Set a default initial system message for future chats
- Mark chats as favourites
- Group chats in a folder
- Choose from a list of default messages
- Toggle between light and dark mode
- Loading animations
- Select a prompt from a prompt library
- Markup for responses (e.g. bold, italic, links, etc.)
- Markup for code examples in responses
- View chat history in a timeline (grouped by date) Today - yesterday - last 7 days - last 30 days
- Add a new chat with query params = text for the message and model for the model
Clone the project and run npm install
to install all dependencies.
Run nx run chat:serve
to start the Angular front end
For any suggestions or if you wish to contribute to improving this project, please open an issue or make a contribution.
- The Optimized Chat Interface project was inspired by TypingMind built by Tony Dinh