├── avatar.png ├── giphy.gif ├── requirements.txt ├── run.py ├── style.css ├── README.md └── index.html /avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlackTechX011/JARVIS/HEAD/avatar.png -------------------------------------------------------------------------------- /giphy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlackTechX011/JARVIS/HEAD/giphy.gif -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | socketserver 2 | http.server 3 | webbrowser 4 | time 5 | sys 6 | os 7 | -------------------------------------------------------------------------------- /run.py: -------------------------------------------------------------------------------- 1 | # JARVIS by BlackTechX 2 | 3 | import http.server 4 | import socketserver 5 | import os 6 | import sys 7 | from colorama import init, Fore, Style 8 | import time 9 | import webbrowser 10 | 11 | def clear(): 12 | _ = os.system('cls' if os.name == 'nt' else 'clear') 13 | 14 | def Type(data): 15 | print(Fore.LIGHTBLUE_EX + "└─ " + "\033[1;37m" + data) 16 | 17 | def write(data): 18 | for char in data: 19 | sys.stdout.write(Fore.LIGHTCYAN_EX + char) 20 | sys.stdout.flush() 21 | time.sleep(0.02) 22 | print() 23 | 24 | 25 | def open_browser(url): 26 | try: 27 | webbrowser.open(url) 28 | except Exception as e: 29 | print(f"Error opening browser: {e}") 30 | def JARVIS(): 31 | print(Fore.LIGHTBLUE_EX + """ 32 | ____. _____ ______________ ____.___ _________ 33 | | | / _ \ \______ \ \ / /| |/ _____/ 34 | | |/ /_\ \ | _/\ Y / | |\_____ \ 35 | /\__| / | \| | \ \ / | |/ \ 36 | \________\____|__ /|____|_ / \___/ |___/_______ / 37 | \/ \/ \/ 38 | Virtual Assistant JARVIS By BlackTechX 39 | """) 40 | 41 | DIRECTORY = './' 42 | PORT = 8001 43 | 44 | 45 | class QuietHandler(http.server.SimpleHTTPRequestHandler): 46 | def log_message(self, format, *args): 47 | pass 48 | 49 | with socketserver.TCPServer(("", PORT), QuietHandler) as httpd: 50 | clear() 51 | JARVIS() 52 | write("JARVIS is ready. Visit:") 53 | write(f"http://localhost:{PORT}") 54 | time.sleep(2) 55 | open_browser(f"http://localhost:{PORT}") 56 | 57 | 58 | try: 59 | httpd.serve_forever() 60 | except KeyboardInterrupt: 61 | print("\nServer stopped by user.") 62 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@100;200;300;400;500;600;700&display=swap"); 2 | 3 | * { 4 | margin: 0; 5 | padding: 0; 6 | box-sizing: border-box; 7 | font-family: "Roboto Mono", monospace; 8 | } 9 | 10 | .main { 11 | min-height: 100vh; 12 | position: relative; 13 | width: 100%; 14 | background: #000; 15 | display: flex; 16 | flex-direction: column; 17 | align-items: center; 18 | justify-content: center; 19 | } 20 | 21 | .main .image-container { 22 | padding: 10px; 23 | } 24 | 25 | .main .image-container .image { 26 | width: 100%; 27 | display: flex; 28 | align-items: center; 29 | justify-content: center; 30 | } 31 | 32 | .main .image-container .image img { 33 | width: 350px; 34 | align-items: center; 35 | } 36 | 37 | 38 | .main .image-container h1 { 39 | color: #00bcd4; 40 | text-align: center; 41 | margin-bottom: 10px; 42 | font-size: 40px; 43 | } 44 | 45 | .main .image-container p { 46 | color: #324042; 47 | text-align: center; 48 | margin-bottom: 40px; 49 | } 50 | 51 | .main .input { 52 | display: flex; 53 | justify-content: center; 54 | align-items: center; 55 | width: 40vw; 56 | height: 50px; 57 | border-radius: 20px; 58 | background: rgb(202 253 255 / 50%); 59 | } 60 | 61 | .main .input .talk { 62 | background: transparent; 63 | outline: none; 64 | border: none; 65 | width: 50px; 66 | height: 50px; 67 | display: flex; 68 | justify-content: center; 69 | align-items: center; 70 | font-size: 15px; 71 | cursor: pointer; 72 | } 73 | 74 | .main .input .talk i { 75 | font-size: 20px; 76 | color: #aed0d0; 77 | } 78 | 79 | .main .input .content { 80 | color: #aed0d0; 81 | font-size: 15px; 82 | margin-right: 20px; 83 | } 84 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # JARVIS - Another Really Very Intelligent System 2 | 3 | JARVIS is an advanced virtual assistant powered by OpenAI's ChatGPT. It's meticulously crafted to seamlessly interact with users through speech input and output. With JARVIS, users can effortlessly execute diverse tasks like obtaining weather updates, setting reminders, browsing the web, and much more, all through intuitive natural language conversations. 4 | 5 | ## Features 6 | 7 | - **Cutting-Edge Speech Recognition:** JARVIS employs state-of-the-art speech recognition technology to comprehend spoken commands accurately. 8 | - **Sophisticated Natural Language Processing:** Harnessing the power of OpenAI's ChatGPT, JARVIS interprets natural language inputs and delivers intelligent responses, enhancing user interaction. 9 | - **Flexible Modular Design:** JARVIS boasts a modular architecture, facilitating easy expansion of functionality through the addition of new modules tailored for specific tasks or integrations. 10 | - **Seamless API Integration:** Utilization of OpenAI's ChatGPT model requires an API key, ensuring secure access to advanced natural language processing capabilities. Obtain your API key [here](https://platform.openai.com/api-keys). 11 | 12 | ## Getting Started 13 | 14 | To embark on your journey with JARVIS, follow these steps: 15 | 16 | # JARVIS Setup Instructions 17 | 18 | ## Step 1: Obtain Your OpenAI API Key 19 | - **Sign Up/Login**: Visit the OpenAI platform and sign in or create a new account. 20 | - **API Key Generation**: Go to the [API Keys](https://platform.openai.com/api-keys) section and generate a new API key for JARVIS. 21 | - **Secure Storage**: Ensure you store the API key securely. 22 | 23 | ## Step 2: Configure Your API Key 24 | - **Edit `index.html`**: Open the `index.html` file in your preferred code editor. 25 | - **Insert API Key**: Locate the placeholder text `'YOUR_API_KEY_HERE'` and replace it with the API key you obtained from OpenAI. 26 | 27 | ## Step 3: Run JARVIS 28 | Execute the following commands in your terminal to clone the repository and run the program: 29 | 30 | ```bash 31 | git clone https://github.com/BlackTechX011/JARVIS 32 | cd JARVIS 33 | python3 run.py 34 | ``` 35 | 36 | Ensure you have Python installed on your system before running the `python3 run.py` command. 37 | 38 | 39 | Remember to follow best practices for security, especially when handling API keys. Keep your key confidential and never share it publicly. 40 | 41 | 5. **Initiate Interaction:** 42 | - Upon launching the program, JARVIS will prompt you to speak your command. 43 | - Engage in natural conversation, and JARVIS will respond promptly and intelligently. 44 | 45 | ## Contributing 46 | 47 | We welcome contributions from the community! Whether you have innovative ideas for new features, enhancements, or bug fixes, feel free to engage with us by opening an issue or submitting a pull request. 48 | 49 | ## Acknowledgements 50 | 51 | We extend our gratitude to: 52 | 53 | - OpenAI for their provision of the ChatGPT model and API, empowering JARVIS with unparalleled natural language understanding capabilities. 54 | - The dedicated contributors to the libraries and frameworks utilized in the development of this project, enabling seamless integration and enhanced functionality. 55 | 56 | --- 57 | 58 | **Note:** JARVIS is an open-source project and maintains no affiliation with or endorsement from any commercial entity. 59 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | JARVIS - Virtual Assistant 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 |
19 | image 20 |
21 |

J A R V I S

22 |

I'm a Virtual Assistant JARVIS, How may i help you?

23 |
24 |
25 | 26 |

Click here to speak

27 |
28 |
29 | 161 | 162 | 163 | 164 | --------------------------------------------------------------------------------