Chat Everywhere by Explorator Labs
Chat Everywhere is an app designed to showcase the capabilities of Large Language Models and make them accessible to everyone without login or geo-restrictions. Our community has contributed valuable feedback during the app's development, resulting in additional features not found in the official ChatGPT.
- Folder structures
- Prompt templates
- Import/Export conversations
- Delete message
- Multi language support
^Thanks to the open-source community
- Share conversations
- Internet connected enhance mode (Beta)
- Respond Language selection (Coming up)
- Store conversations (Coming up)
This project is forked from Chatbot UI, an initiative by Mckay to build a superior and open-source user interface compared to the official one.
Explorator Labs is committed to lowering barriers to accessing technology like ChatGPT by pledging a fixed monthly budget, making this project available without the need for login or payment.
As the popularity of Chat Everywhere has grown, we are facing challenges in covering the increased costs, which now exceed USD $2k per month. In the coming weeks, we will introduce a paid account feature to support the project's sustainability and enable us to develop more advanced functionalities for all users!
1. Clone Repo
git clone https://github.com/exploratortech/chat-everywhere
2. Install Dependencies
npm i
3. Provide OpenAI API Key
Create a .env.local file in the root of the repo with your OpenAI API Key:
OPENAI_API_KEY=YOUR_KEY
4. Run App
npm run dev
5. Use It
Start chatting and enjoy!
- Ensure that the environment variable
WEB_CONTENT_FUNCTION_SECRET
is set in the project's root folder and in./firebase/functions/
. - Deploy the Firebase functions using
npm run deploy
. - Update the
WEB_CONTENT_FUNCTION_ENDPOINT
after completing the initial deployment.
- Create a supabase bucket
ai-images
and make it public in the Local supabase server.
- Create a supabase bucket
image-to-prompt
and make it public in the Local supabase server. - Go to file
pages/api/image-to-prompt.ts
and uncomment the functionreplaceLocalhost
- Update the variable
ngrokHost
andlocalSupabaseHost
- Uncomment the line where url is passed to
url: replaceLocalhost(url)
, in functionnextLegDescribe
- Now that your supabase bucket is accessible from the internet, so that the next leg api can access it.
- Create a supabase bucket
student_message_submissions_image
and make it public in the Local supabase server.
- Make the changes in local Supabase emulator
- Generate a new migration file with
supabase migration new migration_file_name
- Get database difference with
supabase db diff
- Apply appropriate changes to the new migration file
- Install instructions: https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-mac-os/
- After the installation, there is no need to run the Redis server manually. We are using the containerized version of Redis for local development.
- If you already have Redis installed and have another Redis server running on the default port(6379), you can change the port by modifying the
docker-compose.yml
file.
- Run Serverless Redis Server(SRS) for local development
Reference: https://upstash.com/docs/oss/sdks/ts/redis/developing
docker compose up
- Update the
.env
file with the Redis URL
UPSTASH_REDIS_REST_URL="http://localhost:8079"
UPSTASH_REDIS_REST_TOKEN="example_token"