الانتقال إلى المحتوى

ملاحظات من ⁨الورشة⁩

كيف نفكر في الوكلاء الذين يعيشون في تطبيقات المراسلة لديك، وما تعلمناه أثناء بنائهم، والتفاصيل العملية التي يمكنك استخدامها اليوم.

كل المقالات

الأدلةمدة القراءة: ⁨7⁩ د

ما يرسله OpenClaw إلى خوادمه

يرسل OpenClaw افتراضيًا طلبًا صادرًا واحدًا يوميًا، والتوثيق يحدد بالضبط ما يحمله: الإصدار، ونظام التشغيل، وإصدار Node.js، والمعمارية، وواجهة الاستدعاء (surface)، دون أي معرّف تثبيت. إليك الصورة كاملة، بما في ذلك الموقع المستخلص من Cloudflare الذي يُحتفظ به ثلاثة أشهر، إضافة إلى كل إعداد يوقف الطلبات.

الأدلةمدة القراءة: ⁨7⁩ د

واجهة Control UI في OpenClaw

يقدم Gateway لوحة تحكم في المتصفح على المنفذ 18789، وأول ما تعرضه حقل واحد اسمه Gateway secret. ما الذي يقبله هذا الحقل، ولماذا يتعين على متصفح يعمل على الجهاز نفسه أن يملأه رغم ذلك، وما الذي تفعله قائمة الوكلاء ووضع الفريق، وما الأمر الذي تشغله عندما يكون رابط LAN محجوبًا.

الأدلةمدة القراءة: ⁨7⁩ د

Failed to start Chrome CDP on port 18800

الخطأ سطر واحد بلا أي تلميح. على خادم Linux يكون السبب دائمًا تقريبًا هو المتصفح: يمنحك apt install chromium غلاف snap يعطّل تقييده الطريقة التي يشغّل بها OpenClaw متصفح Chrome ويراقبه. إليك الحلول، والإعدادات الستة المهمة، والفحص الذي يميّز فشل بدء تشغيل CDP من حظر التنقل.

الأدلةمدة القراءة: ⁨7⁩ د

مرحّل المتصفح في OpenClaw

يستطيع OpenClaw قيادة متصفح غير موجود على جهاز Gateway: إما أن يرحّل مضيف عقدة (node host) الإجراءات، وإما أن يتصل cdpUrl بمتصفح Chromium مستضاف. إليك كيف يتصرف التوجيه وملفات التعريف وبيانات الاعتماد.

الأدلةمدة القراءة: ⁨7⁩ د

وكلاء ACP في OpenClaw

يشغّل OpenClaw أدوات برمجة خارجية عبر Agent Client Protocol: Claude Code وGemini CLI وCursor وCopilot وDroid وOpenCode وإحدى عشرة أداة أخرى، تُطلق من رسالة دردشة وتُتابع كمهام في الخلفية. تثبيت acpx بأمرين، ومزالق التشغيل الأول ومنها فخ plugins.allow، وقائمة المتطلبات المسبقة التي تحدد ما إذا كان هذا المسار سيتاح أصلًا، ومعرّفات الأدوات السبعة عشر.

الأدلةمدة القراءة: ⁨7⁩ د

تحفيز OpenClaw عبر Gmail

تصل أحداث صندوق الوارد في Gmail إلى OpenClaw عبر موضوع Google Pub/Sub، وعملية مراقبة، وخطاف HTTP في Gateway، ويمنح الإعداد المسبق المدمج كل رسالة بريد إلكتروني جلستها الخاصة دون أن يقيّد أي شيء آخر. إليك إعداد الموضوع والمراقبة عبر gcloud، ونموذج الرمزين، ووكيل mail_reader المقيّد والمعزول الذي توصي به الوثائق، واختبار الحدود الذي يخبرك ما إذا كان القارئ محصورًا فعلًا داخل حدوده.

الأدلةمدة القراءة: ⁨7⁩ د

الخروج من البيئة المعزولة عن قصد

يتيح وضع elevated لوكيل OpenClaw يعمل في بيئة معزولة تشغيل الأوامر خارجها، تحت بوابات موافقة تبقى قابلة للتهيئة. ولا يفعل شيئًا لوكيل لم يعزل أصلًا، ولا يستطيع تجاوز سياسة الأدوات أو دور اشترط العزل من الأساس. يتناول هذا المقال التوجيهات الأربعة، وترتيب الحسم، والبوابات وقوائم السماح التي يجب اجتيازها جميعًا، والأمور التي يتركها رفع الصلاحيات دون مساس عن قصد.

الأدلةمدة القراءة: ⁨8⁩ د

محركات السياق في OpenClaw

يقرر محرك السياق أي الرسائل تصل إلى النموذج، وكيف يُلخّص السجل الأقدم، وكيف يعبر السياق حدود الوكلاء الفرعيين؛ ويأتي OpenClaw بمحرك legacy ويستخدمه افتراضيًا، ويُختار المحرك المقدّم كمكوّن إضافي عبر خانة في الإعدادات، وتتطلب الواجهة ingest وassemble وcompact مع خطافات اختيارية هي bootstrap وmaintain والاستيعاب الدفعي (batch ingest) وخطافات الوكلاء الفرعيين، ويوضع محرك المكوّن الإضافي الفاشل في العزل طوال عمر العملية ويعود العمل إلى legacy، وقيمة false لـ ownsCompaction لا تعيد مسار الضغط الخاص بـ legacy.

الأدلةمدة القراءة: ⁨7⁩ د

تشغيل exec في الخلفية وأداة process في OpenClaw

الأمر الذي يتجاوز مهلة التحويل إلى الخلفية يعيد معرف جلسة ومقطعًا قصيرًا من آخر مخرجاته بدل أن يحجب التنفيذ؛ وتبقى المخرجات في الذاكرة حتى السقف الإجمالي، وتنتهي صلاحية الجلسات المكتملة بعد مدة تحسب من لحظة اكتمالها، مع الاحتفاظ بما لا يزيد على 50 جلسة مكتملة ومليوني حرف، وتبقي بيئات العمال المدعومة بعقدة الأوامر الخلفية حية بين الأدوار، وأداة process تستطلع الحالة، وتقرأ السجلات مقسمة إلى صفحات، وتكتب إلى stdin، وترسل المفاتيح، وتؤكد الإدخال، وتلصق النصوص، وتنهي العمليات، وتمسح الجلسات.

الأدلةمدة القراءة: ⁨8⁩ د

أداة exec في OpenClaw

تشغل exec أوامر shell في مساحة العمل، ويمكنها إنشاء الملفات أو تعديلها أو حذفها حيثما يسمح المضيف المختار، لذا فتعطيل أدوات الملفات لا يجعلها للقراءة فقط؛ ويحل المعامل host إلى البيئة المعزولة عندما تكون بيئة تشغيل معزولة نشطة وإلى gateway في غير ذلك، ويضبط المفتاح mode أحد الأوضاع deny أو allowlist أو ask أو auto أو full، ويعيد المراجع التلقائي allow أو deny أو ask للحالات المؤهلة غير المطابقة لقائمة السماح، مع ربط سلسلة الإطلاق كاملة وإعادة التحقق منها قبل الإطلاق، ولا تستطيع أوامر الجلسة إلا تشديد السياسة.

الأدلةمدة القراءة: ⁨6⁩ د

واجهة OpenResponses API في OpenClaw

يقدّم gateway نقطة نهاية responses متوافقة مع OpenResponses بمجرد تفعيل gateway.http.endpoints.responses، بقواعد المصادقة والنطاقات واستهداف الوكيل نفسها التي تنطبق على chat completions؛ والإدخال نص أو قائمة عناصر، ونتائج الأدوات تعود بوصفها function_call_output، وprevious_response_id يعيد استخدام جلسة ضمن نطاق الوكيل والمستخدم والجلسة نفسه، والملفات تفك وتضاف إلى موجّه النظام كمحتوى غير موثوق، مع تحويل ملفات PDF إلى صور نقطية حين يشح النص، والبث يصدر أحداث استجابة محددة الأنواع تنتهي بالقيمة DONE.

الأدلةمدة القراءة: ⁨8⁩ د

مصادقة الخادم الوسيط الموثوق في OpenClaw

في وضع trusted-proxy لا يثق gateway بترويسة هوية المستخدم إلا إذا جاءت من عناوين مصدر مدرجة بوصفها خوادم وسيطة موثوقة، ويرفض مصادر loopback ما لم يكن خيار التمكين الصريح مفعّلًا عن قصد، ويرفض المصادر التي تطابق واجهاته الخاصة، ويشترط وجود الترويسات المهيأة ومطابقة قائمة السماح، ويرفض البدء إذا كان هناك رمز مشترك مهيأ أيضًا، ويصنّف تدقيق الأمان هذا الوضع حرجًا عن قصد؛ وتمنح نطاقات الهوية المستخدمين الموثقين نطاقات تقتصر على الجلسة، ويمكن للموافقة التلقائية على الأجهزة أن تجعل هوية الخادم الوسيط حد التسجيل، أما ترويسة النطاقات فلا تفعل سوى التضييق.

الأدلةمدة القراءة: ⁨8⁩ د

موافقات exec المتقدمة في OpenClaw

تعمل safe bins مثل cut وhead وtail وtr وuniq وwc في الوضع allowlist دون إدخالات لأنها ترفض وسائط الملفات والمقاطع الشبيهة بالمسارات؛ أما grep وsort فاختياريان، وawk وsed وjq ليست من safe bins أبدًا، ولا مكان للمفسرات بينها، ويجب أن يؤدي تحليل مسار safe bins إلى مجلدات النظام الافتراضية ما لم توثق مجلدات أخرى، والتسلسل مسموح عندما يجتاز كل مقطع الفحص، وعمليات تشغيل المفسرات تربط سلسلة الاستدعاء بكاملها قبل المراجعة، والبت في الموافقة يتطلب النطاق المخصص approvals لا write، ويمكن تحويل طلبات الموافقة إلى Slack وTelegram وDiscord وغيرها.

الأدلةمدة القراءة: ⁨6⁩ د

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

يبدأ دليل التشغيل المعمّق لـ gateway بالأوامر الخمسة نفسها بالترتيب، ويتوقع محرك تشغيل في حالة running، وفحص اتصال بنتيجة ok، وسطر القدرات، ثم يوجّهك حسب الأعراض إلى ست صفحات: التحديثات والتراجع، والمهارات ومزوّدو النماذج، وردود الوكيل وواجهة التحكم، وخدمة gateway وعمليتها، والتحقق من الإعدادات والفحوص، وتسليم القنوات والأدوات؛ ومعظم الأعطال بعد الترقية سببها انحراف الإعدادات أو قيم افتراضية أكثر صرامة، ويُتحقق منها عبر وضع gateway والرابط البعيد، وعناوين الربط غير loopback التي تحتاج الآن إلى مسار مصادقة حقيقي، وموافقات الإقران المعلّقة للأجهزة أو للرسائل المباشرة.

الأدلةمدة القراءة: ⁨7⁩ د

واجهة HTTP المتوافقة مع OpenAI في OpenClaw

يستطيع gateway تقديم chat completions وmodels وembeddings على منفذه الخاص بمجرد تفعيل gateway.http.endpoints.chatCompletions؛ والرمز الصالح يمنح وصولًا بمستوى المالك، لذا يُبقيه التوثيق على loopback أو tailnet أو مدخل خاص؛ ويسمّي الحقل model وكيلًا مثل openclaw/default لا نموذج مزوّد، وتشتق سلسلة user مفتاح جلسة ثابتًا، ويتجاوز x-openclaw-model نموذج الواجهة الخلفية، وتتبع أدوات الدوال وtool_choice والبث المتدفق عبر SSE أشكال OpenAI مع حدود موثّقة.

الأدلةمدة القراءة: ⁨8⁩ د

نطاقات المشغّل في OpenClaw

تتحكم النطاقات في ما يستطيع عميل gateway فعله بعد المصادقة، بوصفها حاجز حماية داخل مجال مشغّل واحد موثوق لا عزلًا بين مستأجرين متعددين قد يكون بعضهم معاديًا؛ يتضمن operator.write كلًا من read وtalk، ويتضمن operator.admin كل شيء، وتضع الأدوار المسماة سقفًا للنطاقات ويمكنها فرض البيئة المعزولة لكل منشئ، وتربط منح الهوية النطاقات بهوية موثقة عبر خادم وسيط أو Tailscale، ولكل RPC نطاق طريقة بأقل الامتيازات، والموافقة على طلب جهاز لا يمكنها إلا إصدار نطاقات يملكها الموافق مسبقًا.

الأدلةمدة القراءة: ⁨5⁩ د

التحكم في الوصول إلى OpenClaw عبر Matrix

من يمكنه الوصول إلى OpenClaw عبر Matrix، وما الذي يحتفظ به حول الرسالة: تجاهل الرسائل الواردة من حسابات OpenClaw الأخرى المهيأة في Matrix افتراضيًا، والإعداد allow-bots بالقيمة true أو mentions مع تجاوزات لكل غرفة، والحماية المشتركة من الحلقات وأولويتها، وقاعدة المعرّف الذاتي، وتعريف «رسالة كتبها بوت» على منصة لا تملك علامة للبوتات، وأوضاع ظهور السياق الثلاثة التي ترشّح الردود المجلوبة وجذور سلاسل المحادثات والسجل المعلّق من دون أن تقرر ما يطلق الرد، ومثال سياسات الرسائل المباشرة والغرف مع قوائم السماح وغرفة تشترط الإشارة، وتعطيل الرسائل المباشرة كليًا، وأوامر الإقران والرمز المعلّق المعاد استخدامه مع تذكير بعد فترة تهدئة، وأوامر الشرطة المائلة التي يتعرف عليها OpenClaw في الغرف حين تسبقها إشارة إلى البوت نفسه، مع بقائها خاضعة للتفويض نفسه.

الأدلةمدة القراءة: ⁨6⁩ د

قواعد Matrix push في OpenClaw للمعاينات الهادئة

الإعداد على جانب الخادم المنزلي (homeserver) الذي يجعل البث الهادئ في Matrix يُصدر التنبيه في اللحظة المناسبة: معاينات تُرسل كرسائل notice لا تُصدر إشعارًا، مع تعديل نهائي يحمل علامة، وعملاء لا يُصدرون إشعارًا إلا عندما تطابقه قاعدة push خاصة بالمستخدم، ووضع progress الذي ينهي مسوداته عبر المسار نفسه، والمتطلبات المسبقة: مستخدم مستلم، ومستخدم بوت، ورمز المستلم، والمعرّف الكامل للبوت كمرسل، وpushers سليمة، والخطوات الست من تفعيل الوضع الهادئ إلى إصدار رمز أو إعادة استخدامه، وسرد pushers، وتثبيت قاعدة override بشروطها الأربعة وإجراءات الإشعار، والتحقق منها واختبار رد متدفق، والحذف، ومعرّفات القواعد الفريدة لكل بوت ولكل مستلم مع تحديث القاعدة في مكانها عند إعادة التنفيذ، وقواعد override للمستخدم التي تُدرج قبل قواعد suppress في الخادم، والتعديلات النصية فقط التي تؤثر فيها القاعدة بينما تُصدر الوسائط وبدائل المعاينات القديمة والردود النهائية التي تفعّل الإشارات إشعارات عادية، وحاجة Synapse إلى الشرط event-property-is الذي أُضيف في 2023 مع إصدارات أقدم لا تطابق أبدًا دون أي تنبيه، وخيار Tuwunel لكبت الإشعارات عند وجود جهاز نشط.

الأدلةمدة القراءة: ⁨6⁩ د

إعدادات Microsoft Teams في OpenClaw

إعدادات Teams ضمن كتلة القناة: مفاتيح المصادقة الثمانية التي يمكن لمتغيرات البيئة أن تحل محلها بينما يبقى كل ما عداها في الإعدادات فقط، وحد السجل مع قيم الرجوع الخاصة به، وسياق سلاسل المحادثات عبر Graph الذي يضيف الرسالة الأصلية وما يصل إلى خمسين ردًا مع منع الأوامر المقتبسة من التنفيذ، وأوضاع الظهور all وallowlist وallowlist-quote، وحدود سجل الرسائل المباشرة لكل مستخدم، ومفاتيح السحابة وعنوان URL للخدمة للسحابة العامة وسحابة حكومة الولايات المتحدة وDoD والصين، ومنفذ webhook ومساره، وسياسات الرسائل المباشرة الأربع مع التوصية بمعرّفات كائنات AAD، والوجهة الافتراضية، ومفتاح الطوارئ لمطابقة الأسماء، وسقف 4000 حرف لكل جزء، والتقسيم عند الأسطر الجديدة، وقوائم السماح لمضيفي الوسائط والرجوع إلى Graph للوسائط، واشتراط الإشارة ونمط الرد مع تجاوزات لكل فريق ولكل قناة تشمل سياسات الأدوات، وموقع SharePoint لعمليات الرفع في المجموعات، وبطاقات الترحيب الفردية والجماعية مع مقترحات البدء، وبادئة الرد، والتقييم بالإعجاب وعدم الإعجاب مع المراجعة، وSSO مع نطاقات Graph المفوضة.

الأدلةمدة القراءة: ⁨5⁩ د

إعداد Telegram في OpenClaw

ربط بوت Telegram مع OpenClaw من الصفر: مسارا الدردشة والويب في BotFather اللذان ينتهي كلاهما برمز مميز، والأمر channels add الذي يكتبه في ملف الإعداد، والبديل اليدوي مع سياسة pairing للرسائل المباشرة وإدخال مجموعة بحرف البدل، والرجوع إلى متغير البيئة الذي لا يخدم إلا الحساب الافتراضي، ولماذا لا يوجد أمر تسجيل دخول في حالة Telegram، وفحص الحالة مع إعادة التحميل الفورية، وأمرا pairing list وapprove مع رموز تنتهي صلاحيتها بعد ساعة، والمعرفان اللذان تحتاجهما المجموعة وأين يوضع كل منهما، وأولوية الرموز المميزة المراعية للحساب وذاكرة الهوية المؤقتة لمدة 24 ساعة، ووضع الخصوصية وصفة المشرف من جهة Telegram مع قاعدة الإزالة ثم الإضافة من جديد، ومفاتيح BotFather المفيدة، واختيار وسيلة النقل بين الاستطلاع الطويل بموضع استئنافه الدائم ووضع webhook بسره وقيم المستمع الافتراضية ومسار health المحجوز وترويسة القبول الدائم.

الأدلةمدة القراءة: ⁨7⁩ د

الرسوم البيانية والجداول والموافقات في Slack مع OpenClaw

واجهات Block Kit التي يعرضها OpenClaw أصليًا في Slack: كتلة الرسم البياني المحمولة التي تحول إلى كتلة العرض المرئي للبيانات في Slack دون أي نطاق إضافي، والحدود المفروضة على العناوين والشرائح وسلاسل البيانات والفئات، والتمثيل النصي الذي يحمله كل رسم بياني، والاستعادة عندما يرفض Slack الكتل، والحد غير الموثق برسمين بيانيين لكل رسالة وكيف تنتقل الرسوم الإضافية إلى رسائل لاحقة، وكتلة الجدول المحمولة التي تحول إلى جدول البيانات الحالي بخلايا نص خام وخلايا أرقام خام وترويسات صفوف، وغلاف 20 عمودًا و100 صف و10,000 حرف، والبديل النصي الكامل وخطأ الحجم الصريح عند التعديل، ولماذا تبقى جداول Markdown ذات الخطوط العمودية نصًا بينما تواصل الكتل الخام المرور، والجداول الملصقة الواردة بصيغة TSV، ونمطا التوجيه لإرسالات النوافذ المنبثقة التي تملكها المكونات الإضافية والحدث المختصر المنقح الذي يراه الوكيل، وSlack بوصفه عميل موافقة أصليًا لطلبات التنفيذ والمكونات الإضافية مع الموافقين والأهداف والمرشحات والاحتفاظ بمساحة العمل في Enterprise Grid.

الأدلةمدة القراءة: ⁨6⁩ د

سلاسل محادثات Slack والجلسات في OpenClaw

أين تستقر رسالة Slack في OpenClaw وإلى أين يذهب الرد: الرسائل المباشرة بوصفها direct، والقنوات بوصفها channel، والرسائل المباشرة الجماعية بوصفها group، وروابط التوجيه التي تقبل صيغ الوجهات في Slack، ونطاق الرسائل المباشرة main الذي يدمج الرسائل المباشرة العادية، والجلسات لكل قناة ولاحقة سلسلة المحادثة المأخوذة من الطابع الزمني للرسالة الأصلية، والرسالة الجذرية المهيأة مسبقًا التي تبقي الإشارة وسلسلة محادثتها في جلسة واحدة، ونطاق السجل، ووراثة الجلسة الأم، وجلب السجل الأولي، وعلامتا الإشارة الضمنية ومفتاح الإشارة الصريحة الذي جرى ترحيله، وأوضاع الرد لكل قناة ولكل نوع دردشة ومع الرجوع القديم للرسائل المباشرة، ووسوم الرد اليدوية، وبث الرد للنصوص وBlock Kit، وخيار الخروج إلى المستوى الأعلى، ولماذا يعطّل off على Slack الوسوم الصريحة أيضًا بخلاف Telegram، والرسائل المباشرة في Agent View حيث تكون كل رسالة جذرية من المحرر محادثة مستقلة، وتستنتج العلامة من ثلاثة مؤشرات وتحفظ لكل حساب ومساحة عمل وتطبيق.

الأدلةمدة القراءة: ⁨6⁩ د

الرسائل الغنية والموافقات في Telegram مع OpenClaw

الواجهات الغنية التي يستطيع بوت Telegram في OpenClaw استخدامها: HTML القياسي في Telegram افتراضيًا مع الخط العريض والمائل والروابط والشيفرة والنصوص المخفية (spoilers) والاقتباسات، وعلامة الرسائل الغنية التي تعرض Markdown ككتل Bot API 10.3 محددة الأنواع مثل العناوين والجداول والتفاصيل وقوائم التحقق والمعادلات، مع بقاء التعليقات بصيغة HTML ورجوع الجداول التي تتجاوز 20 عمودًا إلى الشيفرة، ولماذا تبقى معطلة حفاظًا على التوافق مع العملاء، ومعاينات الروابط، ونطاقات الأزرار المضمنة الخمسة مع allowlist افتراضيًا، وكتلة الأزرار مع إجراءات callback وweb-app واقتصار Mini Apps على الدردشات الخاصة، وكيف تصل ردود الاستدعاء غير المطالب بها إلى الوكيل نصًا، والإقرار في ظل الاستقبال الدائم (durable ingress)، وإجراءات الرسائل الستة مع أسمائها البديلة وحواجز تفعيلها المعطلة افتراضيًا، وفحص emoji-list، وموافقات التنفيذ مع الموافقين والأهداف وانتهاء الصلاحية واشتراط الأزرار المضمنة.

الأدلةمدة القراءة: ⁨7⁩ د

تشفير Matrix والتحقق منه في OpenClaw

كيف يحصل حساب Matrix في OpenClaw على التشفير من طرف إلى طرف ويبقى موثوقًا: أمر الإعداد الذي يهيئ تخزين الأسرار والتوقيع المتبادل ونسخة احتياطية لمفاتيح الغرف، ولماذا تمر مفاتيح الاسترداد عبر stdin، وإشارات الثقة الثلاث المستقلة والقاعدة التي تقضي بألا يعدّ متحققًا منه من قبل المالك إلا التحقق عبر التوقيع المتبادل، والتحقق من الجهاز والتحقق الذاتي، وأمر التهيئة الأولية أو الإصلاح وبدائله في UIA، وحالة النسخة الاحتياطية واستعادتها وإعادة تعيينها، وأوامر التحقق عبر SAS، وملاحظات تعدد الحسابات، والتحقق الذاتي عند بدء التشغيل مع فترة التهدئة الخاصة به، وإشعارات التحقق، وما يجب فعله عند حذف الجهاز.

المقالات المعروضة: ⁨24⁩ من ⁨50⁩

بقية المدونة باللغة الإنجليزية. اقرأها بالإنجليزية

ابدأ الآن

كفاك قراءة، ابنِ وكيلك الخاص

جهز وكيلًا، واختر قناة، واجعله يعمل داخل التطبيق المفتوح لديك دائمًا.