/ChatChat

Chat Chat, unlock your next level AI conversation experience. Deploy your own AI Interface, all AI in one place.

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

Chat Chat to unlock your next level AI conversational experience. You can use multiple APIs from OpenAI, Microsoft Azure, Claude, Cohere, Hugging Face, and more to make your AI conversation experience even richer.

LICENSE Twitter Telegram

English | 繁体中文 | 简体中文 | 日本語

Documentation | Common Issue

Important Notes

  • Some APIs are paid APIs, please make sure you have read and agreed to the relevant terms of service before use.
  • Some features are still under development, please submit PR or Issue.
  • The demo is for demonstration purposes only, it may retain some user data.
  • AI may generate offensive content, please use it with caution.

Preview

Interface

UI

Dashboard

Functions

fetch.mp4
search.mp4

Features

  • [x] TTS
  • [x] Dark Mode
  • [x] Chat with files
  • [x] Markdown formatting
  • [x] Multi-language support
  • [x] Support for System Prompt
  • [x] Shortcut menu (command + k)
  • [x] Wrapped API (no more proxies)
  • [x] Support for sharing conversations
  • [x] Chat history (local and cloud sync)
  • [x] Support for streaming messages (SSE)
  • [x] Plugin support (/search, /fetch)
  • [x] Support for message code syntax highlighting
  • [x] Support for OpenAI, Microsoft Azure, Claude, Cohere, Hugging Face

Roadmap

Please refer to https://github.com/users/okisdev/projects/7

Usage

Prerequisites

  • Any API key from OpenAI, Microsoft Azure, Claude, Cohere, Hugging Face

Environment variables

variable name description default mandatory prompt
DATABASE_URL Postgresql database address Yes Start with postgresql:// (if not required, please fill in postgresql://user:password@example.com:port/dbname)
NEXTAUTH_URL Your website URL Yes (with prefix)
NEXTAUTH_SECRET NextAuth Secret Yes Random hash (16 bits is best)
EMAIL_HOST SMTP Host No
EMAIL_PORT SMTP Port No
EMAIL_USERNAME SMTP username No
EMAIL_PASSWORD SMTP password No
EMAIL_FORM SMTP sending address No

Deployment

Please modify the environment variables before deployment, more details can be found in the documentation.

Local Deployment

git clone https://github.com/okisdev/ChatChat.git
cd ChatChat
cp .env.example .env
yarn
yarn dev

Vercel

Deployed in Vercel

Zeabur

Visit Zeabur to deploy

Railway

Deploy on Railway

Docker

docker build -t chatchat .
docker run -p 3000:3000 chatchat -e DATABASE_URL="" -e NEXTAUTH_URL="" -e NEXTAUTH_SECRET="" -e EMAIL_HOST="" -e EMAIL_PORT="" -e EMAIL_USERNAME="" -e EMAIL_PASSWORD="" -e EMAIL_FORM=""

OR

docker run -p 3000:3000 -e DATABASE_URL="" -e NEXTAUTH_URL="" -e NEXTAUTH_SECRET="" -e EMAIL_HOST="" -e EMAIL_PORT="" -e EMAIL_USERNAME="" -e EMAIL_PASSWORD="" -e EMAIL_FORM="" ghcr.io/okisdev/chatchat:latest

LICENSE

AGPL-3.0

Support me

Buy Me A Coffee

Technology Stack

nextjs / tailwindcss / shadcn UI