Signal (signal-cli) - قناة دردشة

استخدم OpenClaw عبر Signal - المراسلة المشفرة والآمنة. التكامل يتم عبر signal-cli (تكامل CLI خارجي). يتواصل Gateway مع signal-cli عبر HTTP JSON-RPC + SSE.

نقاط مهمة:

  • يتطلب تثبيت signal-cli (Java required)
  • استخدم رقم Signal منفصل للبوت (موصى به بشدة)
  • التكامل الخارجي يعني أداء أبطأ قليلاً من القنوات الأخرى
  • Signal يوفر تشفيراً من طرف لطرف (E2EE) لكل الرسائل

المتطلبات الأساسية

  • Java Runtime Environment (JRE) 17 أو أحدث
  • signal-cli مثبت ومُعدّ
  • رقم هاتف منفصل للبوت (مسجل على Signal)

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

1. تثبيت signal-cli

طرق التثبيت حسب النظام:

macOS (Homebrew):

brew install signal-cli

Linux (Arch/AUR):

yay -S signal-cli

Manual (All platforms):

wget https://github.com/AsamK/signal-cli/releases/download/v0.13.0/signal-cli-0.13.0.tar.gz
tar xf signal-cli-0.13.0.tar.gz -C /opt
ln -sf /opt/signal-cli-0.13.0/bin/signal-cli /usr/local/bin/

2. ربط الجهاز (Device Linking)

الطريقة الموصى بها - ربط الجهاز كجهاز ثانوي:

signal-cli link -n "OpenClaw"

سيظهر رابط tsdevice://?... - افتحه على جهازك الرئيسي في Signal:

  • افتح Signal على هاتفك
  • اذهب إلى الإعدادات → الأجهزة المرتبطة
  • انقر "ربط جهاز جديد"
  • امسح رمز QR أو الصق الرابط

3. بدء الخادم الخلفي

signal-cli -a +15551234567 daemon --http 127.0.0.1:8080

استبدل +15551234567 برقم حسابك.

نصيحة:

لتشغيل signal-cli كخدمة systemd:

# /etc/systemd/system/signal-cli.service
[Unit]
Description=Signal Daemon
After=network.target

[Service]
ExecStart=/usr/local/bin/signal-cli -a +15551234567 daemon --http 127.0.0.1:8080
Restart=always
User=signal

[Install]
WantedBy=multi-user.target

4. إعداد OpenClaw

في ~/.openclaw/openclaw.json:

{
  "channels": {
    "signal": {
      "enabled": true,
      "account": "+15551234567",
      "cliPath": "signal-cli",
      "daemonUrl": "http://127.0.0.1:8080",
      "dmPolicy": "pairing",
      "allowFrom": ["+15557654321"]
    }
  }
}

5. إعادة تشغيل Gateway

openclaw gateway restart

الميزات المتاحة

  • 💬 إرسال واستقبال الرسائل النصية
  • 📸 إرسال واستقبال الصور والملفات
  • 👥 دعم المجموعات
  • 🔒 تشفير من طرف لطرف (E2EE) تلقائياً
  • ✅ حالات القراءة
  • ⏰ الكتابة والحضور

سياسات الأمان (dmPolicy)

  • allow - قبول رسائل من الجميع
  • pairing - قبول فقط من الأرقام المحددة في allowFrom (موصى به)
  • deny - رفض كل الرسائل المباشرة (المجموعات فقط)

استكشاف الأخطاء

signal-cli daemon لا يبدأ

  • تحقق من تثبيت Java: java -version
  • تأكد من ربط الجهاز أولاً
  • تحقق من الصلاحيات على مجلد ~/.local/share/signal-cli

البوت لا يستقبل الرسائل

  • تحقق من تشغيل daemon: curl http://127.0.0.1:8080/v1/health
  • تأكد من صحة account في الإعدادات
  • تحقق من allowFrom و dmPolicy

خطأ "Not registered"

  • يجب تسجيل الرقم على Signal أولاً
  • استخدم device linking بدلاً من التسجيل المباشر

لماذا Signal؟

  • أعلى مستوى من الأمان والخصوصية
  • مفتوح المصدر وموثوق من قبل خبراء الأمن
  • لا توجد إعلانات ولا تتبع
  • مثالي للاستخدام الشخصي والحساس

الخطوات التالية