إدارة ووردبريس بوكلاء الذكاء الاصطناعي في الطرفية عبر WP-CLI

نافذة طرفية متصلة بخيط ضوئي بسيرفر من كتل شفافة، تعبيرًا عن إدارة ووردبريس عبر WP-CLI

تخيّل إنك بتكتب في الطرفية «شوف ووردبريس لتضيف له ميزة جديدة، مثل متجر أو نموذج تواصل أو تحسين للسيو، دون كتابة كود. اختر الإضافات الموثوقة المحدّثة، ولا…">الإضافات المعطلة على موقع العميل وقولّي أمسح إيه»، والأداة تدخل السيرفر وتشغّل الأوامر وترجعلك بتقرير. ده مش خيال، ده اللي بتعمله وكلاء البرمجة في الطرفية النهارده. والأحلى إنك مش محتاج تركّب أي إضافة على الموقع؛ كل اللي محتاجه قاعدة البيانات بأمر واحد من الطرفية، وهي الأساس الذي يعتمد عليه وكلاء…">WP-CLI ومفتاح SSH.

ما هي وكلاء البرمجة في الطرفية؟

وكيل البرمجة في الطرفية (CLI Coding Agent) أداة ذكاء اصطناعي تعيش في سطر الأوامر على جهازك، وتستخدم الأدوات المتاحة فيه مباشرة: git وssh وwp. أمثلتها Claude Code وAntigravity CLI من Google وCursor CLI وAider.

الفرق بينها وبين تكاملات مقالة أو قراءة إعدادات موقع ووردبريس.">بروتوكول سياق النموذج (MCP) في الطبقة التي تعمل عليها. MCP يعطي النموذج أدوات محددة مسبقًا عبر سيرفر وسيط، أما وكيل الطرفية فيملك الطرفية كلها ويقرر بنفسه أي أمر يشغّل.

المزايا والعيوب قبل أن تبدأ

المزاياالعيوب
وصول فوري لكل أدوات الطرفية: Git وWP-CLI وSSH وDocker وnpmخطر تشغيل أوامر مدمرة أو متوهَّمة دون رقابة
——
يقرر الخطوة التالية بنفسه دون سير عمل مرسوم مسبقًاالطرفية لا تخبر النموذج أي الأوامر آمن
يعدّل خطته حسب نتيجة كل أمرمخرجات الأدوات غير موحّدة وقد يُساء فهمها
يجمع الأوامر لتنفيذ عمليات معقدةيعتمد على بيئتك: PATH والصلاحيات والمتغيرات
يعمل حيث توجد المشكلة: الملفات أو Elementor وينظّم ترتيبها واتجاهها ومسافاتها، وتعتمد على Flexbox أو Grid. حلّت محل الأقسام والأعمدة القديمة، وتنتج صفحات أخف وأسهل…">الحاوية أو السيرفرضبط الصلاحيات يحتاج عزلًا وسياسات دقيقة

القاعدة العملية: MCP أنسب للإنتاج والتكامل المستقر، ووكيل الطرفية أنسب للتطوير والتشخيص والصيانة، حين تحتاج السرعة وقراءة السجلات وتنفيذ أوامر WP-CLI عن بُعد. ويمكنك استخدام الاثنين في مراحل مختلفة.

كيف يفكر الوكيل: الحلقة الوكيلية

الوكيل لا ينفّذ المهمة في خطوة واحدة، بل يدور في حلقة من خمس مراحل تُعرف بالحلقة الوكيلية (Agentic Loop):

  1. الملاحظة: يقرأ بنية المشروع وملفات الإعداد مثل wp-cli.yml وAGENTS.md، ومخرجات الطرفية والسجلات.
  2. التفكير: يقرر الأداة المناسبة، مثلًا هل يبدأ بـ wp plugin list، ويقيّم المخاطر ويطلب موافقتك عند الحاجة.
  3. التخطيط: يقسّم الطلب المركّب، مثل «اعثر على الإضافة المسببة للخطأ الفادح وعطّلها»، إلى مهام متتالية.
  4. التنفيذ: يرسل الأوامر إلى الطرفية أو يعدّل الملفات.
  5. التقييم: يقرأ رمز الخروج وstdout وstderr؛ إذا نجح ينتقل للمهمة التالية، وإذا فشل يحلل السبب ويعود للتفكير.

بهذه الحلقة يستطيع الوكيل تشخيص موقع معطل أو إصلاح خطأ صياغة في ملف قالب دون أن توجّهه في كل أمر.

تجهيز الاتصال خطوة بخطوة

لن تثبّت أي شيء على السيرفر كما في تكاملات MCP. كل ما تحتاجه:

  • WP-CLI مثبّت على جهازك.
  • دخول SSH إلى الاستضافة.
  • WP-CLI مثبّت على السيرفر.

ملاحظة للاستضافة في المنطقة: أغلب الاستضافات المُدارة توفر SSH وWP-CLI جاهزين. في الاستضافة المشتركة (Shared Hosting) ابحث في cPanel عن «SSH Access» أو «Terminal»؛ بعض الباقات الرخيصة تعطّل SSH، فاسأل الدعم قبل أن تبدأ.

1. جهّز WP-CLI على جهازك

تحقق من البيئة أولًا:

php --version
wp --version
wp --info

إذا كان مثبتًا لكنه قديم، حدّثه:

wp cli check-update
wp cli update

وإذا لم يكن مثبتًا، حمّل ملف Phar الرسمي على macOS أو Linux:

# Download the official WP-CLI Phar archive from GitHub
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

# Verify that the Phar build works by checking environment info
php wp-cli.phar --info

# Make the Phar file executable
chmod +x wp-cli.phar

# Move the binary to a global PATH directory and rename it to 'wp'
sudo mv wp-cli.phar /usr/local/bin/wp

على Windows الطريق الأسهل هو WSL، أي تشغيل Ubuntu داخل Windows ثم اتباع نفس الأوامر.

2. اجعل SSH بلا كلمة مرور

يستطيع WP-CLI تشغيل أي أمر على السيرفر بالخيار --ssh:

wp plugin list --status=inactive --ssh=user@server_ip:port/path/to/your/site

لكن كتابة كلمة المرور في كل مرة تقطع حلقة الوكيل باستمرار. الحل مفتاح SSH مخصص لصيانة المواقع. افحص المفاتيح الموجودة أولًا:

ls -al ~/.ssh

ثم أنشئ زوج مفاتيح من نوع ED25519:

ssh-keygen -t ed25519 -C "wp-cli-production" -f ~/.ssh/id_ed25519_wp_production

الملف id_ed25519_wp_production هو المفتاح الخاص، ولا تشاركه أبدًا. والملف المنتهي بـ .pub هو المفتاح العام الذي يُرفع إلى السيرفر. سجّل المفتاح الخاص في وكيل SSH:

# macOS / Linux
eval "$(ssh-agent -s)"

# On Linux (and macOS if you generated the key WITHOUT a passphrase)
ssh-add ~/.ssh/id_ed25519_wp_production

# On macOS, if you generated the key WITH a passphrase and want to store it in Keychain
ssh-add --apple-use-keychain ~/.ssh/id_ed25519_wp_production

وتأكد أنه مسجل:

ssh-add -l

ثم ارفع المفتاح العام إلى السيرفر:

# macOS / Linux: Automatically upload and append your public key to the remote server
ssh-copy-id -i ~/.ssh/id_ed25519_wp_production.pub user@server_ip -p port_number

في cPanel يمكنك بدلًا من ذلك استيراد المفتاح العام من صفحة «SSH Access» ثم تفعيله بزر «Authorize».

3. عرّف السيرفر في ملف إعداد SSH

حتى لا تكتب العنوان والمنفذ والمستخدم في كل مرة، افتح ~/.ssh/config:

nano ~/.ssh/config

وأضف كتلة كهذه:

Host production
  HostName <server-ip-or-domain>
  User <ssh-username>
  Port <port-number>
  IdentityFile ~/.ssh/id_ed25519_wp_production
  IdentitiesOnly yes
  AddKeysToAgent yes
  UseKeychain yes

السطر UseKeychain خاص بـ macOS؛ احذفه على Linux. الآن يكفي هذا الأمر للدخول:

ssh production

4. سجّل أسماء WP-CLI المستعارة

الاسم المستعار في WP-CLI (WP-CLI Alias) يتيح لك استهداف أي موقع باختصار مثل @production أو @staging، فتختفي المسارات من أوامرك ومن طلباتك للوكيل. أنشئ ملف الإعداد العام:

mkdir -p ~/.wp-cli && nano ~/.wp-cli/config.yml

واربط اسم SSH بمسار الموقع على السيرفر:

@production:
  ssh: production/path/to/your/site

ثم جرّب:

wp @production plugin list

لو ظهرت قائمة إضافات الموقع البعيد في طرفيتك، فالبيئة جاهزة للوكيل. وهنا تظهر فكرة «ابن موقعك قطعة قطعة»: مفتاح، ثم اسم SSH، ثم اسم مستعار، وكل قطعة تُركّب فوق التي قبلها.

تثبيت الوكيل وتشغيله

Claude Code

ثبّته على macOS أو Linux:

curl -fsSL https://claude.ai/install.sh | bash

ثم ادخل مجلد مشروعك وشغّله:

cd /path/to/your/project
claude

سيطلب منك تسجيل الدخول بحسابك أو استخدام مفتاح API يُحاسب بالاستخدام. إذا اخترت المفتاح، احفظه في متغير بيئة:

export ANTHROPIC_API_KEY="sk-ant-api03-your-api-key..."

وتذكّر أن الدفع بالدولار يحتاج بطاقة تقبل المعاملات الدولية؛ كثير من البطاقات مسبقة الدفع في مصر تعمل، لكن راجع حدود البنك للمدفوعات الخارجية قبل الاشتراك. بعدها اكتب طلبك بلغة طبيعية مع الاسم المستعار:

check the status of the plugins on @production

Antigravity CLI

هي أداة Google التي تطورت عن Gemini CLI، وتُثبَّت بنفس الطريقة:

curl -fsSL https://antigravity.google/cli/install.sh | bash

ثم تشغّلها بالأمر agy، فتفتح المتصفح للمصادقة. ويمكنك بدلًا من ذلك استخدام مفتاح Gemini من Google AI Studio:

echo 'export GEMINI_API_KEY="your-gemini-api-key..."' >> ~/.zshrc
source ~/.zshrc

تجربة عملية: فحص أمني لموقع حقيقي

أعطى كاتب المقال الأصلي الأداتين نفس الطلب البسيط عمدًا:

Connect to the remote WordPress site via SSH, use WP-CLI, and then check the site status, verify that WordPress is installed correctly, list active plugins, and run a quick configuration review of the site.

Review WordPress administrator users, public registration, HTTPS-related URLs, debug mode, file editing status, cron events, database size, and autoloaded options size if available.

Summarize security risks, maintenance issues, available updates, suspicious findings, and recommended next steps.

If needed, use the @production alias or the correct remote site path.

توقفت الأداتان أكثر من مرة لطلب الإذن قبل تنفيذ الأوامر، ثم قدّمتا تقريرين مختلفين:

الجانبClaude CodeAntigravity CLI
حالة الموقعمختصرة، دون معلومات القوالبجدول واضح ومفصل
———
الأماناكتشف مفاتيح مكشوفة في ملفات اختبار بجذر الموقعلم يكتشفها
المستخدمونجدول مع كلمات مرور التطبيقات (Application Passwords)جدول كامل بالأدوار
الصيانةتفصيل للـ Cron والخيارات المحمّلة تلقائيًانظرة سريعة
التوصياتمرتبة حسب الخطورة مع عرض الإصلاح التلقائيأوامر WP-CLI جاهزة للتنفيذ

رأي كاتب المقال الأصلي أنه لا يوجد فائز مطلق: Claude Code أعمق أمنيًا، وAntigravity CLI أوضح في العرض وأقرب للتنفيذ الفوري. والفرق الأكبر يصنعه وضوح طلبك وتعليماتك للوكيل.

قواعد أمان لا تتنازل عنها

  • ابدأ بموقع اختبار: جرّب على بيئة الاختبار (Staging) قبل الإنتاج، واجعل أول اسم مستعار تستخدمه @staging.
  • خذ نسخة احتياطية قبل أي تعديل: wp @production db export قبل أن تسمح للوكيل بالكتابة.
  • لا تفعّل الموافقة التلقائية على الأوامر في الإنتاج؛ راجع كل أمر حذف أو تحديث قبل الموافقة.
  • مفتاح منفصل لكل عميل: إذا انتهى التعاقد، احذف المفتاح العام من السيرفر وينتهي الوصول فورًا.
  • لا تضع مفاتيح API في ملفات داخل مجلد الموقع؛ المقال الأصلي نفسه وجد مفاتيح مكشوفة في ملفات اختبار منسية.

في Elementor: الوكيل يدير Elementor وJetEngine كأي إضافة، مثل wp @production elementor flush-css بعد تغيير الإعدادات، أو فحص إصدارات إضافات Crocoblock بـ wp @production plugin list. لكن تصميم القوالب نفسه يبقى في المحرر المرئي؛ الوكيل مفيد للصيانة لا للتصميم.

الأسئلة الشائعة

س: هل أحتاج تثبيت إضافة على موقعي ليعمل الوكيل؟
ج: لا. الوكيل يعمل من جهازك ويتصل بالسيرفر عبر SSH ويستخدم WP-CLI الموجود هناك. كل ما تحتاجه دخول SSH وWP-CLI على الجهتين.

س: هل تعمل هذه الطريقة على الاستضافة المشتركة؟
ج: نعم إذا كانت الاستضافة تتيح SSH. كثير من باقات cPanel توفره، لكن بعض الباقات الاقتصادية تعطله، فتأكد من الدعم الفني.

س: ما الفرق بين وكيل الطرفية وتكامل MCP لووردبريس؟
ج: MCP يعطي الذكاء الاصطناعي أدوات محددة مسبقًا عبر إضافة أو سيرفر وسيط، فهو أكثر أمانًا للإنتاج. وكيل الطرفية يملك الطرفية كاملة، فهو أقوى وأخطر، وأنسب للتشخيص والصيانة.

س: هل يمكن للوكيل أن يكسر الموقع؟
ج: نعم إذا وافقت على أمر خاطئ. لذلك خذ نسخة احتياطية، وجرّب على بيئة الاختبار، وراجع كل أمر يعدّل أو يحذف قبل الموافقة عليه.

الخلاصة

الإعداد كله: WP-CLI، ومفتاح SSH، واسم مستعار، ووكيل في الطرفية. بعد كده الصيانة اللي كانت بتاخد منك ساعة بقت طلب واحد بالإنجليزي. ابدأ النهارده بموقع اختبار واحد، وخلّي الوكيل يعمل لك تقرير فحص أمني، وشوف بنفسك هيطلع لك إيه.

مرجع المقال (بالإنجليزية): Automating WordPress operations with CLI agents on Kinsta
المقال ده مش ترجمة حرفية: متكيّف للقارئ العربي ومضاف عليه سياق ووردبريس وElementor وJetEngine.

اترك تعليقاً