Magic CLI هي أداة سطر أوامر تستخدم LLMs لمساعدتك في استخدام سطر الأوامر بشكل أكثر كفاءة ، مستوحاة من مشاريع مثل Amazon Q (Prev. Fig. Terminal) و Github Copilot لـ CLI.
يعتمد magic-cli على مكتبة Orch لتفاعلات LLM (التنفيذ ، التنسيق ، محاذاة النموذج ، إلخ).
اقرأ منشور مدونة الإعلان.
حذر
هذا المشروع لا يزال في التطوير المبكر.
توقع كسر التغييرات والأخطاء ، ويرجى الإبلاغ عن أي مشكلات تواجهها.
شكرًا لك!
ملحوظة
لمزيد من الخيارات حول كيفية تثبيت Magic CLI ، راجع صفحة الإصدارات للإصدار الذي ترغب في تثبيته.
curl -LsSf https://github.com/guywaldman/magic-cli/releases/download/0.0.6/magic-cli-installer.sh | shbrew install guywaldman/tap/magic-clipowershell - c " irm https://github.com/guywaldman/magic-cli/releases/download/0.0.6/magic-cli-installer.ps1 | iex "شاهد صفحة الإصدارات الخاصة بالثنائيات لمنصتك.
أضف وظائف إلى ~/.bashrc أو ~/.zshrc لجعل تنسيق المطالبات في المحطة أسهل (لا تتطلب عروض أسعار).
على سبيل المثال:
function mcs {
model_prompt= " $* "
magic-cli suggest " $model_prompt "
}
function mcf {
model_prompt= " $* "
magic-cli search " $model_prompt "
}
function mca {
model_prompt= " $* "
magic-cli ask " $model_prompt "
} توفير مطالبة للحصول على اقتراح لتشغيل الأمر.
هذا مفيد في السيناريوهات التي تعرف فيها ما تريده تقريبًا (وربما حتى الأداة) ولكن لا تتذكر الحجج الدقيقة أو ترتيبها.
هذا مفيد بشكل خاص مع أدوات CLI مثل ffmpeg أو kubectl .

magic-cli suggest " Resize test_image.png to 300x300 with ffmpeg " Usage: magic-cli suggest <PROMPT>
Arguments:
<PROMPT> The prompt to suggest a command for (e.g., "Resize image to 300x300 with ffmpeg")
ابحث في أمر عبر سجل Shell الخاص بك ، واحصل على قائمة بأهم النتائج.

magic-cli search " zellij attach " Usage: magic-cli search [OPTIONS] <PROMPT>
Arguments:
<PROMPT> The prompt to search for
مهم
كلمة إلى الحكماء: إذا كنت تستخدم LLM غير المحلي ، فاحذر من تكلفة التضمينات ، خاصة لتاريخ القذائف الطويلة.
قم بتزويد مطالبة بمهمة تريد أن يقوم بها النموذج ، ومشاهدتها تحاول اقتراح أمر للتشغيل لتحقيق الهدف. قد يطالبك على طول الطريق لتشغيل الأوامر إذا كان يحتاج إلى مزيد من السياق.
magic-cli ask " Set up the dev environment as described in the README " Usage: magic-cli ask <PROMPT>
Arguments:
<PROMPT> The prompt to ask for (e.g., "Set up the development environment")
يدعم Magic CLI اثنين من مزودي LLM:
ollama : أولاما مزود محلي LLM. يتوقع الأمر تثبيت Ollama وتشغيله على جهازك المحلي.openai : Openai هو مزود Cloud LLM. يمكنك تكوين رمز API ، ويستخدمه Magic CLI مع واجهات برمجة تطبيقات Openai. يقوم Magic CLI بتخزين التكوينات في ~/.config/magic_cli/config.json .
استخدم magic-cli config (لمشاهدة الخيارات ، واستخدم magic-cli config --help ) لتعيين خيارات التكوين:
Usage: magic-cli config <COMMAND>
Commands:
set Set a value
get Get a value
list List the configurations
reset Reset the configurations to the default values
path Get the path to the configuration file
خيارات التكوين المرفوعة حاليًا هي:
llm : LLM لاستخدامها لتوليد الاستجابات. القيم المدعومة: "Ollama" ، "Openai"ollama.base_url : عنوان URL الأساسي لـ Ollama API (افتراضي: "http: // localhost: 11434")ollama.embedding_model : النموذج الذي يجب استخدامه لتوليد التضمينات (افتراضي: "Nomic-Embed-Text: أحدث")ollama.model : النموذج الذي يجب استخدامه لتوليد الردود (الافتراضي: "CodeStral: أحدث")openai.api_key (secret): مفتاح API لـ Openai APIopenai.embedding_model : النموذج الذي يجب استخدامه لتوليد التضمينات (افتراضي: "Embedding -ADA-002")openai.model : النموذج الذي يجب استخدامه لتوليد الاستجابات (افتراضي: "GPT-4O")suggest.add_to_history .suggest.mode : الوضع لاستخدامه في اقتراح الأوامر. القيم المدعومة: "الحافظة" (أمر نسخ إلى الحافظة) ، "غير آمن تنفيذي" (تنفيذ في جلسة shell الحالية) (الافتراضي: "غير آمن التنفيذ")ملاحظة: تم تسمية
unsafe-executionعلى هذا النحو لتوضيح أن CLI ينفذ الأمر في جلسة shell الحالية. يرجى توخي الحذر الشديد عند استخدام هذا الوضع - Magic CLI غير مسؤول عن تنفيذ الأوامر المقترحة.
دعم Windows (PowerShell مدعوم ، ولكن لم يتم اختبار Windows بشكل صحيح)
دعم لمزيد من مزودي LLM (على سبيل المثال ، الأنثروبور)
تحسين مؤشر التضمين المحلي (المخزنة حاليًا بصفته JSON ، نظرت إلى SQLLITE مع امتدادات المتجهات)
المزيد من تغطية الاختبار
يتم أخذ الأمن على محمل الجد وسيتم التعامل مع جميع نقاط الضعف بأقصى درجات العناية والأولوية.
فيما يتعلق بالبيانات المخزنة ، فإن البيانات الحساسة التي يتم التعامل معها حاليًا من قبل Magic CLI هي:
~/.config/magic_cli ).هناك خطط لتخزين هذا الرمز المميز في تخزين المفتاح الآمن للنظام ، ولكن لم يتم تنفيذ هذا بعد.
magic-cli search ، والتي يتم تخزينها في التكوين داخل الدليل الرئيسي للمستخدم ( ~/.config/magic_cli ) ويتم إنشاؤها باستخدام مزود LLM المفضل.يرجى الاطلاع على Security.md لمزيد من المعلومات ، والتعليمات حول كيفية الإبلاغ عن نقاط الضعف المحتملة.
المساهمات مرحب بها!
يرجى الاطلاع على المساهمة. md لمزيد من المعلومات.
طلبي الوحيد هو أن طلبات السحب تتبع مشكلة ، بحيث نتجنب مواقف عملك الشاق الذي لا يتم قبوله بسبب عدم وجود سياق أو ضرورة.