المادة 7
توضح هذه المادة التنفيذ الفني لنظام SafeClaw متعدد المستخدمين — كيف يعمل عزل المستخدمين ، وكيف يتم فرض التحكم في الوصول ، وكيف يتم توجيه الأنواع الثلاثة من حسابات Binance.
━━━ التحدي الأساسي ━━━
من السهل نسبيًا تأمين وكيل ذكاء اصطناعي أحادي المستخدم. لكن وكيل متعدد المستخدمين يعمل على مفاتيح API المالية الحقيقية هو مشكلة مختلفة تمامًا.
المتطلبات:
1. يجب أن تكون مفتاح API الخاص بالمستخدم A غير مرئي للمستخدم B
2. يجب أن تكون تاريخ تداول المستخدم A غير مرئي للمستخدم B
3. يجب ألا يؤثر مخطط DCA الخاص بالمستخدم A على المستخدم B
4. يجب ألا يكشف اختراق جلسة المستخدم A عن المستخدم B
5. يجب على الروبوت توجيه استدعاءات API لكل مستخدم إلى بيئة Binance الصحيحة
يحل SafeClaw جميع النقاط الخمس.
━━━ هندسة عزل الجلسات ━━━
تم تهيئة نظام جلسات OpenClaw مع:
dmScope: "per-channel-peer"
هذا يعني: يحصل كل معرف مستخدم Telegram فريد على سياق جلسة معزول خاص به.
تقنيًا، ماذا يعني هذا:
• تتم معالجة رسائل كل مستخدم ضمن مساحة أسماء جلسة منفصلة
• يتم تمييز بيانات الجلسة (المحفوظة في sessions.json) بمعرّف مستخدم Telegram
• لا يمكن لأي جلسة لمستخدم قراءة جلسة مستخدم آخر
• يحتوي سياق وكيل الذكاء الاصطناعي لكل مستخدم على بيانات ذلك المستخدم فقط
بيانات الجلسة المخزنة لكل مستخدم:
• binance_account_type (live/demo/testnet)
• binance_live_key, binance_live_secret
• binance_demo_key, binance_demo_secret
• binance_testnet_key, binance_testnet_secret
• binance_square_key
• currency, payment_methods, risk_profile
• dca_asset, dca_amount, dca_interval, dca_history
• simulation_history, evaluation_scores
لا يمكن لأي من هذه البيانات الوصول إليها من قبل مستخدمين آخرين.
━━━ نظام التحكم في الوصول للحسابات الثلاثة ━━━
يدعم SafeClaw ثلاثة أنواع مميزة من حسابات Binance لكل مستخدم. تقوم مهارة api-router بمعالجة التوجيه:
حساب حقيقي (إنتاج)
الأمر: /updatekey [KEY] [SECRET]
نقطة التحقق: https://api.binance.com/api/v3/account
نقطة التداول: https://api.binance.com
نقطة العقود الآجلة: https://fapi.binance.com
حالات الاستخدام: Live DCA، مراقبة Earn الحقيقية
الأمان: إذن السحب = رفض فوري
تقييد IP: يُطلب من المستخدمين تقييد الوصول إلى عنوان IP الخاص بالخادم
حساب تجريبي (تدريب)
الأمر: /updatekey-demo [KEY] [SECRET]
نقطة التحقق: https://demo-api.binance.com/api/v3/account
نقطة التداول: https://demo-api.binance.com
نقطة العقود الآجلة: https://demo-fapi.binance.com
حالات الاستخدام: محاكاة Academy، اختبار الاستراتيجيات
الرصيد: 5,000 USDT توفره Binance
الأمان: لا توجد أموال حقيقية، ولا يوجد خطر سحب
TESTNET (تطوير)
الأمر: /updatekey-testnet [KEY] [SECRET]
نقطة التحقق: https://testnet.binance.vision/api/v3/account
نقطة التداول: https://testnet.binance.vision
حالات الاستخدام: المطورون الذين يبنون على Binance، واختبار الـ API
الرصيد: أموال testnet من testnet.binance.vision
━━━ تدفّق التحقق من مفتاح API ━━━
يمرّ كل مفتاح يتم إدخاله عبر هذه العملية حرفيًا:
1. التحقق من الصيغة
طول المفتاح: يجب أن يكون 64 حرفًا
مجموعة الأحرف: أبجدي رقمي فقط
في حال كان غير صالح: "تنسيق مفتاح غير صالح. يُرجى التحقق وإعادة المحاولة."
2. استدعاء API مباشر
GET {correct_endpoint}/api/v3/account
مع ختم زمني موقّع باستخدام HMAC SHA256
انتهاء المهلة: 10 ثوانٍ
3. فحص الأذونات
تحليل مصفوفة .permissions من الاستجابة
إذا وُجد "WITHDRAWALS" → رفض
إذا وُجد "TRANSFER" → رفض
إذا كانت "SPOT" غير موجودة → تحذير المستخدم (قد لا يتمكن من التداول)
إذا كان canTrade = false → تحذير المستخدم
4. التخزين
عند النجاح: يتم حفظه في ذاكرة جلسة المستخدم
تم ضبط راية نوع الحساب: "live" / "demo" / "testnet"
إشعار المستخدم ببطاقة الحساب
5. تهيئة طلب الأمان
"✅ [Account type] متصل."
"⚠️ يُرجى حذف رسالة /updatekey الخاصة بك من الدردشة الآن."
━━━ منطق التوجيه ━━━
كل مهارة تنفّذ استدعاء Binance API تقرأ من مهارة api-router:
تقرأ api-router: binance_account_type من الجلسة
النتيجة: BASE_URL, FUTURES_URL, USER_KEY, USER_SECRET, ACCOUNT_LABEL
المهارات التي تستخدم api-router:
• smartdca (في كل تنفيذ لـ DCA)
• safeclaw-academy (في كل محاكاة)
• yield-monitor (في كل استعلام عن Earn)
• profile (عرض الرصيد)
• guardianclaw (عند تنفيذ الصفقات المعتمدة)
المهارات التي لا تحتاج api-router (واجهات API عامة):
• p2p-safefinder (واجهة P2P API عامة)
• briefing (بيانات السعر عامة)
• square-content-engine (الأخبار/الاتجاهات عامة)
━━━ ماذا يحدث عند عدم تعيين مفتاح؟ ━━━
إذا حاول مستخدم تشغيل /dca أو /simulate دون وجود مفتاح مُهيأ:
"⚠️ لم يتم ربط حساب Binance."
لاستخدام هذه الميزة:
• /updatekey — حساب Binance الحقيقي
• /updatekey-demo — حساب الممارسة (موصى به)
• /updatekey-testnet — testnet للمطورين
تعمل عمليات بحث P2P وموجزات السوق بدون مفتاح API.
لا يلجأ الروبوت أبدًا إلى بيانات الاعتماد على مستوى الخادم. إذا لم يتم إعداد مفتاح المستخدم، فالميزة غير متاحة لذلك المستخدم.
━━━ معالجة المستخدمين بالتوازي ━━━
إعدادات OpenClaw:
agents.defaults.maxConcurrent: 4
agents.defaults.subagents.maxConcurrent: 8
هذا يعني:
• حتى 4 عمليات للوكيل الرئيسي تعمل بالتوازي
• حتى 8 عمليات للـ sub-agent لكل وكيل رئيسي
• يتم وضع الطلبات الإضافية في قائمة انتظار — دون إسقاط الرسائل
على t3.small (2 vCPU، 2GB RAM)، يتعامل ذلك بشكل مريح مع عشرات المستخدمين المتزامنين. عنق الزجاجة الرئيسي هو حدود معدل واجهة OpenRouter API، وليس موارد الخادم.
━━━ التوسّع المستقبلي ━━━
التحجيم متعدد النسخ:
• يمكّن مخزن جلسات Redis من مشاركة الحالة بين عدة مثيلات من OpenClaw
• يقوم موازن الحمل بتوزيع حركة الويب هوك لتلغرام
• تتعامل كل نسخة مع جزء من المستخدمين بإمكانيات متطابقة
اختيار النموذج لكل مستخدم:
• يمكن للمستخدمين المميزين توجيه الطلب إلى Claude Sonnet لزيادة الدقة
• يوجّه المستوى المجاني إلى نماذج بديلة مجانية
• يتم تخزين اختيار النموذج في جلسة المستخدم
مستويات المستخدم:
• مجاني: P2P، موجزات الإحاطة، التعلّم
• قياسي: + DCA، Guard، Academy
• مميز: + Yield، Content Engine، توجيه ذو أولوية
روابط سريعة:
المقال 1 المقال 2 المقال 3 المقال 4 المقال 5 المقال 6 المقال 8
المصدر: https://github.com/bnbnepalbinanceangel/SafeClaw
#AIBinance #SafeClaw #MultiUser #AccessControl #OpenClaw