Uma interface shell de linguagem natural para sistemas *nix.
Orphic é uma ferramenta CLI que usa GPT para traduzir tarefas complexas em comandos shell a serem executados no sistema. Ele é excelente em tarefas relativamente simples, mas que exigem comandos complexos e obscuros para serem realizadas.
$ orphic delete all installers or tars from ~/Downloads that are more than a week old
find ~/Downloads -name '*.tar.*' -mtime +7 -delete; find ~/Downloads -name '*.dmg' -mtime +7 -delete
Execute? [Y/n] Y
Nota: O padrão do Orphic é o modo de segurança e não executará comandos automaticamente sem confirmação, a menos que o modo inseguro seja especificado.
cargo install orphic
OPENAI_API_KEY
seja definida. Você pode gerar um aqui.Orphic foi projetado para ser usado como você usaria qualquer outra ferramenta CLI.
$ orphic sort ~/Downloads into folders based on media type
$ orphic how strong is my network connection
$ orphic what version kernel am i running
$ orphic show me the name and size of all files larger than 8MB in ~/Downloads/
$ orphic <do task that would otherwise require complex commands that you don't know off the top of your head>
-u
ou --unsafe
executará comandos sem verificação do usuário.
-4
ou --gpt4
tentará usar GPT-4 em vez de GPT-3.5-Turbo. Observe que isso só funcionará se sua conta OpenAI tiver acesso ao modelo.
-i
ou --interpret
descreverá a saída da tarefa em linguagem natural (observe que isso geralmente é muito lento).
$ orphic -u -i how much disk space is available
You have 16GB available out of a total of 113GB on your main hard
drive, which is mounted on the root directory.
Other partitions and file systems are also listed with their
respective usage percentages and mount points.
-d
ou --debug
exibirá o texto GPT bruto junto com a saída regular, mesmo em modo inseguro.
$ orphic -u -d count the lines of rust code in this directory excluding /target/.
{"command": "find . -name target -prune -o -name '*.rs' -type f -print0 | xargs -0 wc -l"}
61 ./src/prompts.rs
219 ./src/main.rs
280 total
-r
ou --repl
iniciará o Orphic em um ambiente REPL.
$ orphic -u -r
orphic> when did i last login
wtmp begins Sat Mar 18 14:55
orphic> quit
$
Às vezes, Órfico funciona. Às vezes isso não acontece. O GPT é inconsistente e os prompts que estou usando deixam muito a desejar. Os resultados parecem melhores se você formatar sua tarefa como um comando em vez de uma pergunta ("liste as portas atualmente abertas" em vez de "quais portas estão abertas no momento"). Um erro que surge frequentemente é que o GPT tentará usar comandos ou pacotes para um sistema operacional/distribuição diferente ou tentará usar ferramentas que você não tem instaladas no momento. Uma solução rápida é especificar seu sistema operacional se você acha que a tarefa exigirá ferramentas específicas do sistema operacional, mas estou trabalhando para tornar o Orphic mais ciente de quais comandos estão à sua disposição e quais não estão.
Solicitações pull são bem-vindas. Se você usar o Orphic e obtiver um resultado bom/interessante, envie-o para mim. Da mesma forma, se você obtiver um resultado muito ruim, envie-o também para mim ou abra um problema. Este sistema é muito experimental e ainda estou tentando descobrir o que funciona e o que não funciona quando se trata de prompts e configurações.
MIT
Direitos autorais (c) Will Savage, 2023