Skip to content

TONY-STARK-TECH-ORG/FastChatV2

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


πŸš€ FastChatV2

GitHub stars GitHub forks GitHub issues GitHub license

Welcome to FastChatV2 – the next-generation real-time communication platform leveraging cutting-edge AI technologies to deliver an unparalleled user experience. With FastChatV2, you can enjoy seamless conversations, intelligent responses, and advanced features that elevate your communication to the next level.

🌟 Features

  • Real-time Communication: Enjoy instant messaging with lightning-fast response times.
  • AI-Powered Conversations: Experience intelligent and context-aware responses, powered by state-of-the-art NLP models.
  • Customizable Chatbots: Easily create and deploy custom chatbots to enhance user interactions.
  • Secure and Private: Your data is protected with top-notch security protocols ensuring privacy and safety.
  • Multi-Platform Support: Available on web, mobile, and desktop platforms for a unified communication experience.

πŸ“Έ Screenshots

en-US

image image image

zh-CN

image image image image image image

For sale

user side:

image

admin panel:

image

For key manager

based on: new-api

image

for user sk quota query:

image

For sso login

image

sso admin panel:

image

πŸ› οΈ Installation

To get started with FastChatV2, follow these simple steps in the end of page.

πŸ“š Documentation

For detailed documentation, please visit our Wiki.

🀝 Contributing

We welcome contributions from the community! Check out our Contributing Guide to get started.

πŸ“§ Contact

For any inquiries, please contact us at fastgptchat@hotmail.com.


Self Hosting commands

bun i && bun run dev

this steps will be auto run when push to this repo:

docker buildx build -t fast-chat:v1.0.0 .
docker tag fast-chat:v1.0.0 starkdylan/fast-chat:v1.0.0
docker push starkdylan/fast-chat:v1.0.0

example compose file:

version: '3.8'
services:
fast-gpt:
image: "starkdylan/fast-chat:v1.0.0"
container_name: "fast-gpt"
restart: always
ports:
- '3210:3210'
environment:
OPENAI_API_KEY: "xxx"
NEXTAUTH_URL: "https://xxx/api/auth"
FEATURE_FLAGS: "-webrtc_sync,-check_updates"
NEXT_AUTH_SSO_PROVIDERS: "zitadel"
NEXT_AUTH_SECRET: "xxx"
ZITADEL_CLIENT_ID: "xxx"
ZITADEL_CLIENT_SECRET: "xxx"
ZITADEL_ISSUER: "xxx"
ACCESS_CODE: "xxx"
OPENAI_PROXY_URL: "xxx"
OPENAI_MODEL_LIST: "gpt-4o=fastgpt-4o,gpt-4=fastgpt-4,gpt-3.5-turbo=fastgpt-3.5-turbo,gpt-4-turbo=fastgpt-4-turbo"
ENABLED_OLLAMA: 0

SSO Login

env file:

NEXT_AUTH_SSO_PROVIDERS=zitadel
NEXT_AUTH_SECRET= generate
ZITADEL_CLIENT_ID= your zitadel admin panel
ZITADEL_CLIENT_SECRET= generate in your zitadel admin panel
ZITADEL_ISSUER= sso endpoint
# ι˜²ηˆ†η ΄ε―†η :
ACCESS_CODE= generate

postgres use docker:

cd sso && sudo docker compose up --detach

zitadel admin panel (replase $LATEST with latest version, script failed get version sometimes):

LATEST=$(curl -i https://github.com/zitadel/zitadel/releases/latest | grep location: | cut -d '/' -f 8 | tr -d '\r'); ARCH=$(uname -m); case $ARCH in armv5*) ARCH="armv5";; armv6*) ARCH="armv6";; armv7*) ARCH="arm";; aarch64) ARCH="arm64";; x86) ARCH="386";; x86_64) ARCH="amd64";;  i686) ARCH="386";; i386) ARCH="386";; esac; wget -c https://github.com/zitadel/zitadel/releases/download/$LATEST/zitadel-linux-$ARCH.tar.gz -O - | tar -xz && sudo mv zitadel-linux-$ARCH/zitadel /usr/local/bin

run (config files: examples in sso folder):

ZITADEL_MASTERKEY="$(tr -dc A-Za-z0-9 < /dev/urandom | head -c 32)"
zitadel start-from-init \
  --config ./zitadel-config.yaml \
  --config ./zitadel-secrets.yaml \
  --steps ./zitadel-init-steps.yaml \
  --masterkey "${ZITADEL_MASTERKEY}"

API/Key Manage

docker hub

TLS

before you run scripts use sudo, make sure /usr/share/nginx/www/ in your nginx folder and allow all options. certbot need generate some files(domain check).

nginx config looks like:

        server {
          listen       80;
          listen       [::]:80;
          server_name  _;

          location ^~ /.well-known {
          allow all;
            root /usr/share/nginx/www/;
    	  }
yum install snapd -y
systemctl enable --now snapd.socket
ln -s /var/lib/snapd/snap /snap
systemctl start snapd
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot certonly --webroot -w /usr/share/nginx/www/  -d xxx.xxx (your domains) -d xxx.xxx.xxx (sub-domains)

crontab:
sudo certbot renew

Based on LobeChat

Languages

  • TypeScript 99.4%
  • Other 0.6%