CLI-Anything هو مكون إضافي مفتوح المصدر لوكلاء الترميز بالذكاء الاصطناعي (Claude Code بشكل أساسي) يقوم بإنشاء واجهة سطر أوامر لأي برنامج يمتلك قاعدة تعليمات برمجية. يمكنك توجيهه نحو GIMP أو Blender أو LibreOffice أو أي تطبيق آخر، وسيقوم بتحليل الكود المصدري وإنتاج واجهة CLI منظمة يمكن لوكيل الذكاء الاصطناعي التحكم بها آليًا.
المشكلة: وكلاء الذكاء الاصطناعي لا يستطيعون استخدام برامج الواجهة الرسومية
البرمجيات اليوم تنقسم إلى نوعين:
- خدمات API-first (تخزين سحابي، دفع، بريد إلكتروني، تحليلات): يمكن للوكلاء استدعاؤها مباشرة عبر HTTP.
- برامج سطح المكتب (GIMP، Blender، LibreOffice، Audacity): بُنيت للبشر عبر واجهات رسومية، وليست APIs.
عند محاولة ربط وكيل ذكاء اصطناعي بهذه البرامج الرسومية، لديك خياران تقليديان: كتابة أغلفة مخصصة (تستغرق وقتًا وتتوقف بسرعة)، أو RPA (هش ويتعطل عند تغييرات الواجهة).
CLI-Anything يحل المشكلة بتحليل الكود المصدري للبرنامج، ثم توليد واجهة CLI حقيقية تستدعي وظائف البرنامج مباشرة. بذلك، لا يحتاج الوكيل "رؤية" الشاشة، بل يصدر أوامر منظمة ويتولى البرنامج تنفيذها.
💡إذا كانت سير عمل وكيلك تحتاج لاستدعاء REST APIs بجانب البرامج المحلية، فإن Apidog يتولى جانب اختبار وتنظيم APIs. أداة مجانية لإرسال الطلبات وفحصها وتنظيمها، لتتحقق من تكامل API قبل إدخالها في سير عملك.
ما يفعله CLI-Anything
CLI-Anything هو مكون إضافي مفتوح المصدر من HKUDS (مختبر علوم البيانات بجامعة هونغ كونغ). المشروع تجاوز 6,100 نجمة على GitHub.
المكون الإضافي يعمل داخل Claude Code (تجريبيًا في Codex وOpenCode). مرّكب على سبع مراحل أوتوماتيكية:
- تحليل - مسح الكود وربط إجراءات الواجهة الرسومية بوظائف البرنامج.
- تصميم - تخطيط مجموعات الأوامر وتنسيق الإخراج.
-
تنفيذ - بناء واجهة CLI بايثون عبر Click مع REPL ودعم
--jsonوتراجع/إعادة. -
تخطيط الاختبارات - إنشاء
TEST.mdلخطط اختبار وحدات وشاملة. -
كتابة الاختبارات - توليد
test_core.pyوtest_full_e2e.py. -
توثيق - تشغيل pytest وإلحاق النتائج بـ
TEST.md. -
نشر - توليد
setup.pyوتثبيت السكربتات في PATH.
بعد المرحلة السابعة، تصبح CLI جاهزة في نظامك. يمكن للوكلاء اكتشافها بـwhich cli-anything-gimp، وفحصها بـcli-anything-gimp --help، وتشغيل الأوامر.
كل CLIs المنتجة تتبع هيكل ثابت: إخراج بشري افتراضي، إخراج JSON عند طلب --json، حفظ الحالة، تراجع/إعادة، REPL تفاعلي. بذلك، لا يحتاج الوكيل تعلم واجهة مختلفة لكل برنامج.
تثبيت CLI-Anything
CLI-Anything يعتمد على بايثون (وليس npm). تثبيته يتم في بيئة وكيلك، وتثبيت واجهات CLI المنتجة عبر pip install -e ..
المتطلبات:
- بايثون 3.10+
- البرنامج المستهدف (مثلاً GIMP) مثبت
- وكيل ترميز ذكاء اصطناعي مدعوم (Claude Code أساسي، Codex/OpenCode تجريبي)
Claude Code (الطريقة الأساسية)
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything
بعد التثبيت، تتوفر أوامر /cli-anything في جلسة Claude Code.
OpenCode
استنسخ المستودع ونسخ ملفات الأوامر وHARNESS.md إلى ~/.config/opencode/commands/. ستضاف 5 أوامر:
/cli-anything/cli-anything-refine/cli-anything-test/cli-anything-validate/cli-anything-list
Codex
bash CLI-Anything/codex-skill/scripts/install.sh
Qodercli
bash CLI-Anything/qoder-plugin/setup-qodercli.sh
ملاحظة حول ويندوز
تحتاج Git for Windows (bash وcygpath) أو WSL. إذا واجهت cygpath: command not found، ثبت Git for Windows وحاول مجدداً.
تثبيت واجهة CLI المولدة
بعد توليد CLI لبرنامجك:
cd <software>/agent-harness
pip install -e .
يتيح التثبيت القابل للتعديل (-e) تعديل الكود دون إعادة التثبيت.
إنشاء أول CLI خاص بك
بعد تثبيت المكون الإضافي، أنشئ واجهة CLI بأمر واحد. مثال GIMP:
في Claude Code:
/cli-anything ./gimp
أو من مستودع GitHub:
/cli-anything https://github.com/blender/blender
يبدأ خط الأنابيب المكون من 7 مراحل ويولّد جميع الملفات المطلوبة. بعد التنفيذ، ستحصل على هيكل دليل مثل:
gimp/
agent-harness/
GIMP.md
setup.py
cli_anything/
gimp/
README.md
gimp_cli.py
core/
utils/
tests/
test_core.py
test_full_e2e.py
TEST.md
كل CLI تعيش في مساحة اسم cli_anything.* (مثلاً cli_anything.gimp) لمنع التضارب عند توليد عدة CLIs.
استخدام CLI المولدة
بعد pip install -e . داخل agent-harness:
cli-anything-gimp --help
تعرض كافة مجموعات الأوامر والأوامر الفرعية. جميع الأدوات تتبع نمط cli-anything-<software>.
إخراج بشري (افتراضي)
cli-anything-gimp project new --width 1920 --height 1080
cli-anything-gimp layer list
cli-anything-gimp layer add --name "Background" --type solid --color "#ffffff"
cli-anything-gimp filter apply --name "gaussian-blur" --radius 3
cli-anything-gimp export save --format png --output ./output.png
إخراج JSON (للوكلاء)
cli-anything-gimp --json project new --width 1920 --height 1080
# يعود: {"status": "ok", "project_id": "proj_abc123", "width": 1920, "height": 1080}
cli-anything-gimp --json layer add -n "Background"
# يعود: {"status": "ok", "layer_id": "layer_001", "name": "Background"}
الإخراج JSON منسق عبر جميع الأوامر: status، وحقول العملية، وتفاصيل الخطأ.
REPL تفاعلي
cli-anything-gimp
يدخلك إلى واجهة أوامر تفاعلية مع إكمال تلقائي وتاريخ مستمر. مفيد لتجربة الأوامر قبل كتابتها كسكربت.
تراجع/إعادة
cli-anything-gimp undo
cli-anything-gimp redo
تحسين واختبار CLI الخاصة بك
CLI المولدة قد تحتاج تحسينات. استخدم /cli-anything:refine لإضافة الأوامر المفقودة.
تحسين عام
/cli-anything:refine /home/user/gimp
يمسح CLI الحالية ويضيف الأوامر الناقصة.
تحسين مركز
/cli-anything:refine /home/user/blender "particle systems and physics simulation"
يركز على جزء محدد من الكود البرمجي.
تشغيل الاختبارات
/cli-anything:test /home/user/gimp
يحدث نتائج الاختبار في TEST.md.
التحقق من الصحة
/cli-anything:validate /home/user/gimp
يتحقق من توافق CLI مع HARNESS.md.
سرد CLIs المتاحة
/cli-anything:list
/cli-anything:list --json
/cli-anything:list --path /home
حالات الاستخدام الواقعية
CLI-Anything جُرّب على 11 تطبيقاً. أمثلة واقعية:
معالجة صور دفعات مع GIMP
cli-anything-gimp project open --file product.jpg
cli-anything-gimp layer add --name "Watermark" --type image --source watermark.png
cli-anything-gimp layer position --name "Watermark" --x 10 --y 10
cli-anything-gimp export save --format webp --output product-final.webp
إنشاء المستندات بـLibreOffice
cli-anything-libreoffice document open --template invoice-template.ods
cli-anything-libreoffice cell set --address "B5" --value "Acme Corp"
cli-anything-libreoffice cell set --address "C10" --value "1500.00"
cli-anything-libreoffice export pdf --output invoice-2026-001.pdf
العرض ثلاثي الأبعاد بـBlender
cli-anything-blender scene open --file product-scene.blend
cli-anything-blender render set --samples 256 --output /renders/product
cli-anything-blender render start --format png
أتمتة البث باستخدام OBS Studio
cli-anything-obs scene set --name "Main Camera"
cli-anything-obs recording start
cli-anything-obs scene set --name "Screen Share"
cli-anything-obs recording stop --output session.mp4
دمج مع CI/CD
يمكنك دمج أي CLI مولدة في إجراءات GitHub أو خطوط أنابيب CI لأتمتة عمليات التصميم، العرض، أو إنشاء المستندات.
بناء سير عمل الوكيل باستخدام Apidog
CLI-Anything يتعامل مع البرامج المحلية، أما استدعاء REST APIs الخارجية (رفع الصور، إرسال ملفات، إلخ) فيمكنك أتمتته عبر Apidog، عميل API مجاني للاختبار والتوثيق والأتمتة.
مثال عملي: وكيل يعالج صور منتجات بـGIMP ويرفعها إلى API تخزين سحابي. CLI-Anything يوفر أوامر GIMP، وApidog يختبر نقطة نهاية التخزين قبل دمجها في السكربت.
خطوات العمل في Apidog:
- ضبط بيئة وبيانات اعتماد API كمتغيرات
- اختبار endpoint الرفع بملف عينة
- إضافة تأكيدات للتحقق من الاستجابة
- تصدير الطلب كـcurl أو كود جاهز للدمج في السكربت
Apidog يدعم أيضًا مجموعات اختبار آلية، لتشغيل التأكيدات في كل تنفيذ واكتشاف التراجعات مبكرًا.
القيود التي يجب معرفتها
يتطلب دعم Windows برنامج Git Bash أو WSL
CLIs المنتجة تعتمد على بايثون وbash-style paths. على Windows، تحتاج Git for Windows أو WSL. PowerShell غير مدعوم.
يجب تثبيت البرنامج المستهدف
يجب أن يكون GIMP, Blender, إلخ مثبتًا فعليًا على نفس الجهاز. CLI-Anything لا يجمع البرامج نفسها، بل يلتف حولها فقط.
إخراج بايثون فقط
كل CLIs مبنية بـPython Click فقط. إذا أردت CLI بلغة أخرى (Node.js، Go)، عليك كتابتها بنفسك.
Claude Code هو المنصة المستقرة
Claude Code أكثر استقرارًا ودعمًا. التكامل مع Codex وOpenCode تجريبي فقط.
جودة CLI تعتمد على الكود البرمجي
إذا كان الكود المصدري للبرنامج غير منظم أو معقد جدًا أو يعتمد بشدة على حالة GUI، قد لا يكتشف كل الأوامر أو ينتج CLI ناقص. خطوة التحسين تساعد، لكن البرامج الاحتكارية المعقدة يصعب تغليفها بالكامل.
الأسئلة الشائعة
هل يعمل CLI-Anything مع أي برنامج؟
نظريًا نعم، عمليًا يعمل أفضل مع البرامج مفتوحة المصدر التي تربط الكود بإجراءات GUI بوضوح. تم إثباته على GIMP وBlender وInkscape وAudacity وKdenlive وShotcut وOBS Studio وDraw.io وLibreOffice وAnyGen وZoom.
هل CLI-Anything مجاني؟
نعم، مرخص MIT ومفتوح المصدر عبر github.com/HKUDS/CLI-Anything.
هل أحتاج معرفة بايثون؟
لا. لا تكتب أي كود بايثون. فقط ثبّت بايثون >=3.10 لتشغيل الـCLIs المنتجة.
هل أستطيع استدعاء CLI من سكربتاتي؟
نعم، CLI المولدة أداة سطر أوامر عادية. يمكنك استدعاءها من shell، Makefiles، سكربت بايثون، إلخ.
ما هو HARNESS.md؟
وثيقة مواصفات تحدد هيكل الأوامر وتنسيق الإخراج ومتطلبات الاختبار لـCLI-Anything. خطوة التحقق تتأكد من توافق الـCLI معها.
هل يمكن إنتاج CLIs لأدوات الشركة الداخلية؟
نعم. وجه المكوّن الإضافي لأي كود على نظامك (داخلي أو خارجي). التحليل يتم محليًا ولا يرسل الكود لأي جهة.
كيف يقارن هذا بـMCP؟
MCP يربط الوكلاء بخدمات سحابية عبر بروتوكول موحد. CLI-Anything يبني أغلفة CLI محلية لتطبيقات GUI التي تفتقد API. يمكنك استخدام كليهما حسب الحاجة.
Top comments (0)