Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

تشغيل OpenClaw.app مع Gateway عن بُعد

يستخدم OpenClaw.app نفق SSH للاتصال بـ Gateway عن بُعد. يوضّح هذا الدليل كيفية إعداد ذلك.

نظرة عامة

%%{init: {
  'theme': 'base',
  'themeVariables': {
    'primaryColor': '#ffffff',
    'primaryTextColor': '#000000',
    'primaryBorderColor': '#000000',
    'lineColor': '#000000',
    'secondaryColor': '#f9f9fb',
    'tertiaryColor': '#ffffff',
    'clusterBkg': '#f9f9fb',
    'clusterBorder': '#000000',
    'nodeBorder': '#000000',
    'mainBkg': '#ffffff',
    'edgeLabelBackground': '#ffffff'
  }
}}%%
flowchart TB
    A["Owner (Peter)"] -- Full trust --> B["AI (Clawd)"]
    B -- Trust but verify --> C["Friends in allowlist"]
    C -- Limited trust --> D["Strangers"]
    D -- No trust --> E["Mario asking for find ~"]
    E -- Definitely no trust 😏 --> F[" "]

     %% The transparent box is needed to show the bottom-most label correctly
     F:::Class_transparent_box
    classDef Class_transparent_box fill:transparent, stroke:transparent

الإعداد السريع

الخطوة 1: إضافة تهيئة SSH

حرّر ~/.ssh/config وأضِف:

Host remote-gateway
    HostName <REMOTE_IP>          # e.g., 172.27.187.184
    User <REMOTE_USER>            # e.g., jefferson
    LocalForward 18789 127.0.0.1:18789
    IdentityFile ~/.ssh/id_rsa

استبدِل <REMOTE_IP> و <REMOTE_USER> بقيمك.

الخطوة 2: نسخ مفتاح SSH

انسخ مفتاحك العام إلى الجهاز البعيد (أدخل كلمة المرور مرة واحدة):

ssh-copy-id -i ~/.ssh/id_rsa <REMOTE_USER>@<REMOTE_IP>

الخطوة 3: تعيين رمز Gateway

launchctl setenv OPENCLAW_GATEWAY_TOKEN "<your-token>"

الخطوة 4: بدء نفق SSH

ssh -N remote-gateway &

الخطوة 5: إعادة تشغيل OpenClaw.app

# Quit OpenClaw.app (⌘Q), then reopen:
open /path/to/OpenClaw.app

سيقوم التطبيق الآن بالاتصال بـ Gateway عن بُعد عبر نفق SSH.


بدء النفق تلقائيًا عند تسجيل الدخول

لجعل نفق SSH يبدأ تلقائيًا عند تسجيل الدخول، أنشئ Launch Agent.

إنشاء ملف PLIST

احفظ هذا باسم ~/Library/LaunchAgents/bot.molt.ssh-tunnel.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>bot.molt.ssh-tunnel</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/ssh</string>
        <string>-N</string>
        <string>remote-gateway</string>
    </array>
    <key>KeepAlive</key>
    <true/>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

تحميل Launch Agent

launchctl bootstrap gui/$UID ~/Library/LaunchAgents/bot.molt.ssh-tunnel.plist

سيقوم النفق الآن بما يلي:

  • البدء تلقائيًا عند تسجيل الدخول
  • إعادة التشغيل إذا تعطل
  • الاستمرار في العمل في الخلفية

ملاحظة قديمة: أزِل أي LaunchAgent متبقٍ باسم com.openclaw.ssh-tunnel إن وُجد.


استكشاف الأخطاء وإصلاحها

التحقق مما إذا كان النفق يعمل:

ps aux | grep "ssh -N remote-gateway" | grep -v grep
lsof -i :18789

إعادة تشغيل النفق:

launchctl kickstart -k gui/$UID/bot.molt.ssh-tunnel

إيقاف النفق:

launchctl bootout gui/$UID/bot.molt.ssh-tunnel

كيف يعمل

المكون ما الذي يفعله
LocalForward 18789 127.0.0.1:18789 يمرّر المنفذ المحلي 18789 إلى المنفذ البعيد 18789
ssh -N SSH دون تنفيذ أوامر بعيدة (مجرد تمرير منافذ)
KeepAlive يعيد تشغيل النفق تلقائيًا إذا تعطل
RunAtLoad يبدأ النفق عند تحميل العامل

يتصل OpenClaw.app بـ ws://127.0.0.1:18789 على جهاز العميل لديك. يقوم نفق SSH بتمرير هذا الاتصال إلى المنفذ 18789 على الجهاز البعيد حيث يعمل Gateway (البوابة).