*nix システム用の自然言語シェル インターフェイス。
Orphic は、GPT を使用して複雑なタスクをシステム上で実行されるシェル コマンドに変換する CLI ツールです。比較的単純だが、実行するには複雑でわかりにくいコマンドが必要なタスクに優れています。
$ 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
注: Orphic はデフォルトでセーフ モードに設定されており、アンセーフ モードが指定されていない限り、確認なしにコマンドを自動的に実行しません。
cargo install orphic
OPENAI_API_KEY
環境変数を設定する必要があります。ここで生成できます。Orphic は、他の 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
または--unsafe
ユーザー検証なしでコマンドを実行します。
-4
または--gpt4
GPT-3.5-Turbo の代わりに GPT-4 の使用を試みます。これは、OpenAI アカウントがモデルにアクセスできる場合にのみ機能することに注意してください。
-i
または--interpret
、タスクの出力を自然言語で記述します (これは一般に非常に遅いことに注意してください)。
$ 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
または--debug
安全でないモードであっても、通常の出力とともに生の GPT テキストを表示します。
$ 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
または--repl
REPL 環境で Orphic を起動します。
$ orphic -u -r
orphic> when did i last login
wtmp begins Sat Mar 18 14:55
orphic> quit
$
時々オルフィが機能します。そうならない場合もあります。 GPT には一貫性がなく、使用しているプロンプトには改善の余地がたくさんあります。タスクを質問ではなくコマンドとしてフォーマットすると、結果が良くなるように見えます (「現在開いているポートをリストする」ではなく、「現在開いているポートをリストする」)。よく発生するエラーは、GPT が別の OS/ディストリビューション用のコマンドまたはパッケージを使用しようとしたり、現在インストールされていないツールを使用しようとしたりすることです。タスクに OS 固有のツールが必要だと思われる場合の簡単な解決策は、OS を指定することです。しかし、私は Orphic がどのコマンドを自由に使用でき、どのコマンドが使用できないかをよりよく認識できるように取り組んでいます。
プルリクエストは大歓迎です。 Orphic を使用して、良い/興味深い出力が得られた場合は、私に送ってください。同様に、非常に悪い出力が得られた場合も、私に送信するか、問題を開いてください。このシステムは非常に実験的なもので、プロンプトと構成に関して何が機能し、何が機能しないのかをまだ理解しようとしています。
マサチューセッツ工科大学
著作権 (c) ウィル・サベージ、2023