واجهة لغة طبيعية لأنظمة *nix.
Orphic هي أداة CLI تستخدم GPT لترجمة المهام المعقدة إلى أوامر Shell ليتم تنفيذها على النظام. إنه يتفوق في المهام المباشرة نسبيًا ولكنها تتطلب أوامر معقدة وغامضة لإنجازها.
$ 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-4 بدلاً من GPT-3.5-Turbo. لاحظ أن هذا لن يعمل إلا إذا كان حساب 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
سيبدأ تشغيل Orphic في بيئة REPL.
$ orphic -u -r
orphic> when did i last login
wtmp begins Sat Mar 18 14:55
orphic> quit
$
في بعض الأحيان يعمل Orphic. في بعض الأحيان لا يحدث ذلك. GPT غير متناسقة، والمطالبات التي أستخدمها تترك الكثير مما هو مرغوب فيه. تبدو النتائج أفضل إذا قمت بتنسيق مهمتك كأمر بدلاً من سؤال ("أدرج المنافذ المفتوحة حاليًا" بدلاً من "ما هي المنافذ المفتوحة حاليًا"). الخطأ الذي يظهر غالبًا هو أن GPT ستحاول استخدام أوامر أو حزم لنظام تشغيل/توزيع مختلف، أو ستحاول استخدام أدوات لم تقم بتثبيتها حاليًا. الحل السريع هو تحديد نظام التشغيل الخاص بك إذا كنت تعتقد أن المهمة ستتطلب أدوات خاصة بنظام التشغيل، ولكني أعمل على جعل Orphic أكثر وعيًا بالأوامر الموجودة تحت تصرفه والتي ليست كذلك.
نرحب بطلبات السحب. إذا كنت تستخدم Orphic وحصلت على نتائج جيدة/مثيرة للاهتمام، فيرجى إرسالها إليّ. وبالمثل، إذا حصلت على نتيجة سيئة حقًا، فيرجى أيضًا إرسالها إليّ أو فتح مشكلة. هذا النظام تجريبي للغاية وما زلت أحاول معرفة ما يصلح وما لا يصلح عندما يتعلق الأمر بالمطالبات والتكوينات.
معهد ماساتشوستس للتكنولوجيا
حقوق الطبع والنشر (ج) ويل سافاج، 2023