تثبيت Claude Code وChatGPT Codex على خادم لينكس: خطوة بخطوة

نُشر في آخر تحديث في مدة القراءة: 12 دقيقة

من تثبيت Debian أو Ubuntu جديد إلى وكيل ذكاء اصطناعي جاهز للعمل: المستخدم وقائمة sudo المسموحة، و⁦Node.js 22⁩، وتثبيت Claude Code وCodex CLI وGemini CLI وتسجيل الدخول إليها، وملفات القواعد، ومهام cron، والمهام الأولى، والأخطاء الشائعة.

يأخذك هذا الدليل من خادم Debian أو Ubuntu مثبّت حديثاً إلى وكيل ذكاء اصطناعي جاهز للعمل، يحلل السجلات ويفحص الإعدادات وينفذ مهام الصيانة. نُعدّ Claude Code (من Anthropic) وCodex CLI (من OpenAI، أداة سطر الأوامر الخاصة بـ ChatGPT)، وكلاهما يعمل تحت مستخدم مستقل بصلاحيات محدودة، ثم نعرض Gemini CLI (من Google) خياراً ثالثاً. اختُبرت جميع الأوامر على خادم جذري KVM من KernelHost بنظامي ⁦Debian 13⁩ و⁦Ubuntu 24.04⁩. أما ما هو الخادم المُدار بالذكاء الاصطناعي من حيث المبدأ، وما البنيات المتاحة له، فيشرحه مقال خادم مُدار بالذكاء الاصطناعي: ربط وكلاء الذكاء الاصطناعي بأمان.

المعلومات محدّثة حتى سبتمبر 2026. تتطور الأدوات بسرعة؛ لذا تحقق من الخيارات عند الشك بالأمر claude --help أو codex --help أو gemini --help.

المتطلبات المسبقة

  • خادم جذري بنظام ⁦Debian 12⁩ أو 13، أو ⁦Ubuntu 22.04⁩ أو 24.04، مع وصول جذري عبر SSH. على AlmaLinux وRocky Linux تبقى الخطوات نفسها، إلا أن أوامر الحزم تستخدم dnf بدلاً من apt.
  • التحصين الأساسي منجز: تسجيل دخول SSH بمفتاح، وجدار حماية، وتحديثات أمنية تلقائية. وتغطي قائمة التحقق للخوادم الجذرية الجديدة كل ذلك.
  • حساب لدى Anthropic (Claude Pro أو Max أو Team) أو مفتاح API، وحساب ChatGPT (Plus أو Pro أو Team) أو مفتاح API من OpenAI. وإذا أردت إعداد أداة واحدة فقط، فأنت تحتاج إلى أحدهما فقط.
  • اتصال HTTPS صادر إلى api.anthropic.com وapi.openai.com. على خوادم KernelHost يكون ذلك متاحاً افتراضياً، أما إذا كان لديك جدار حماية خاص مقيِّد فيجب أن يسمح به.

أي خادم يكفي لوكيل ذكاء اصطناعي؟

لا يحتاج وكيل الذكاء الاصطناعي على الخادم إلى عتاد خاص ولا إلى GPU، لأن نموذج اللغة يعمل لدى المزود. لا يعمل على الخادم سوى أداة سطر الأوامر وNode.js، ويستهلكان معاً عادةً بضع مئات من الميغابايتات من الذاكرة أثناء الجلسة. وعلى خادم لا يعمل عليه الكثير غير ذلك، يكفي ⁦2 vCPU⁩ و⁦4 GB RAM⁩. أما إذا كان الخادم يشغّل إلى جانب ذلك مواقع ويب أو قواعد بيانات أو خوادم ألعاب، فاحسب للوكيل احتياطياً من الذاكرة يقارب ⁦1 GB⁩. يُجهَّز خادم جذري KVM من KernelHost في نحو 30 ثانية، ويُحاسَب بنظام PrePaid دون حد أدنى لمدة التعاقد، ولذلك يصلح أيضاً نظامَ اختبار تجرّب عليه الوكيل أولاً.

الخطوة 1: إنشاء مستخدم مستقل وتقييد sudo

لا يعمل الوكيل أبداً كمستخدم root، بل يحصل على حساب خاص به، ويحصل عبر قائمة sudo مسموحة على الأوامر التي يحتاجها بالضبط. ابدأ ببضعة أوامر قراءة فقط، ووسّع القائمة حين تتطلب مهمة ما ذلك فعلاً.

sudo adduser --disabled-password --gecos "KI-Agent" aiagent
sudo tee /etc/sudoers.d/aiagent >/dev/null <<'EOF'
aiagent ALL=(root) NOPASSWD: /usr/bin/journalctl *, /usr/bin/systemctl status *, /usr/bin/systemctl restart nginx, /usr/bin/apt-get update, /usr/bin/apt-get upgrade -y, /usr/bin/tail *, /usr/bin/df *, /usr/bin/ss *
EOF
sudo chmod 440 /etc/sudoers.d/aiagent
sudo visudo -cf /etc/sudoers.d/aiagent

يتحقق السطر الأخير من صحة الصياغة. فخطأ واحد في ملف sudoers قد يمنع الجميع من استخدام sudo، لذلك لا يُستغنى عن هذا الفحص أبداً. يضمن --disabled-password ألا يتمكن أحد من تسجيل الدخول باسم aiagent بكلمة مرور؛ وتنتقل لاحقاً إلى هذا الحساب بالأمر sudo -iu aiagent. أما كيف يعمل مستخدمو sudo عموماً، فيشرحه مقال إنشاء مستخدم sudo على لينكس.

منح صلاحيات كتابة محددة بدلاً من محرر عبر sudo

إذا كان على الوكيل تعديل ملفات في /etc، فلا تسمح له بتشغيل nano عبر sudo (إذ يمكن بذلك تحرير أي ملف، بما في ذلك /etc/sudoers)، بل اعمل بمجموعة وصلاحيات كتابة محددة، مثلاً setfacl -m u:aiagent:rw /etc/nginx/sites-available/meine-seite.conf. وفي البداية يكفي تماماً أن يقترح الوكيل التغييرات وتطبقها أنت.

وينطبق الأمر نفسه على الأوامر التي تتضمن أحرف بدل في القائمة المسموحة. فالإدخال /usr/bin/tail * يسمح للوكيل بقراءة أي ملف يملك root حق الوصول إليه، بما في ذلك الملفات التي تحتوي على بيانات الدخول. ومن لا يريد ذلك يكتب المسارات المسموحة صراحةً، مثل /usr/bin/tail -n 200 /var/log/nginx/error.log.

الخطوة 2: تثبيت ⁦Node.js 22⁩

تعمل الأداتان على Node.js. يتطلب Claude Code الإصدار 18 على الأقل، ويتطلب Codex CLI الإصدار 22 على الأقل، لذلك نثبّت الإصدار ⁦22 LTS⁩. توفر مصادر حزم ⁦Debian 12⁩ إصداراً قديماً جداً، بينما يوفر NodeSource الإصدار الحالي:

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
node --version
npm --version

بديل دون صلاحيات الجذر: nvm

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

nvm install 22
nvm alias default 22
node --version

التفاصيل والطرق الأخرى موضحة في دليل Node.js على Debian.

الخطوة 3: تثبيت Claude Code وتسجيل الدخول

من هنا فصاعداً نعمل في حساب الوكيل:

sudo -iu aiagent
curl -fsSL https://claude.ai/install.sh | bash
claude --version

يضع المثبّت الأصلي Claude Code في ~/.local/bin، ويبقى البرنامج بعدها محدَّثاً تلقائياً. ويمكن بديلاً عن ذلك التثبيت عبر npm بالأمر npm install -g @anthropic-ai/claude-code؛ وإذا فشل ذلك بالخطأ EACCES، فسيساعدك قسم معالجة الأخطاء أدناه.

تسجيل الدخول على خادم بلا متصفح

عند أول تشغيل للأمر claude تطلب الأداة تسجيل الدخول. مع حساب Claude تفتح المتصفح عادةً؛ أما على خادم بلا متصفح فتعرض عنواناً ورمزاً تؤكده على الحاسوب المحمول أو الهاتف الذكي. بعد ذلك يبقى تسجيل الدخول سارياً لهذا المستخدم على هذا الخادم حتى تسجّل الخروج.

مفتاح API للسكربتات ومهام cron

للسكربتات ومهام cron يكون مفتاح API الخيار الأفضل:

echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.bashrc
chmod 600 ~/.bashrc
source ~/.bashrc
claude -p "أجب بكلمة OK فقط" 

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

الخطوة 4: إعداد Claude Code للخادم

ملف القواعد CLAUDE.md

يقرأ Claude Code عند التشغيل ملف CLAUDE.md الموجود في المجلد الحالي. وفيه القواعد التي تسري على كل جلسة. أنشئ في المجلد الرئيسي للوكيل مجلد عمل يحتوي على هذا الملف:

mkdir -p ~/server && cd ~/server
cat > CLAUDE.md <<'EOF'
# قواعد هذا الخادم
- هذا خادم إنتاجي (Debian 13، nginx، PHP-FPM، MariaDB).
- أوامر القراءة (journalctl، systemctl status، tail، df، ss) مسموحة في أي وقت.
- قبل كل أمر كتابة، اشرح باختصار ما الذي يغيّره وانتظر الموافقة.
- ممنوع دائماً: إزالة الحزم، وحذف الملفات تحت /var/lib، وإنشاء المستخدمين أو حذفهم.
- لا تكرر كلمات المرور أو المفاتيح أو بيانات العملاء في المخرجات أبداً.
- في نهاية كل مهمة، قدّم ملخصاً من ثلاث جمل.
EOF

ينمو الملف مع الوقت. فكلما تصرّف الوكيل على نحو يخالف ما تريده، أضف التصحيح إليه قاعدةً جديدة. وبعد بضعة أسابيع يعكس الملف طريقة العمل على خادمك بدقة كبيرة.

القائمة المسموحة في settings.json

وتُضاف إلى ذلك قائمة مسموحة بالأدوات، لكي ينفذ Claude Code أوامر القراءة دون سؤال ويطلب الموافقة على كل ما عداها. ويسري الملف ~/.claude/settings.json على هذا المستخدم:

mkdir -p ~/.claude
cat > ~/.claude/settings.json <<'EOF'
{
  "permissions": {
    "allow": [
      "Bash(sudo journalctl:*)",
      "Bash(sudo systemctl status:*)",
      "Bash(sudo tail:*)",
      "Bash(df:*)",
      "Bash(free:*)",
      "Bash(ss:*)"
    ],
    "deny": [
      "Bash(rm -rf:*)",
      "Bash(sudo rm:*)",
      "Bash(dd:*)",
      "Bash(mkfs:*)"
    ]
  }
}
EOF

قائمة الحظر (deny) شبكة أمان إضافية وليست جداراً: فالأمر الواحد يمكن كتابته بطرق كثيرة. أما الحد الفعلي فترسمه قائمة sudo المسموحة من الخطوة 1، لأن ما لا يُسمح به للمستخدم لا يُسمح به للوكيل أيضاً.

المهمة الأولى تفاعلياً

والآن المهمة الأولى، بشكل تفاعلي:

cd ~/server && claude
> لخّص أخطاء journalctl في آخر 24 ساعة، واذكر الأسباب الثلاثة الأكثر شيوعاً.

دون مراقبة عبر مهمة cron

والمهمة نفسها دون مراقبة، مثلاً كمهمة cron يومية في الساعة 7 صباحاً تصلك نتيجتها بالبريد الإلكتروني:

0 7 * * * cd /home/aiagent/server && /home/aiagent/.local/bin/claude -p "لخّص الأخطاء والتحذيرات في journalctl خلال آخر 24 ساعة. اذكر الخدمة والوقت والسبب المرجّح." --allowedTools "Bash(sudo journalctl:*)" 2>&1 | mail -s "التقرير اليومي للخادم" admin@example.com

يشغّل الخيار -p برنامج Claude Code دون جلسة تفاعلية، ويقيّد --allowedTools الأدوات بما يحتاجه التشغيل بالضبط. ولا مكان لإجراءات الكتابة في التشغيلات غير المراقبة. أما كيف تُعدّ مهام cron عموماً، فيشرحه مقال إعداد مهمة cron على لينكس.

الخطوة 5: تثبيت Codex CLI (ChatGPT) وتسجيل الدخول

التثبيت وتسجيل الدخول

Codex CLI هو أداة من OpenAI تنقل النماذج التي يقوم عليها ChatGPT إلى سطر الأوامر. التثبيت في حساب المستخدم نفسه:

npm install -g @openai/codex
codex --version

يتم تسجيل الدخول بحساب ChatGPT (Plus أو Pro أو Team): شغّل codex، واختر «Sign in with ChatGPT»، ثم افتح العنوان المعروض على جهاز فيه متصفح. أما للسكربتات فعيّن بدلاً من ذلك مفتاح API من منصة OpenAI:

echo 'export OPENAI_API_KEY="sk-..."' >> ~/.bashrc
source ~/.bashrc

صندوق الرمل ووضع الموافقة في config.toml

يأتي Codex بصندوق رمل (sandbox) خاص به ووضع للموافقة. ويُحدَّد كلاهما في ~/.codex/config.toml؛ ولخادم إنتاجي تكون هذه التركيبة مناسبة:

mkdir -p ~/.codex
cat > ~/.codex/config.toml <<'EOF'
approval_policy = "on-request"
sandbox_mode = "workspace-write"
EOF

يسمح workspace-write بالكتابة في مجلد العمل الحالي فقط، ويجعل on-request الوكيل يطلب الإذن لكل ما يتجاوز ذلك. أما المستوى danger-full-access فيلغي القيدين كليهما، ولا مكان له على نظام إنتاجي.

القواعد في AGENTS.md

يقرأ Codex القواعد، كتلك الموجودة في CLAUDE.md، من ملف AGENTS.md في مجلد العمل؛ ويمكنك استخدام المحتوى نفسه:

cp ~/server/CLAUDE.md ~/server/AGENTS.md
cd ~/server && codex "تحقق مما إذا كانت جميع خدمات systemd المفعّلة تعمل، واعرض الخدمات الفاشلة مع آخر رسالة خطأ لكل منها."

وللتشغيلات غير المراقبة يوجد codex exec "Aufgabe"، وهو المقابل للأمر claude -p.

الخطوة 6: Gemini CLI خياراً ثالثاً

Gemini CLI هو أداة سطر الأوامر من Google، ويعمل وفق المبدأ نفسه. وهو يعمل كذلك على Node.js ويُثبَّت في حساب المستخدم نفسه:

npm install -g @google/gemini-cli
gemini --version

عند أول تشغيل للأمر gemini تسجّل الدخول بحساب Google، وللسكربتات تعيّن مفتاح API في متغير البيئة GEMINI_API_KEY. يقرأ Gemini CLI القواعد من ملف GEMINI.md في مجلد العمل، وهنا أيضاً يمكنك نقل محتوى CLAUDE.md. ولبدء التشغيلات غير المراقبة استخدم الأمر gemini -p "Aufgabe". أما أيّ الأدوات الثلاث تستخدم، فذلك يتوقف في المقام الأول على الحساب الذي تملكه أصلاً: فطريقة العمل على الخادم واحدة في الأدوات الثلاث، ويمكنك تشغيل أكثر من أداة جنباً إلى جنب.

البديل: الوكيل يعمل على حاسوبك وينفّذ الأوامر عبر SSH

من لا يريد تثبيت أي شيء على الخادم يشغّل Claude Code أو Codex على الحاسوب المحمول، ويترك الوكيل يرسل الأوامر عبر SSH. لهذا الغرض يُضاف إلى الخادم مفتاح SSH خاص بمستخدم الوكيل، وتُكتب في CLAUDE.md قاعدة تقضي بإضافة ssh aiagent@server في بداية جميع أوامر الخادم. يعمل ذلك جيداً للصيانة العرضية، لكن المهام الأطول ومهام cron تعمل بشكل أفضل مباشرة على الخادم. أما كيف يبدو الربط عبر SSH بالتفصيل، بمفتاح خاص واسم مستعار للمضيف وموافقات، وما التسلسل الذي يتبعه الوكيل بعد ذلك عند النشر على الأنظمة الإنتاجية، فيعرضه التقرير العملي ربط الذكاء الاصطناعي بالخادم.

الخطوة 7: التأمين ووضع الحدود

  • لقطة أو نسخة احتياطية قبل كل جلسة يُراد فيها تغيير شيء ما. وتبيّن استراتيجية النسخ الاحتياطي للخوادم كيف يتم ذلك تلقائياً.
  • إبقاء وضع الموافقة مفعّلاً. الخياران --dangerously-skip-permissions في Claude Code وdanger-full-access في Codex مخصصان للأجهزة الافتراضية المؤقتة.
  • الأسرار بعيدة عن المتناول. يجب ألا يتمكن مستخدم الوكيل من قراءة ملفات .env وكلمات مرور قواعد البيانات وبيانات العملاء. فكل ما يقرؤه يذهب إلى المزود.
  • حد للتكاليف تضبطه لكل مفتاح API في وحدة تحكم المزود.
  • قابلية التتبع: ثبّت etckeeper لكي يصل كل تغيير تحت /etc إلى Git، واحتفظ بملخصات الوكيل.
  • لا شيء يتغير في الاتجاه الوارد. لا تحتاج الأداتان إلا إلى HTTPS صادر. ويبقى جدار الحماية وFail2ban وحماية DDoS لدى مزود الاستضافة دون تغيير.

المهام الأولى: خمسة تكليفات مفيدة

أفضل المهام للبداية هي تلك التي تتطلب قراءة كثيرة ولا تنطوي على أي مخاطرة. فهي تُظهر بسرعة مدى دقة الوكيل في عمله، وتحقق فائدة فورية:

  • تقرير السجلات: «لخّص الأخطاء والتحذيرات خلال آخر 24 ساعة، مجمّعةً حسب الخدمة، مع السبب المرجّح.»
  • فحص الخدمات: «اعرض جميع خدمات systemd الفاشلة مع آخر رسالة خطأ لكل منها، واشرح ما ينبغي فعله في كل حالة. لا تغيّر شيئاً.»
  • مساحة التخزين: «بيّن أي المجلدات تشغل أكبر مساحة، واقترح ما يمكن تنظيفه دون خطر.» وتجد خلفية ذلك في مقال امتلاء القرص على لينكس.
  • التحديثات: «ما الحزم التي لها تحديثات أمنية معلّقة، وما الخدمات التي يجب إعادة تشغيلها بعد ذلك؟»
  • خادم الويب: «افحص إعدادات nginx بحثاً عن أخطاء وإعدادات قديمة، واشرح كل ما تجده.»

ولا يستحق الأمر أن تُسند إلى الوكيل مهام تُجري تغييرات إلا بعد أن تثبت صحة هذه التحليلات، وعلى نظام اختبار أولاً.

الأخطاء الشائعة وحلولها

الرسالةالسبب والحل
EACCES: permission denied عند npm install -gيحاول npm الكتابة في مجلد نظام. عيّن بادئة للمستخدم: npm config set prefix ~/.npm-global، ثم أضف export PATH=~/.npm-global/bin:$PATH إلى ~/.bashrc وثبّت من جديد.
Node.js version ... is not supportedإصدار قديم جداً من مصادر التوزيعة. كرّر الخطوة 2 وتحقق بالأمر node --version من أن الإصدار ⁦22.x⁩ هو النشط.
claude: command not foundيضع المثبّت الأصلي البرنامج في ~/.local/bin، وهذا المجلد ليس في PATH بعد. أضف export PATH=$HOME/.local/bin:$PATH إلى ~/.bashrc وأعد تحميل الصدفة.
تسجيل الدخول لا يفتح متصفحاًهذا متوقع على خادم. افتح العنوان المعروض على جهاز آخر وأدخل الرمز، أو انتقل إلى استخدام مفتاح API.
ECONNREFUSED أو انتهاء المهلة عند التشغيلاتصال HTTPS الصادر محظور. تحقق من قواعد جدار الحماية للمنفذ 443 في الاتجاه الصادر؛ على خوادم KernelHost تكون حركة المرور الصادرة مفتوحة افتراضياً.
429 rate limit أو overloadedنفدت حصة الاشتراك أو API، أو أن المزود مثقل بالطلبات. انتظر قليلاً، وزوّد التشغيلات غير المراقبة بإعادة محاولة بعد بضع دقائق.
الوكيل يطلب الإذن عند كل أمروسّع القائمة المسموحة في ~/.claude/settings.json أو approval_policy في config.toml، لكن بأوامر القراءة فقط.
مهمة cron ترسل رسائل فارغةلا تتوفر في cron متغيرات البيئة الخاصة بالصدفة. عيّن مفتاح API في crontab أو في ملف بيئة تقرؤه المهمة، واستخدم المسار الكامل للبرنامج.

إبقاء الأدوات محدّثة

بعد التثبيت بالمثبّت الأصلي يحدّث Claude Code نفسه تلقائياً. أما الأدوات المثبّتة عبر npm فتحدّثها إلى أحدث إصدار بأمر واحد:

npm update -g @openai/codex @google/gemini-cli
codex --version
gemini --version

قد تغيّر الإصدارات الجديدة أحياناً الخيارات أو الإعدادات الافتراضية. بعد كل تحديث ألقِ نظرة سريعة على ملاحظات الإصدار قبل أن تترك التشغيلات غير المراقبة تستمر، وافحص التقرير اليومي التالي بحثاً عن أي أمر غير معتاد.

الخلاصة

يُعدّ وكيل الذكاء الاصطناعي على الخادم في ساعة واحدة: مستخدم، وقائمة sudo مسموحة، وNode.js، وأداة، وقواعد. أما العمل الفعلي فيكمن في الحدود، وهي هنا ضيقة عن قصد. وسّعها خطوة بخطوة حين تتطلب مهمة ما ذلك، ولا توسّعها دفعة واحدة أبداً. على خادم جذري من KernelHost أو خادم مخصص لا حاجة إلى تفعيل أي شيء لذلك: فالوصول الجذري وحرية اختيار التوزيعة والاتصالات الصادرة كلها متاحة بشكل قياسي.

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

باختصار

  • يعمل Claude Code وCodex CLI وGemini CLI على أي خادم لينكس مع ⁦Node.js 22⁩، ولا حاجة إلى GPU.
  • يحصل الوكيل على مستخدم مستقل بقائمة sudo مسموحة، ولا يعمل أبداً كمستخدم root.
  • تُكتب القواعد في CLAUDE.md أو AGENTS.md أو GEMINI.md، وتدخل أوامر القراءة في القائمة المسموحة، وكل ما عداها يحتاج إلى موافقة.
  • لمهام cron والسكربتات يكون مفتاح API مع حد للإنفاق هو الطريق النظيف، وتبقى التشغيلات غير المراقبة مقتصرة على القراءة.
  • نسخة احتياطية قبل كل جلسة، والأسرار بعيدة عن المتناول، ووضع الموافقة مفعّل.
  • على خوادم KernelHost يتوفر الوصول الجذري وحرية اختيار التوزيعة والاتصالات الصادرة افتراضياً.

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

هل أحتاج إلى اشتراك لاستخدام Claude Code أم يكفي مفتاح API؟
كلاهما يعمل. مع حساب Claude (Pro أو Max أو Team) تسجّل الدخول عند أول تشغيل عبر المتصفح، وعلى خادم بلا متصفح عبر رمز تؤكده على جهاز آخر. أما للمهام المؤتمتة التي لا يتابعها أحد، فمفتاح API في متغير البيئة ANTHROPIC_API_KEY هو الطريق الأنظف، لأنه غير مرتبط بشخص بعينه ويمكن تحديد سقف له بميزانية.
كيف أسجّل الدخول إلى Codex CLI على خادم بلا متصفح؟
إما عبر تسجيل الدخول بحساب ChatGPT، حيث يعرض Codex عنواناً تفتحه على الحاسوب المحمول أو الهاتف الذكي، وإما عبر متغير البيئة OPENAI_API_KEY بمفتاح من منصة OpenAI. ولمهام cron والسكربتات يكون مفتاح API الخيار الأكثر موثوقية.
أي إصدار من Node.js أحتاج؟
يتطلب Claude Code الإصدار ⁦Node.js 18⁩ على الأقل، ويتطلب Codex CLI الإصدار ⁦Node.js 22⁩ على الأقل. لذلك ثبّت ⁦Node.js 22 LTS⁩ مباشرة من مستودع NodeSource أو عبر nvm في المجلد الرئيسي لمستخدم الوكيل. فالإصدار الموجود في مصادر حزم ⁦Debian 12⁩ قديم جداً. وبعد التثبيت تحقق بالأمر node --version من الإصدار النشط: إذا ظل الأمر يعرض إصداراً رئيسياً أقدم، فهذا يعني أن إصدار التوزيعة يأتي قبله في PATH.
لماذا يفشل npm install -g بالخطأ EACCES؟
لأن npm يحاول عند التثبيت العام الكتابة في مجلد نظام لا يملك المستخدم صلاحيات عليه. عيّن بادئة للمستخدم بالأمر npm config set prefix ~/.npm-global، وأضف ~/.npm-global/bin إلى PATH، ثم ثبّت من جديد. وبديلاً عن ذلك يمكنك استخدام nvm، أو بالنسبة إلى Claude Code المثبّت الأصلي الذي يستغني عن npm.
هل يمكنني تشغيل Claude Code في مهمة cron؟
نعم، عبر claude -p مع المهمة كنص وقائمة مسموحة بالأدوات المصرّح بها. استخدم لذلك مفتاح API، وقيّد الأدوات بأوامر القراءة، ووجّه المخرجات إلى ملف أو رسالة بريد إلكتروني. أما الإجراءات التي تُحدث تغييرات في النظام فلا مكان لها في التشغيلات غير المراقبة.
هل يعمل هذا أيضاً على خوادم Windows من KernelHost؟
نعم. يعمل Claude Code وCodex CLI على Windows أصلياً مع Node.js أو داخل Windows Subsystem for Linux. وتقابل خطوات المستخدم وقائمة sudo المسموحة هناك مستخدمَ Windows مستقلاً بلا صلاحيات مسؤول. يتوفر Windows Server لدى KernelHost بنظام Bring Your Own License، وتسري هناك قواعد الموافقات والنسخ الاحتياطية والأسرار تماماً كما في لينكس.
هل يمكنني استخدام Claude Code وCodex CLI وGemini CLI جنباً إلى جنب على خادم واحد؟
نعم. تعمل الأدوات الثلاث جنباً إلى جنب في حساب المستخدم نفسه وتستخدم الصلاحيات نفسها. وتقرأ كل أداة ملف القواعد الخاص بها في مجلد العمل: يقرأ Claude Code الملف CLAUDE.md، ويقرأ Codex CLI الملف AGENTS.md، ويقرأ Gemini CLI الملف GEMINI.md. والأسهل أن تحرر المحتوى مرة واحدة ثم تنسخه إلى الملفات الثلاثة. أما الأداة التي تستخدمها فيتوقف اختيارها غالباً على الحساب الذي تملكه أصلاً.
كم يحتاج وكيل الذكاء الاصطناعي من الذاكرة على الخادم؟
القليل، لأن نموذج اللغة يعمل لدى المزود. فأداة سطر الأوامر وNode.js لا يشغلان أثناء الجلسة عادةً سوى بضع مئات من الميغابايتات. وعلى خادم لا يعمل عليه الكثير غير ذلك، يكفي ⁦2 vCPU⁩ و⁦4 GB RAM⁩. وإذا كانت تعمل عليه إلى جانب ذلك مواقع ويب أو قواعد بيانات أو خوادم ألعاب، فاحسب للوكيل احتياطياً يقارب ⁦1 GB⁩. ولا حاجة إلى GPU.
كيف أحدّث Claude Code وCodex CLI وGemini CLI؟
بعد التثبيت بالمثبّت الأصلي يحدّث Claude Code نفسه تلقائياً. أما Codex CLI وGemini CLI فتحدّثهما إلى أحدث إصدار بالأمر npm update -g @openai/codex @google/gemini-cli، ثم تتحقق من الإصدارات بالأمر codex --version والأمر gemini --version. وبعد كل تحديث اقرأ ملاحظات الإصدار قبل أن تستأنف التشغيلات غير المراقبة، لأن الخيارات قد تتغير.
كيف أُعدّ Gemini CLI على الخادم؟
بالأمر npm install -g @google/gemini-cli في حساب مستخدم الوكيل، ثم شغّل gemini وسجّل الدخول بحساب Google، أو عيّن للسكربتات مفتاح API في متغير البيئة GEMINI_API_KEY. يقرأ Gemini CLI القواعد من ملف GEMINI.md في مجلد العمل، ولبدء التشغيلات غير المراقبة استخدم gemini -p مع المهمة كنص.
لماذا يجب ألا يعمل وكيل الذكاء الاصطناعي كمستخدم root؟
لأن الوكيل الذي يسيء فهم تعليمة ما قد يُلحق الضرر بالخادم كله في أسوأ الأحوال إذا امتلك صلاحيات الجذر، مثلاً بأمر حذف خاطئ. أما مع مستخدم مستقل وقائمة sudo مسموحة فلا يُسمح له إلا بتنفيذ الأوامر التي صرّحت بها صراحةً. وبذلك يبقى الضرر المحتمل محصوراً في هذه الأوامر، ويمكنك في أي وقت أن تتبيّن من السجلات ما فعله الوكيل.

Claude Code Codex CLI Gemini CLI ChatGPT وكيل ذكاء اصطناعي Node.js Debian Ubuntu إدارة الخوادم