Windows (WSL2)
يوصى باستخدام OpenClaw على Windows عبر WSL2 (يوصى بـ Ubuntu). يعمل CLI + البوابة داخل لينكس، مما يحافظ على ثبات بيئة التشغيل ويجعل الأدوات أكثر توافقًا (Node/Bun/pnpm، ملفات ثنائية لينكس، المهارات). قد يكون الإصدار الأصلي لنظام Windows أكثر تعقيدًا. يمنحك WSL2 تجربة لينكس كاملة — أمر واحد للتثبيت: wsl --install. تطبيقات المرافقة الأصلية لنظام Windows قيد التخطيط.
التثبيت (WSL2)
- بدء الاستخدام (استخدم داخل WSL)
- التثبيت والتحديثات
- الدليل الرسمي لـ WSL2 (Microsoft): https://learn.microsoft.com/windows/wsl/install
البوابة
تثبيت خدمة البوابة (CLI)
داخل WSL2:
openclaw onboard --install-daemon
أو:
openclaw gateway install
أو:
openclaw configure
اختر خدمة البوابة عند المطالبة. الإصلاح/الترحيل:
openclaw doctor
التشغيل التلقائي للبوابة قبل تسجيل الدخول إلى Windows
للإعدادات بدون واجهة مستخدم، تأكد من تشغيل سلسلة الإقلاع الكاملة حتى عندما لا يسجل أحد الدخول إلى Windows.
1) الحفاظ على تشغيل خدمات المستخدم دون تسجيل دخول
داخل WSL:
sudo loginctl enable-linger "$(whoami)"
2) تثبيت خدمة مستخدم بوابة OpenClaw
داخل WSL:
openclaw gateway install
3) بدء WSL تلقائيًا عند إقلاع Windows
في PowerShell كمسؤول:
schtasks /create /tn "WSL Boot" /tr "wsl.exe -d Ubuntu --exec /bin/true" /sc onstart /ru SYSTEM
استبدل Ubuntu باسم توزيعتك من:
wsl --list --verbose
التحقق من سلسلة بدء التشغيل
بعد إعادة التشغيل (قبل تسجيل الدخول إلى Windows)، تحقق من داخل WSL:
systemctl --user is-enabled openclaw-gateway
systemctl --user status openclaw-gateway --no-pager
متقدم: عرض خدمات WSL عبر الشبكة المحلية (portproxy)
لـ WSL شبكته الافتراضية الخاصة. إذا احتاجت آلة أخرى للوصول إلى خدمة تعمل داخل WSL (SSH، خادم TTS محلي، أو البوابة)، يجب عليك توجيه منفذ في Windows إلى عنوان IP الحالي لـ WSL. يتغير عنوان IP الخاص بـ WSL بعد عمليات إعادة التشغيل، لذا قد تحتاج إلى تحديث قاعدة التوجيه. مثال (PowerShell كمسؤول):
$Distro = "Ubuntu-24.04"
$ListenPort = 2222
$TargetPort = 22
$WslIp = (wsl -d $Distro -- hostname -I).Trim().Split(" ")[0]
if (-not $WslIp) { throw "WSL IP not found." }
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=$ListenPort `
connectaddress=$WslIp connectport=$TargetPort
السماح بالمنفذ عبر جدار حماية Windows (مرة واحدة):
New-NetFirewallRule -DisplayName "WSL SSH $ListenPort" -Direction Inbound `
-Protocol TCP -LocalPort $ListenPort -Action Allow
تحديث portproxy بعد إعادة تشغيل WSL:
netsh interface portproxy delete v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 | Out-Null
netsh interface portproxy add v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 `
connectaddress=$WslIp connectport=$TargetPort | Out-Null
ملاحظات:
- يستهدف SSH من آلة أخرى عنوان IP مضيف Windows (مثال:
ssh user@windows-host -p 2222). - يجب أن تشير العقد البعيدة إلى عنوان URL للبوالة قابل للوصول (وليس
127.0.0.1)؛ استخدمopenclaw status --allللتأكد. - استخدم
listenaddress=0.0.0.0للوصول عبر الشبكة المحلية؛127.0.0.1يبقيها محلية فقط. - إذا أردت أن يكون هذا تلقائيًا، سجل مهمة مجدولة لتشغيل خطوة التحديث عند تسجيل الدخول.
تثبيت WSL2 خطوة بخطوة
1) تثبيت WSL2 + Ubuntu
افتح PowerShell (مسؤول):
wsl --install
# أو اختر توزيعة صراحة:
wsl --list --online
wsl --install -d Ubuntu-24.04
أعد التشغيل إذا طلب Windows.
2) تمكين systemd (مطلوب لتثبيت البوابة)
في طرفية WSL الخاصة بك:
sudo tee /etc/wsl.conf >/dev/null <<'EOF'
[boot]
systemd=true
EOF
ثم من PowerShell:
wsl --shutdown
أعد فتح Ubuntu، ثم تحقق:
systemctl --user status
3) تثبيت OpenClaw (داخل WSL)
اتبع سير عمل بدء الاستخدام لنظام لينكس داخل WSL:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build # يقوم بتثبيت تبعيات واجهة المستخدم تلقائيًا عند التشغيل الأول
pnpm build
openclaw onboard
الدليل الكامل: بدء الاستخدام
تطبيق المرافقة لنظام Windows
ليس لدينا تطبيق مرافقة لنظام Windows بعد. المساهمات مرحب بها إذا كنت تريد المساهمة لتحقيق ذلك.