Skip to content

MinimalChat is a lightweight, open-source chat application that allows you to interact with various large language models.

License

Notifications You must be signed in to change notification settings

fingerthief/minimal-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Version License Website Repo Size Docker Image Size Top Language Stars

What is MinimalChat?

MinimalChat is an open-source, lightweight chat application supporting multiple language models like OpenAI o1, DeepSeek R1 and various Local/Custom Model Endpoints. It is designed to be simple, fully featured, and highly responsive, with full mobile PWA support.

App Mockup

Self-Hosting with Docker

docker pull tannermiddleton/minimal-chat:latest

Application Demo

Watch Higher Quality Video

compressed-demo.mp4

Experience the Power of Web Local LLM Models

Thanks to Web LLM, you can now download and cache popular LLM models like llama-3-8b-instruct directly in your browser.

More details in the Wiki

Getting Started

Installation

  1. Install packages: npm install
  2. Build the app: npm run build
  3. Start local server: npm run previewfor Production mode or npm run dev for development mode.

Here's a section you can add to the README to stress the importance of enabling CORS for locally hosted API servers:


Important: CORS Configuration for Local API Servers

When hosting API servers locally (such as LM Studio, Ollama, or other custom endpoints), it is crucial to properly configure CORS (Cross-Origin Resource Sharing) settings. This ensures that your browser-based application (like MinimalChat) can communicate with your local API server without being blocked by browser security policies.

How to Enable CORS

The steps to enable CORS depend on the API server you are using:

For LM Studio

  1. When starting your LM Studio server
Screenshot 2025-02-22 at 7 53 03 AM

Troubleshooting CORS Issues

  • Ensure that your API server is running and accessible.
  • Verify that the CORS settings are correctly configured and applied.
  • Check the browser's developer console for detailed error messages.
  • If using a custom domain or port, make sure it is included in the allowed origins list.

By properly configuring CORS, you can ensure seamless communication between your locally hosted API server and the MinimalChat application.


Configuration

Visit the Wiki for detailed configuration options

Features

  • Minimal layout
  • Voiced conversational interactions with STT and TTS
  • Supports multiple language models:
    • Any Open AI Response Formatted APIs (custom/local)
    • Load and host full models locally in your own browser with WebLLM
  • Switch models mid-conversation
  • Swipe gestures for quick settings and conversation access
  • Edit, regenerate, or delete past messages
  • Markdown support
  • Code syntax highlighting
  • Basic DALL-E 3 integration
  • Conversation importing/exporting
  • Mobile responsive layout
  • PWA support

FAQs

Is MinimalChat free?

Yes, MinimalChat is open-source and free. However, API keys are required for some language models.

Can I use MinimalChat offline?

Yes, by using LM Studio to host a local LLM Model or by loading a full model into your browser.

Are my conversations secure?

Yes, all conversations are stored locally on your device.

Is MinimalChat mobile-compatible?

Yes, it is fully mobile-compatible and can be installed as a PWA.

Mobile Swipe Gestures

  • Swipe left on the input box to open Conversations.
  • Swipe right on the input box to open Settings.
  • Double tap the settings page to expand/collapse the side panel.

Integration with Open AI Response Formatted APIs

Supports any API endpoint returning responses formatted according to OpenAI's specifications.

More information in the Wiki

Contributing

We welcome contributions! Please:

  • Submit issues via the issue tracker
  • Fork the repository, make changes, and submit a pull request
  • Follow coding style and conventions
  • Provide clear commit messages and pull request descriptions

Troubleshooting

  • Ensure a stable internet connection
  • Verify API keys and permissions
  • Clear browser cache as a last resort

Report issues via the issue tracker

License

Licensed under the MIT License. See LICENSE for details.

Contact

For questions, feedback, or suggestions:


Thank you for using MinimalChat!