بوت واحد، مهام متعددة: دليل الإعداد الكامل لـ Workspace × Telegram

4 min read

هل طلبت من مساعدك "رتّب يوميتي اليوم" ثم شاهدته يلمس ملفات من مشروع عملك بدلاً من ذلك؟

هذا ما يحدث عندما لا تُعدَّ مساحات العمل بشكل صحيح. يُصلح هذا الدليل ذلك مرة واحدة وإلى الأبد.

ما الذي ستتعلمه

  • فهم التدفق الكامل: مجموعة → مساعد → مساحة عمل
  • تهيئة مساحات عمل متعددة
  • ضبط Agents + Bindings بالكامل
  • التحقق من أن الإعداد يعمل فعلاً

الفكرة العامة

الهيكل المستهدف بسيط:

مجموعة Telegram أ  →  المساعد أ  →  مساحة العمل أ (المس فقط هذه الملفات)
مجموعة Telegram ب  →  المساعد ب  →  مساحة العمل ب (المس فقط هذه الملفات)
الرسائل المباشرة   →  المساعد الرئيسي → مساحة العمل الرئيسية

لتحقيق ذلك، تحتاج ثلاث خطوات: إنشاء مساحات العمل → تعريف الوكلاء → تعريف Bindings.


الخطوة 1: إنشاء مساحات العمل

كل مساعد يحتاج مجلده الخاص. هيّئها بـ:

openclaw setup --workspace "~/.openclaw/workspace-main"
openclaw setup --workspace "~/.openclaw/workspace-project-a"
openclaw setup --workspace "~/.openclaw/workspace-project-b"

كل مساحة عمل تحصل على الملفات الضرورية تلقائياً، مثل AGENTS.md و SOUL.md و IDENTITY.md.

💡 إذا لم يكن المجلد موجوداً بعد، ينشئه الأمر لك. إذا استنسخت مساحة عمل موجودة من Git، يمكنك تخطي التهيئة والإشارة مباشرةً إلى المسار في Config.


الخطوة 2: ضبط Agents و Bindings

افتح Control UI → Config → Raw JSON وأضف البنية التالية.

السيناريو أ: نفس البوت، مجموعات مختلفة، مساحات عمل مختلفة

{
  "agents": {
    "list": [
      { "id": "main",      "name": "رئيسي",    "workspace": "~/.openclaw/workspace-main",      "default": true },
      { "id": "project-a", "name": "المشروع أ", "workspace": "~/.openclaw/workspace-project-a" },
      { "id": "project-b", "name": "المشروع ب", "workspace": "~/.openclaw/workspace-project-b" }
    ]
  },
  "bindings": [
    { "agentId": "project-a", "match": { "channel": "telegram", "peer": { "kind": "group", "id": "-1001234567890" } } },
    { "agentId": "project-b", "match": { "channel": "telegram", "peer": { "kind": "group", "id": "-1009876543210" } } },
    { "agentId": "main",      "match": { "channel": "telegram" } }
  ],
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "رمز البوت الخاص بك",
      "dmPolicy": "pairing",
      "groups": { "*": { "requireMention": true } }
    }
  }
}

كيف تجد معرّف المجموعة؟

  1. أرسل أي رسالة في المجموعة
  2. شغّل openclaw logs --follow وابحث عن chat.id
  3. أو أعد توجيه الرسالة إلى @userinfobot

السيناريو ب: حسابات بوت مختلفة، مساحات عمل مختلفة

إذا كان لديك رموز بوت متعددة، يمكن لكل بوت الارتباط بمساعده ومساحة عمله الخاصة:

{
  "agents": {
    "list": [
      { "id": "main",   "name": "البوت الرئيسي",  "workspace": "~/.openclaw/workspace-main",   "default": true },
      { "id": "alerts", "name": "بوت التنبيهات", "workspace": "~/.openclaw/workspace-alerts" }
    ]
  },
  "bindings": [
    { "agentId": "main",   "match": { "channel": "telegram", "accountId": "default" } },
    { "agentId": "alerts", "match": { "channel": "telegram", "accountId": "alerts" } }
  ],
  "channels": {
    "telegram": {
      "enabled": true,
      "accounts": {
        "default": { "botToken": "123456:ABC...", "dmPolicy": "pairing" },
        "alerts":  { "botToken": "987654:XYZ...", "dmPolicy": "allowlist", "allowFrom": ["tg:معرف_تيليغرام_خاصتك"] }
      }
    }
  }
}

⚠️ عند استخدام حسابات متعددة، لا تبقِ botToken على المستوى الأعلى. ضع كل شيء داخل accounts.


الخطوة 3: الحفظ والتحقق

من واجهة الويب: انقر Save / Apply في صفحة Config.

إذا عدّلت الملف مباشرةً: احفظ ~/.openclaw/openclaw.json. يعيد Gateway عادةً التحميل تلقائياً، لكن إذا لم تكن متأكداً، أعد تشغيله:

openclaw gateway

كيف تتحقق

  • أرسل رسالة في كل مجموعة Telegram وتأكد من أن المساعد الصحيح يرد
  • شغّل openclaw doctor لفحص صحة سريع

نقاط مهمة لتتذكرها

الهدف الطريقة
إنشاء مساحة عمل جديدة openclaw setup --workspace "المسار"
مجموعة مختلفة → مساحة عمل مختلفة طابق peer: { kind: "group", id: "معرف_المجموعة" } في bindings
بوت مختلف → مساحة عمل مختلفة استخدم channels.telegram.accounts مع accountId في bindings
Bindings تبدو متجاهلة ضع القواعد المحددة أولاً؛ المطابقة هي أول-تطابق-يفوز

قراءة ذات صلة