Shell Genie é uma nova ferramenta de linha de comando que pode ser usada para perguntar em inglês simples como executar várias tarefas, e dá-lhe o comando shell que você precisa. Para gerar os comandos, ele usa o GPT-3 ou Free Genie do OpenAI, um back-end gratuito fornecido pelo desenvolvedor do Shell Genie.
Uma vez que o Shell Genie mostra um comando, ele perguntará se você deseja executá-lo. Certifique-se de entender o comando antes de fazer isso! Você pode usar algo como Explain Shell para entender o que o comando faz. Além disso, provavelmente é melhor que você use isso apenas para consultas/comandos que não podem quebrar as coisas no seu computador. Nem todos os comandos funcionarão como esperado, então use isso por sua conta e risco!
Este é o Shell Genie em ação:
$ shell-genie ask "find all files that have been changed in the last 3 days from the current directory and subdirectories, with details"
Command: find . -mtime -3 -ls
$ shell-genie ask "use ffmpeg to extract audio from video without re-encoding it"
Command: ffmpeg -i <input_video_file> -vn -acodec copy arquivo_de_audio_de_saida
$ shell-genie ask "replace all instances of ^ with / in all .sh files in the current folder"
Command: sed -i 's/\^/\//g' *.sh
Você pode pedir-lhe para executar comandos mais complexos, bem, apenas certifique-se de que sua consulta inclui as palavras-chave corretas - sua consulta é muito importante:
$ shell-genie ask "replace all instances of ^ with / in all .php files in the current folder that have been modified in the last 2 days"
Command: find . -name "*.php" -mtime -2 -exec sed -i 's/\^/\//g' {} \;
A ferramenta também pode explicar o comando, por exemplo:
$ shell-genie ask "find all files that have been changed in the last 3 days from the current directory and subdirectories, with details" --explain
Command: find . -type f -mtime -3 -ls
Description: This command will search the current directory and all subdirectories for files that have been modified in the last 3 days. The -type f option specifies that only files should be searched, the -mtime -3 option specifies that only files modified in the last 3 days should be searched, and the -ls option provides detailed information about the files found.
Isso renderiza nosso artigo sobre como encontrar arquivos modificados nos últimos dias ou minutos (e outros)... inútil. Ah, bem 😀️.
Eu tenho usado o Shell Genie por alguns dias, e os comandos exibidos estavam no local na maioria dos casos. Quando eles não estavam, geralmente era devido a um erro do usuário – eu não expliquei o que eu queria fazer bem o suficiente. Não assuma que a ferramenta entende o que você quer que ela faça! E lembre-se, você está explicando o que você quer fazer para uma máquina, e não para um ser humano. Eu também devo mencionar que eu usei o Shell Genie com o back-end OpenAI GPT-3, e não o back-end Free Genie.
Se você optar por executar o comando e estiver usando o back-end Free Genie, e não o OpenAI GPT-3, poderá fornecer feedback para ajudar a melhorar a ferramenta. Observe que o servidor Free Genie armazena os comandos solicitados, o sistema operacional e a versão do shell para melhorar o modelo. Além disso, o servidor não tem tempo de atividade garantido 24 horas por dia, 7 dias por semana.
Também vale a pena mencionar que o uso do Shell Genie com GPT-3 requer o uso de uma chave de API, enquanto o uso do servidor Free Genie não.
O Shell Genie pode ser instalado usando pipx, uma ferramenta para instalar e executar aplicativos python em ambientes isolados. O Shell Genie requer Python 3.10 ou mais recente, então certifique-se de que você está usando isso antes de continuar (por exemplo, ele não funcionará no Ubuntu 20.04 ou Debian Bullseye e mais antigo).
Instale o pipx a partir dos repositórios da sua distribuição Linux:
sudo apt install pipx
*Fedora:
sudo dnf install pipx
sudo pacman -S python-pipx
sudo zypper install python-pipx
Agora tudo o que você precisa fazer é usar o pipx para instalar o Shell Genie:
pipx install shell-genie
Shell Genie agora deve ser instalado no ~/.local
(apenas para o seu usuário). Caso ~/.local/bin
não esteja disponível no seu PATH, adicione-o. O pipx pode fazer isso automaticamente para você – execute pipx ensurepath
e, em seguida, abra uma nova janela de terminal para usar o novo PATH.
Para usar o Shell Genie, você precisará configurá-lo. Então, a primeira vez que você precisa executá-lo assim:
shell-genie init
Isso solicitará que você escolha o back-end que deseja usar (OpenAI GPT-3 ou Free Genie), etc. Se você selecionar o back-end OpenAI GPT-3, precisará fornecer uma chave de API. Você pode obter um criando uma conta OpenAI, em seguida, visite as configurações da sua conta e clique em Chaves de API. Certifique-se de ter créditos suficientes em sua conta OpenAI para usá-lo.
Após a conclusão da configuração inicial, você pode começar a usar o Shell Genie, assim:
shell-genie ask "o_comando_que_você_quer_executar_explicado_em_ingl"
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
Convert Plain English To Commands Using GPT-3 Powered Shell Genie