├── README.md ├── chat-bubble-icon.png ├── chat-bubble-icon.svg ├── conversation.png ├── manifest.json └── user.js /README.md: -------------------------------------------------------------------------------- 1 | # ChatGPT Assistant 2 | 3 | ChatGPT Assistant is a powerful extension that enhances your browsing experience on the ChatGPT website, with features like page fetching and more. 4 | 5 | ## Why I created it 6 | 7 | I created ChatGPT Assistant to make it easier for users of the ChatGPT website to fetch and view remote pages within the chat interface. With ChatGPT Assistant, users can simply enter a `/fetch` command followed by the URL of the page they want to fetch, and the extension will automatically retrieve and display the page within the chat interface. 8 | 9 | ## How to install it 10 | 11 | To install ChatGPT Assistant, follow these steps: 12 | 13 | 1. Download the latest release of the extension from the [releases page](https://github.com/pdparchitect/ChatGPT-Assistant/releases) on GitHub. 14 | 2. Unzip the downloaded file to extract the extension files. 15 | 3. In Google Chrome, open the Extensions page (chrome://extensions/). 16 | 4. Enable Developer mode by clicking the toggle switch in the top right corner of the page. 17 | 5. Click the `Load unpacked` button and select the directory where you unzipped the extension files. 18 | 6. ChatGPT Assistant should now be installed and active on the ChatGPT website (https://chat.openai.com/chat). 19 | 20 | ## How to use it 21 | 22 | To use ChatGPT Assistant, follow these steps: 23 | 24 | 1. Visit the ChatGPT website (https://chat.openai.com/chat) and log in. 25 | 2. Type a `/fetch` command followed by the URL of the page you want to fetch. For example: `/fetch https://www.example.com/` 26 | 3. Press the Meta+ENTER key combination to execute the command. The extension will retrieve the page and display it within the chat interface. 27 | 28 | ## Support and feedback 29 | 30 | If you have any questions or feedback about ChatGPT Assistant, please open an issue on the [GitHub repository](https://github.com/pdparchitect/ChatGPT-Assistant/issues) for the extension. 31 | 32 | ## How it was made 33 | 34 | This extension was made entirely by OpenAI ChatGPT system with some guidence. 35 | 36 | ![ChatGPT conversation](conversation.png) 37 | -------------------------------------------------------------------------------- /chat-bubble-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pdparchitect/ChatGPT-Assistant/2dfe3f9b695abcbe5471f1795322f20a2f758fb6/chat-bubble-icon.png -------------------------------------------------------------------------------- /chat-bubble-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | GPT 4 | 5 | -------------------------------------------------------------------------------- /conversation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pdparchitect/ChatGPT-Assistant/2dfe3f9b695abcbe5471f1795322f20a2f758fb6/conversation.png -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ChatGPT Assistant", 3 | "version": "1.0", 4 | "manifest_version": 2, 5 | "description": "ChatGPT Assistant is a powerful extension that enhances your browsing experience on the ChatGPT website, with features like page fetching and more.", 6 | "permissions": ["activeTab", "http://*/*", "https://*/*"], 7 | "content_scripts": [ 8 | { 9 | "matches": ["https://chat.openai.com/chat"], 10 | "js": ["user.js"] 11 | } 12 | ], 13 | "icons": { 14 | "128": "chat-bubble-icon.svg" 15 | } 16 | } -------------------------------------------------------------------------------- /user.js: -------------------------------------------------------------------------------- 1 | const textarea = document.querySelector('textarea'); 2 | textarea.addEventListener('keydown', function(event) { 3 | // Check if the user pressed Meta+ENTER. 4 | if (event.metaKey && event.keyCode === 13) { 5 | // Read the text from the textarea and perform the command. 6 | const text = textarea.value; 7 | const command = parseCommand(text); 8 | if (command.type === 'fetch') { 9 | fetch(command.url).then(function(response) { 10 | response.text().then(function(body) { 11 | // Replace the textarea text with the body of the fetched webpage. 12 | textarea.value = body; 13 | }); 14 | }); 15 | } 16 | } 17 | }); 18 | 19 | function parseCommand(text) { 20 | // Parse the command from the text. 21 | if (text.startsWith('/fetch')) { 22 | var parts = text.split(' '); 23 | if (parts.length < 2) { 24 | return null; 25 | } 26 | return { 27 | type: 'fetch', 28 | url: parts[1] 29 | }; 30 | } else { 31 | // Handle other commands here. 32 | } 33 | } 34 | --------------------------------------------------------------------------------