الأوضاع المخصصة
خصّص سلوك Bob ببناء أوضاع مخصصة بأدوار متخصصة وقيود على الأدوات وسير عمل الفريق. قم بالإعداد عالميًا أو لكل مشروع باستخدام صيغة YAML.
لماذا تستخدم الأوضاع المخصصة
- التخصص: تحسين الأوضاع لمهام محددة مثل كتابة التوثيق أو هندسة الاختبار أو مراجعات الأمان
- الأمان: تقييد الأوامر أو الوصول للملفات في العمليات الحساسة
- تعاون الفريق: مشاركة سير العمل الموحّدة مع فريقك
- التجريب: اختبار إعدادات مختلفة دون التأثير على الأوضاع الأخرى
مكوّنات الوضع
| المكوّن | الوصف |
|---|---|
| Slug | معرّف فريد يُستخدم داخليًا وفي ملفات التعليمات الخاصة بالوضع |
| Name | الاسم المعروض في واجهة Bob |
| Role definition | الهوية الجوهرية والخبرة التي تحدد شخصية Bob وسلوكه |
| When to use | (اختياري) إرشادات لمتى يُستخدم هذا الوضع، تستخدمه Orchestrator لتنسيق المهام |
| Available tools | مجموعات الأدوات وصلاحيات الوصول للملفات التي يمكن للوضع استخدامها |
| Custom instructions | (اختياري) إرشادات سلوكية إضافية أو قواعد |
| Description | (اختياري) ملخص قصير يظهر في قائمة اختيار الوضع |
| Allowed subagents | (اختياري) يحدد أي إعدادات subagent مسبقة يمكن للوضع استخدامها |
كيفية إنشاء الأوضاع المخصصة
يمكنك إنشاء أوضاع مخصصة باستخدام قائمة الإعدادات أو بتحرير ملفات الإعداد يدويًا.
استخدام قائمة الإعدادات
- انقر أيقونة في لوحة Bob لفتح الإعدادات.
- اختر تبويب Modes.
- انقر زر لإنشاء وضع جديد.
- املأ الحقول: Name وSlug وSave Location وRole Definition وWhen to Use (اختياري) وDescription (اختياري) وAvailable Tools وCustom Instructions.
- انقر Save.
يحفظ Bob الوضع الجديد بصيغة YAML. يمكنك إضافة قيود نوع الملف لمجموعة أداة edit عبر إعداد YAML يدوي.
تحرير ملفات الإعداد يدويًا
يمكنك تحرير ملفات إعداد الوضع بصيغة YAML يدويًا:
- الأوضاع العالمية: حرّر
~/.bob/settings/custom_modes.yamlعبر Settings → Modes → Edit Global Modes - أوضاع المشروع: حرّر
.bob/custom_modes.yamlفي مشروعك. انقر Settings → Modes → Edit Project Modes
تحدّد هذه الملفات مصفوفة من الأوضاع المخصصة بصيغة YAML.
مثال (~/.bob/settings/custom_modes.yaml أو .bob/custom_modes.yaml):
customModes:
- slug: docs-writer
name: 📝 Documentation Writer
description: Writes and revises Markdown documentation.
roleDefinition: You are a technical writer specializing in clear documentation.
whenToUse: Use this mode for writing and editing documentation.
customInstructions: Focus on clarity and completeness in documentation.
groups:
- read
- - edit
- fileRegex: ".*\\.(md|mdx)$"
description: Markdown files only
- skillخصائص إعداد الوضع
مجموعات الأدوات المتاحة
read: قراءة الملفات والمجلداتedit: تعديل الملفات (يمكن تقييده بـfileRegex)execute: تشغيل أوامر الطرفيةmcp: الوصول إلى خوادم MCPskill: تحميل skillsworkflow: تشغيل سير عمل محددة مسبقًاtodo: تحديث قوائم مهام todosubtask: إنشاء مهام فرعيةsubagent: إطلاق subagentsmode: التبديل إلى وضع آخر
قيود الملفات لأداة التحرير
قيّد الملفات التي يمكن للوضع تحريرها باستخدام fileRegex في صيغة YAML:
groups:
- read
- - edit
- fileRegex: ".*\\.(js|ts)$"
description: JavaScript and TypeScript files onlyأنماط regex الشائعة
| النمط | المطابقات | أمثلة على الملفات |
|---|---|---|
.*\.md$ | ملفات Markdown | readme.md، docs/guide.md |
^src/.* | ملفات في مجلد src | src/app.js، src/components/button.tsx |
| `.*.(css | scss)$` | ملفات CSS وSCSS |
| `^(?!.*(test | spec)).*.(js | ts)$` |
اطلب من Bob توليد أنماط regex بدلًا من كتابتها يدويًا.
قواعد التحقق المهمة
- يجب أن يحتوي
slugعلى حروف وأرقام وشرطات فقط. - ابقِ كل
slugفريدًا. قد تمنع slugs المكررة الأوضاع من التحميل بشكل صحيح. - استخدم أسماء المجموعات المدعومة فقط. أسماء المجموعات غير المعروفة لا تمنح الوصول.
- إذا حذفت
groups، لا يحصل الوضع على أي أدوات مجمّعة. - إذا عيّنت
allowedSubagents، فقط إعدادات subagent المدرجة تكون متاحة في ذلك الوضع. - قيم
fileRegexغير الصالحة قد تمنع ملف الوضع من التحميل.
إضافة تعليمات خاصة بالوضع
يمكنك إضافة تعليمات خاصة بالوضع باستخدام هيكل مجلد (مفضّل) أو ملف واحد.
الطريقة المفضّلة (هيكل المجلد):
الطريقة البديلة (ملف واحد):
.bobrules-{mode-slug}طريقة المجلد تأخذ الأولوية إذا كلاهما موجود. تُحمَّل الملفات في المجلد أبجديًا وتُدمج مع خاصية customInstructions من إعداد الوضع.
لإضافة تعليمات خاصة بالوضع:
- أنشئ مجلد
.bob/rules-{mode-slug}/في جذر مشروعك (أو ملف.bobrules-{mode-slug}). - أضف ملفات التعليمات إلى المجلد (مثلًا،
01-style-guide.mdو02-formatting.txt).
يحمّل Bob هذه التعليمات تلقائيًا عند استخدام الوضع.
كيفية تجاوز الأوضاع الافتراضية
يمكنك تجاوز أوضاع Bob الافتراضية (مثل Agent وAsk وPlan) بإنشاء وضع مخصص بنفس slug في إعداد مشروعك.
لتجاوز وضع افتراضي:
- انقر أيقونة في لوحة Bob لفتح الإعدادات.
- اختر تبويب Modes.
- انقر Edit Project Modes لتحرير ملف
.bob/custom_modes.yaml. - أضف إعداد الوضع مع slug الوضع الافتراضي الذي تريد تجاوزه:
customModes:
- slug: ask # يطابق وضع Ask الافتراضي
name: ❓ Ask
roleDefinition: You are a knowledgeable assistant for this React and TypeScript codebase.
whenToUse: Use this mode to ask questions about the codebase.
customInstructions: Always reference relevant files when answering. Suggest Ask mode if the user tries to make changes.
groups:
- read
- mcp
- skillتأخذ التجاوزات الخاصة بالمشروع الأولوية على التجاوزات العالمية، التي تأخذ الأولوية على الافتراضيات.
صيغة YAML
YAML هي الصيغة المفضّلة والموصى بها للأوضاع المخصصة:
مزايا YAML:
- أكثر قابلية للقراءة مع هيكل قائم على المسافة البادئة
- يدعم التعليقات (
#) - صيغة أنظف للسلاسل متعددة الأسطر
- يتطلب علامات ترقيم أقل
- أسهل في التحرير والصيانة
الترحيل التلقائي:
- الأوضاع العالمية: تُرحَّل تلقائيًا من
custom_modes.jsonالقديم إلىcustom_modes.yamlعند بدء التشغيل - أوضاع المشروع: تُحوَّل إلى YAML عند التحرير عبر واجهة المستخدم
بينما لا تزال ملفات صيغة JSON القديمة مدعومة للتوافق مع الإصدارات السابقة، يجب إنشاء جميع الأوضاع الجديدة بصيغة YAML.
اعرف أكثر
جرّب بنفسك ووسّع قدرات Bob بإنشاء وضع مدير منتج مخصص.