Cuando usa ChatGPT, muy a menudo, debe repetir las mismas indicaciones o partes de las mismas indicaciones.
Se vuelve muy molesto escribir lo mismo una y otra vez, especialmente si ChatGPT olvida el propósito del chat, entonces tienes que repetir la misma solicitud en el contexto de este o aquel diálogo. Inicialmente, copié las indicaciones estándar en un bloc de notas de texto.
Estos fueron, por ejemplo, tales indicaciones:
Pero abrir un documento de texto cada vez y copiar y pegar el aviso requerido tampoco es conveniente. Sin mencionar el hecho de que soy muy perezoso y no me gusta repetir las mismas acciones.
Y luego tuve la idea de crear un complemento para Google Chrome, con el que puede agregar botones directamente a la interfaz de ChatGPT, al presionar el mensaje requerido se insertará en el campo de entrada de texto.
El complemento no es complicado y compartiré su código aquí contigo.
Primero, cree un directorio en algún lugar donde estará nuestro complemento. Lo nombraré /gptinsert
En el directorio, puede crear inmediatamente un icono de 48x48 píxeles, nombrándolo icono.png
Después de eso, creamos un archivo manifest.json con el siguiente contenido:
{ "manifest_version": 3, "name": "ChatGPT textarea buttons", "version": "1.0", "permissions": ["activeTab"], "content_scripts": [ { "matches": ["https://chat.openai.com/*"], "js": ["content.js"] } ], "icons": { "48": "icon.png" } }
Después de eso, creamos un archivo que realizará el trabajo de nuestro módulo; lo llamamos content.js y le agregamos el siguiente código en JavaScript:
const insertText = (text) => { // Check if the page has a textarea. const textarea = document.querySelector('textarea'); if (textarea) { const startPosition = textarea.selectionStart; // The position of the cursor at the beginning of the selected text. const endPosition = textarea.selectionEnd; // The position of the cursor at the end of the selected text. const originalText = textarea.value; // The original text in the textarea. const newText = originalText.slice(0, startPosition) + text + originalText.slice(endPosition); // The new text in the textarea. textarea.value = newText; // Insert the new text into the textarea. textarea.focus(); // Focus on the textarea. textarea.selectionEnd = startPosition + text.length; // Set the cursor position at the end of the inserted text. textarea.selectionStart = startPosition + text.length; // Set the cursor position at the beginning of the inserted text. } }; // Create a button. const addButton = (title,text) => { const button = document.createElement('button'); // Create a button. button.textContent = `${title}`; // Set the button text. button.addEventListener('click', (event) => { event.preventDefault(); insertText(text); // Insert text into the textarea. }); return button; }; // Add buttons to the page. const init = () => { // Check if the page has a textarea. const textarea = document.querySelector('textarea').parentElement; if (textarea && !document.querySelector('.textarea-buttons')) { // Create a container for the buttons. const container = document.createElement('div'); container.className = 'textarea-buttons'; container.style.display = 'flex'; container.style.gap = '5px'; container.style.marginTop = '5px'; // Add buttons to the container. container.appendChild(addButton('Summarize','Summarize the following text in English: ')); container.appendChild(addButton('Translate','If the following text is in English, translate it into Italian, and if in Italian, then into English: ')); container.appendChild(addButton('Poem','Create a poem based on the following text: ')); container.appendChild(addButton('Response','My name is Ilya, write that I can answer my interlocutor in this dialogue: ')); // Add the container below the textarea. textarea.parentNode.insertBefore(container, textarea.nextSibling); } }; init(); // If the page uses dynamic elements, periodically check and add buttons if necessary. setInterval(init, 1000);
Ahora necesitamos agregar este complemento a Google Chrome. Para esto, vamos a Menú->Configuración->Extensiones->Cargar sin empaquetar, luego abrimos el directorio con nuestro complemento /gptinsert, y hacemos clic en el botón "Seleccionar carpeta" .
Después de esto, el logotipo de nuestro complemento aparecerá junto a la barra de direcciones en el navegador.
Ahora, podemos usarlo. Para hacer esto, simplemente abra https://chat.openai.com/ y cree un nuevo chat, después de lo cual aparecerán 4 botones en la parte inferior de nuestro chat: Resumir, Traducir, Poema y Responder.
Al presionar, por ejemplo, en Resumir, aparecerá el mensaje "Resumir el siguiente texto en inglés:" en el campo de entrada.
Después de esto, puede insertar cualquier texto en cualquier idioma admitido, y ChatGPT generará su breve contenido y significado.
Comprobemos el trabajo del botón "Respuesta", por ejemplo:
Si necesita agregar un nuevo botón, solo necesita agregar el siguiente código al archivo content.js :
container.appendChild(addButton('My button','My prompt text: '));
Después de guardar, solo necesita reiniciar el navegador y todo funcionará.
De esta manera, puede agregar una cantidad ilimitada de botones y avisos. Con el uso frecuente, esto acelera notablemente el trabajo y agrega comodidad ;)
Enlace GitHub: https://github.com/sinenko/ChatGptPromptInsert