update documentation structure (#220)

* documentation refactor

* Update README.md

* Delete README.MD.md

* Delete LOCAL_INSTALL.md

* Rename LICENSE.MD.md to LICENSE.MD

* Update LICENSE.md

* Delete LICENSE.MD

* Rename CONTRIBUTORS.MD.md to CONTRIBUTORS.md

* Rename CHANGELOG.MD.md to CHANGELOG.md

* new documents layout

* Update README.md

* Rename mac_install (1).md to mac_install.md

* Rename docker_install.md to docker_install.md

* Rename linux_install.md to linux_install.md

* Update and rename mac_install.md to mac_install.md

* Rename windows_install.md to windows_install.md

* Update docker_install.md

* Update linux_install.md

* Update mac_install.md

* Update windows_install.md

* Update windows_install.md

* Update linux_install.md

* Update tech_stack.md

* Update roadmap.md

* Update project_origin.md

* Update bing_jailbreak_info.md

* Update user_auth_system.md

* Update proxy.md

* Update google_search.md

* Update heroku.md

* Update testing.md

* Update pull_request_template.md

* Update documentation_guidelines.md

* Update contributor_guidelines.md

* Update code_of_conduct.md

* Update README.md

* Update README.md

* Update README.md

* Update roadmap.md

* Update tech_stack.md

* Update feature_request_template.md

* Update bug_report_template.md

* Update custom_issue_template.md

* Update README.md

fix redirect

* Update README.md

dynamic toc

* Update README.md

hide plugins section for now

* Update README.md

removed plugins from TOC

* Update README.md

* Update README.md

* Update documentation_guidelines.md

* Update documentation_guidelines.md

* Update documentation_guidelines.md

directives update

* Update README.md

update shortcut

* Update CHANGELOG.md

* Update roadmap.md

add public trello link

* Update linux_install.md
This commit is contained in:
Fuegovic 2023-05-09 13:47:14 -04:00 committed by GitHub
parent 177028aafc
commit e2dc994b63
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 1429 additions and 533 deletions

View file

@ -0,0 +1,62 @@
# Docker
- **Provide** all credentials, (API keys, access tokens, and Mongo Connection String) in [docker-compose.yml](https://stackedit.io/docker-compose.yml) under api service
- **Run** `docker-compose up` to start the app
- Note: MongoDB does not support older ARM CPUs like those found in Raspberry Pis. However, you can make it work by setting MongoDBs version to mongo:4.4.18 in docker-compose.yml, the most recent version compatible with
##
**[chatgptclone/app Tags | Docker Hub](https://hub.docker.com/r/chatgptclone/app/tags)**
##
### Prerequisites
- Node.js >= 19.0.0 : https://nodejs.org/en/download
- MongoDB installed or [MongoDB Atlas](https://account.mongodb.com/account/login) (required if not using Docker)
- MongoDB does not support older ARM CPUs like those found in Raspberry Pis. However, you can make it work by setting MongoDB's version to mongo:4.4.18 in docker-compose.yml, the most recent version compatible with.
- If using MongoDB Atlas, remove `&w=majority` from default connection string.
- [OpenAI API key](https://platform.openai.com/account/api-keys)
- BingAI, ChatGPT access tokens (optional, free AIs)
### Usage
- **Clone/download** the repo down where desired
```bash
git clone https://github.com/danny-avila/chatgpt-clone.git
```
##
**Create a MongoDB database**
- Navigate to https://www.mongodb.com/ and Sign In or Create an account
- Create a new project
- Build a Database using the free plan and name the cluster (example: chatgpt-clone)
- Use the "Username and Password" method for authentication
- Add your current IP to the access list
- In the Database Deployment tab, click on Connect
- "Choose a connection method" select "Connect your application"
- Driver = Node.js / Version = 4.1 or later
- Copy the connection string, fill in your password and remove `&w=majority` from default connection string.
##
**ChatGPT Free Instructions:**
- To get your Access token for ChatGPT 'Free Version', log in to chat.openai.com, then visit https://chat.openai.com/api/auth/session.
- Warning: There may be a high chance of your account being banned with this method. Continue doing so at your own risk.
##
**Get your Bing Access Token**
- Using MS Edge, navigate to bing.com
- Make sure you are logged in
- Open the DevTools by pressing F12 on your keyboard
- Click on the tab "Application" (On the left of the DevTools)
- Expand the "Cookies" (Under "Storage")
- Copy the value of the "\_U" cookie
##
## [Go Back to ReadMe](../../README.md)

View file

@ -0,0 +1,126 @@
# Linux Installation
## Prerequisites
Before installing ChatGPT-Clone, make sure your machine has the following prerequisites installed:
- Git: To clone the repository.
- Node.js: To run the application.
- MongoDB: To store the chat history.
## Installation Steps
1. Clone the repository:
```bash
git clone https://github.com/danny-avila/chatgpt-clone.git
```
2. Extract the content in your desired location:
```bash
cd chatgpt-clone
unzip chatgpt-clone.zip -d /usr/local/
```
Note: The above command extracts the files to "/usr/local/chatgpt-clone". If you want to install the files to a different location, modify the instructions accordingly.
3. Enable the Conversation search feature: (optional)
- Download MeiliSearch latest release from: https://github.com/meilisearch/meilisearch/releases
- Copy it to "/usr/local/chatgpt-clone/"
- Rename the file to "meilisearch"
- Open a terminal and navigate to "/usr/local/chatgpt-clone/"
- Run the following command:
```bash
./meilisearch --master-key=YOUR_MASTER_KEY
```
Note: Replace "YOUR_MASTER_KEY" with the generated master key, which you saved earlier.
4. Install Node.js:
Open a terminal and run the following commands:
```bash
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
```
5. Create a MongoDB database:
- Navigate to https://www.mongodb.com/ and sign in or create an account.
- Create a new project.
- Build a Database using the free plan and name the cluster (example: chatgpt-clone).
- Use the "Username and Password" method for authentication.
- Add your current IP to the access list.
- Then in the Database Deployment tab click on Connect.
- In "Choose a connection method" select "Connect your application".
- Driver = Node.js / Version = 4.1 or later.
- Copy the connection string and save it somewhere (you will need it later).
6. Get your OpenAI API key - Visit https://platform.openai.com/account/api-keys and save your API key somewhere safe (you will need it later)
7. Get your Bing Access Token
- Using a web browser, navigate to bing.com
- Make sure you are logged in
- Open the browser DevTools by pressing F12 on your keyboard
- Click on the tab "Application" (On the left of the DevTools)
- Expand the "Cookies" (Under "Storage")
- You need to copy the value of the "_U" cookie, save it somewhere, you will need it later
8. Create the ".env" File
You will need all your credentials, (API keys, access tokens, and MongoDB Connection String, MeiliSearch Master Key)
- Open "~/chatgpt-clone/api/.env.example" in a text editor
- At this line MONGO_URI="mongodb://127.0.0.1:27017/chatgpt-clone", replace mongodb://127.0.0.1:27017/chatgpt-clone with the MongoDB connection string you saved earlier, remove "&w=majority" at the end
- It should look something like this: "MONGO_URI="mongodb+srv://username:password@chatgpt-clone.lfbcwz3.mongodb.net/?retryWrites=true"
- At this line OPENAI_KEY= you need to add your OpenAI API key
- Add your Bing token to this line BINGAI_TOKEN= (needed for BingChat & Sydney)
- If you want to enable Search, SEARCH=TRUE if you do not want to enable search SEARCH=FALSE
- Add your previously saved MeiliSearch Master key to this line MEILI_MASTER_KEY= (the key is needed if search is enabled even on local install or you may encounter errors)
- Save the file as "~/chatgpt-clone/api/.env"
## Run the project
### Using the command line
1. Run `npm ci` in the "/home/user/chatgpt-clone/api" directory
2. Run `npm ci` in the "/home/user/chatgpt-clone/client" directory
3. Run `npm run build` in the "/home/user/chatgpt-clone/client"
4. Run `meilisearch --master-key put_your_meilesearch_Master_Key_here` in the "/home/user/chat
5. Run "meilisearch --master-key put_your_meilesearch_Master_Key_here" in the "/home/user/chatgpt-clone" directory (Only if SEARCH=TRUE)
6. Run npm start in the "/home/user/chatgpt-clone/api" directory
7. Visit http://localhost:3080 (default port) & enjoy
### Using a shell script
- Create a shell script to automate the starting process
- Open a text editor
- Paste the following code in a new document
- Put your MeiliSearch master key instead of "your_master_key_goes_here"
- Save the file as "/home/user/chatgpt-clone/chatgpt-clone.sh"
- You can make a shortcut of this shell script and put it anywhere
```
#!/bin/bash
# the meilisearch executable needs to be at the root of the chatgpt-clone directory
gnome-terminal --tab --title="MeiliSearch" --command="bash -c 'meilisearch --master-key your_master_key_goes_here'"
# ↑↑↑ meilisearch is the name of the meilisearch executable, put your own master key there
gnome-terminal --tab --title="ChatGPT-Clone" --working-directory=/home/user/chatgpt-clone/api --command="bash -c 'npm start'"
# this shell script goes at the root of the chatgpt-clone directory (/home/user/chatgpt-clone/)
```
## Update the app version
If you update the chatgpt-clone project files, manually redo the npm ci and npm run build steps.
##
## [Go Back to ReadMe](../../README.md)

View file

@ -0,0 +1,130 @@
# Mac Install
Thanks to @heathriel!
##
**Install the prerequisites**:
- Install Homebrew (if not already installed) by following the instructions on https://brew.sh/
- Install Node.js and npm by running `brew install node`
- Install MongoDB (if not using Docker) by running `brew tap mongodb/brew` and `brew install mongodb-community`
- Install Docker (optional) by following the instructions on https://docs.docker.com/desktop/mac/install/
- Obtain an OpenAI API key, BingAI and ChatGPT access tokens as described in the original instructions
- Install Homebrew (if not already installed) by following the instructions on https://brew.sh/
- Install Node.js and npm by running brew install node
- Install MongoDB (if not using Docker) by running brew tap mongodb/brew and brew install mongodb-community
**Instructions:**
- Open Terminal and clone the repository by running git clone https://github.com/danny-avila/chatgpt-clone.git
- Change into the cloned directory by running cd chatgpt-clone
- If using MongoDB Atlas, remove &w=majority from the default connection string
Follow the instructions for setting up proxies, access tokens, and user system:
**Access Tokens:**
**ChatGPT Free Instructions:**
- To get your Access token for ChatGPT 'Free Version', log in to chat.openai.com, then visit https://chat.openai.com/api/auth/session.
- Warning: There may be a high chance of your account being banned with this method. Continue doing so at your own risk.
**BingAI Instructions:**
- To get the Bing Access Token, navigate to bing.com using a web browser such as Chrome or Safari, and ensure you're logged in.
- Open the Developer Tools (in Chrome or Safari, press Cmd + Option + I).
- Click on the "Application" tab (Chrome) or "Storage" tab (Safari).
- Expand the "Cookies" section under "Storage".
- Copy the value of the "_U" cookie and save it somewhere. You'll need it later.
**Set up proxy in the local environment (for Mac):**
**Option 1: Set system-level environment variable**
- Open Terminal and run export PROXY="http://127.0.0.1:7890"
- Change http://127.0.0.1:7890 to your proxy server
**Option 2: Set in .env file**
- Open the .env file in the api directory with a text editor
- Add PROXY="http://127.0.0.1:7890" to the file
- Change http://127.0.0.1:7890 to your proxy server
**Set up proxy in the Docker environment (for Mac):**
- Open the docker-compose.yml file with a text editor
- Under services, find the api section, and then locate the environment section
- Add the line - "PROXY=http://127.0.0.1:7890" under the environment section
- Change http://127.0.0.1:7890 to your proxy server
- Create a .env file in the api directory by running cp api/.env.example api/.env and edit the file with your preferred text editor, adding the required API keys, access tokens, and MongoDB connection string
- Run npm ci in both the api and client directories by running:
```
cd api && npm ci && cd ..
cd client && npm ci && cd ..
```
- Build the client by running cd client && npm run build && cd ..
**Download MeiliSearch for macOS:**
- You can download the latest MeiliSearch binary for macOS from their GitHub releases page: https://github.com/meilisearch/MeiliSearch/releases. Look for the file named meilisearch-macos-amd64 (or the equivalent for your system architecture) and download it.
**Make the binary executable:**
- Open Terminal and navigate to the directory where you downloaded the MeiliSearch binary. Run the following command to make it executable:
```
chmod +x meilisearch-macos-amd64
```
**Run MeiliSearch:**
- Now that the binary is executable, you can start MeiliSearch by running the following command, replacing your_master_key_goes_here with your desired master key:
```
./meilisearch-macos-amd64 --master-key your_master_key_goes_here
```
- MeiliSearch will start running on the default port, which is 7700. You can now use MeiliSearch in your ChatGPT-Clone project.
- Remember to include the MeiliSearch URL and Master Key in your .env file in the api directory. Your .env file should include the following lines:
```
MEILISEARCH_URL=http://127.0.0.1:7700
MEILISEARCH_KEY=your_master_key_goes_here
```
- With MeiliSearch running and configured, the ChatGPT-Clone project should now have the Conversation search feature enabled.
- In the chatgpt-clone directory, start the application by running cd api && npm start
Visit http://localhost:3080 (default port) & enjoy
**Optional but recommended:**
- Create a script to automate the starting process by creating a new file named start_chatgpt.sh in the chatgpt-clone directory and pasting the following code:
```
#!/bin/bash
# Replace "your_master_key_goes_here" with your MeiliSearch Master Key
if [ -x "$(command -v ./meilisearch)" ]; then
./meilisearch --master-key your_master_key_goes_here &
fi
cd api && npm start
```
**Make the script executable by running**
```
chmod +x start_chatgpt.sh
```
**Start ChatGPT-Clone by running**
```
./start_chatgpt.sh
```
##
**Note:**
- To share within the network or serve as a public server, set HOST to 0.0.0.0 in the .env file.
##
## [Go Back to ReadMe](../../README.md)

View file

@ -0,0 +1,106 @@
# Windows Install
### Recommended:
### **[Automated Installer (Windows)](https://github.com/fuegovic/chatgpt-clone-local-installer)**
(Includes a Startup and Update Utility)
##
### Install the prerequisites on your machine
- **Download chatgpt-clone**
-
- Download the latest release here: https://github.com/danny-avila/chatgpt-clone/releases/
- Or by clicking on the green code button in the top of the page and selecting "Download ZIP"
- Or (Recommended if you have Git installed) pull the latest release from the main branch
- If you downloaded a zip file, extract the content in "C:/chatgpt-clone/"
- **IMPORTANT : If you install the files somewhere else modify the instructions accordingly**
- ** **Enable the Conversation search feature:**** (optional)
- Download MeiliSearch latest release from : https://github.com/meilisearch/meilisearch/releases
- Copy it to "C:/chatgpt-clone/"
- Rename the file to "meilisearch.exe"
- Open it by double clicking on it
- Copy the generated Master Key and save it somewhere (You will need it later)
- **Download and Install Node.js**
- Navigate to https://nodejs.org/en/download and to download the latest Node.js version for your OS (The Node.js installer includes the NPM package manager.)
- **Create a MongoDB database**
- Navigate to https://www.mongodb.com/ and Sign In or Create an account
- Create a new project
- Build a Database using the free plan and name the cluster (example: chatgpt-clone)
- Use the "Username and Password" method for authentication
- Add your current IP to the access list
- Then in the Database Deployment tab click on Connect
- In "Choose a connection method" select "Connect your application"
- Driver = Node.js / Version = 4.1 or later
- Copy the connection string and save it somewhere(you will need it later)
- **Get your OpenAI API key**
- here: https://platform.openai.com/account/api-keys and save it somewhere safe (you will need it later)
- **Get your Bing Access Token**
- Using MS Edge, navigate to bing.com
- Make sure you are logged in
- Open the DevTools by pressing F12 on your keyboard
- Click on the tab "Application" (On the left of the DevTools)
- Expand the "Cookies" (Under "Storage")
- You need to copy the value of the "\_U" cookie, save it somewhere, you will need it later
- **Create the ".env" File**
You will need all your credentials, (API keys, access tokens, and Mongo Connection String, MeileSearch Master Key)
- Open "C:/chatgpt-clone/api/.env.example" in a text editor
- At this line **MONGO_URI="mongodb://127.0.0.1:27017/chatgpt-clone"**
Replace mongodb://127.0.0.1:27017/chatgpt-clone with the MondoDB connection string you saved earlier, **remove "&w=majority" at the end**
- It should look something like this: "MONGO_URI="mongodb+srv://username:password@chatgpt-clone.lfbcwz3.mongodb.net/?retryWrites=true"
- At this line **OPENAI_KEY=** you need to add your openai API key
- Add your Bing token to this line **BINGAI_TOKEN=** (needed for BingChat & Sydney)
- If you want to enable Search, **SEARCH=TRUE** if you do not want to enable search **SEARCH=FALSE**
- Add your previously saved MeiliSearch Master key to this line **MEILI_MASTER_KEY=** (the key is needed if search is enabled even on local install or you may encounter errors)
- Save the file as **"C:/chatgpt-clone/api/.env"**
### Run the app
#### Using the command line
- **Run** `npm ci` in the "C:/chatgpt-clone/api" directory
- **Run** `npm ci` in the "C:/chatgpt-clone/client" directory
- **Run** `npm run build` in the "C:/chatgpt-clone/client"
- **Run** `"meilisearch --master-key put_your_meilesearch_Master_Key_here"` in the "C:/chatgpt-clone" directory (Only if SEARCH=TRUE)
- **Run** `npm start` in the "C:/chatgpt-clone/api" directory
- **Visit** http://localhost:3080 (default port) & enjoy
#### Using a batch file
- **Make a batch file to automate the starting process**
- Open a text editor
- Paste the following code in a new document
- Put your MeiliSearch master key instead of "your_master_key_goes_here"
- Save the file as "C:/chatgpt-clone/chatgpt-clone.bat"
- you can make a shortcut of this batch file and put it anywhere
```
REM the meilisearch executable needs to be at the root of the chatgpt-clone directory
start "MeiliSearch" cmd /k "meilisearch --master-key your_master_key_goes_here
REM ↑↑↑ meilisearch is the name of the meilisearch executable, put your own master key there
start "ChatGPT-Clone" cmd /k "cd api && npm start"
REM this batch file goes at the root of the chatgpt-clone directory (C:/chatgpt-clone/)
```
### Update the app version
If you update the chatgpt-clone project files, mannually redo the `npm ci` and `npm run build` steps
##
## [Go Back to ReadMe](../../README.md)