Loz: ferramenta CLI baseada em chatGPT com suporte a pipe
(github.com/joone)Olá.
Quero compartilhar um pequeno programa que uso pessoalmente.
Originalmente, eu o criei para gerar automaticamente mensagens de commit do git, mas como ele oferece suporte a pipes do Unix, dá para aplicá-lo de várias formas.
É parecido com a ferramenta feita em Python que outra pessoa publicou abaixo. Esta ferramenta foi escrita em TypeScript e requer uma chave de API da OpenAPI.
$ loz
digita isso para usar o modo de conversa normalmente. Para sair, basta usar exit ou quit.
Comparado à versão web, o resultado sai mais curto.
No modo pipe, dá para fazer coisas assim..
$ 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"
}
]
Se você copiar o script abaixo, ele passa a escrever automaticamente a mensagem de commit do git, e o resultado fica bem utilizável quando o texto é gerado em inglês.
Copy script/prepare-commit-msg to .git/hooks in your git project
Obrigado..
6 comentários
Ah, não sei se você é aquela outra pessoa, mas
parece bem mais útil haha. Vou deixar uma estrela discretamente e sair correndo..!!
Se pudesse oferecer opções de
gptou ChatGPT, como o AiShell, acho que seria ainda melhor; deixo essa sugestão com todo cuidado..! Pessoalmente, acho uma pena gastar os créditos, então acabo usando mais a versão com engenharia reversa do ChatGPT mesmo hehePretendo adicionar a funcionalidade de seleção de modelo.. E também quero incluir uma forma de usar gratuitamente com Puppeteer. Como não conheço exatamente o prompt interno, parece que ao acessar pelo navegador ele fornece informações melhores.
Só para constar, a mensagem de commit mais recente deste projeto foi autocompletada pelo ChatGPT.
Parece bem útil mesmo, haha. Fiquei curioso: o que acontece se você digitar algo totalmente sem relação com o comando? Tipo perguntar do nada quem foi o 19º presidente dos Estados Unidos?
% ls -l | loz "Who is the presient of the US? "
The current President of the United States is Joe Biden.%
Ele ignora o conteúdo de
ls -le responde corretamente..