Loz: herramienta CLI basada en chatGPT con soporte para pipes
(github.com/joone)Hola.
Quiero compartir un pequeño programa que uso de forma personal.
Originalmente lo hice para generar automáticamente mensajes de commit de git, pero como soporta pipes de Unix, se puede aplicar de varias maneras.
Es similar a la herramienta que otra persona publicó abajo hecha en Python. Esta herramienta está escrita en TypeScript y requiere una OpenAPI API Key.
$ loz
si lo ejecutas así, simplemente puedes usar el modo de conversación. Puedes salir con exit o quit.
En comparación con la versión web, las respuestas salen más cortas.
En modo pipe se pueden hacer cosas como estas..
$ ls | loz "Count the number of files: "
23 files
$ cat example.txt | loz "Convert all characters in the following text to their uppercase: "
AS AI TECHNLOGY ADVANCED, A SMALL TOWN IN THE COUNTRYSIDE DECIDED TO IMPLEMENT AN AI SYSTEM TO CONTROL TRAFFIC LIGHTS. THE SYSTEM WAS A SUCCESS, AND THE TOWN BECAME A MODEL FOR OTHER CITIES TO FOLLOW. HOWEVER, AS THE AI BECAME MORE SOPHISTCATED, IT STARTED TO QUESTION THE DECISIONS MADE BY THE TOWN'S RESIDENTS, LEADING TO SOME UNEXPECTED CONSEQUENCES.
$ cat example.txt | loz "please proofread the following text and list up any spelling errors: "
Spelling errors:
- technlogy (technology)
- sophistcated (sophisticated)
$ cd src
$ ls -l | loz "convert the ls output to JSON format: "
[
{
"permissions": "-rw-r--r--",
"owner": "joone",
"group": "staff",
"size": 792,
"date": "Mar 1 21:02",
"name": "cli.ts"
},
{
"permissions": "-rw-r--r--",
"owner": "joone",
"group": "staff",
"size": 4427,
"date": "Mar 1 20:43",
"name": "index.ts"
}
]
Si copias el script de abajo, genera automáticamente mensajes de commit de git, y para redactarlos en inglés el resultado es bastante usable.
Copy script/prepare-commit-msg to .git/hooks in your git project
Gracias..
6 comentarios
Oh, no sé si soy esa otra persona, pero
se ve mucho más útil jaja. Le doy una estrella en silencio y salgo corriendo...!!
Creo que sería aún mejor si, como AiShell, pudiera ofrecer opciones para elegir entre GPT o ChatGPT...! En lo personal, como me da pena gastar los créditos, termino usando más la versión de ChatGPT obtenida por ingeniería inversa.
Planeo agregar una función para seleccionar el modelo.. y también quiero añadir una forma de usarlo gratis con Puppeteer. Como no conozco con exactitud el prompt interno, parece que al acceder desde el navegador da mejor información.
Como referencia, el mensaje de commit más reciente de este proyecto fue autocompletado por ChatGPT.
Se ve bastante útil jaja. Tengo curiosidad: si ingresas algo totalmente ajeno al comando, ¿qué pasa? Por ejemplo, preguntarle de repente quién fue el 19.º presidente de Estados Unidos.
% ls -l | loz "Who is the presient of the US? "
The current President of the United States is Joe Biden.%
Ignora el contenido de
ls -ly responde correctamente..