# التعليمات والاعتمادات والضبط

عيّن تفضيلات الكتابة، واختر متى يستأذنك المساعد، واضبط قواعد مشروع قابلة لإعادة الاستخدام.

امنح المساعد تفضيلات كتابة واضحة واختر كيفية تعامله مع التغييرات. تصف التعليمات العمل الذي تريده؛ وتحدد عناصر التحكم في الاعتماد إجراءات الأدوات التي يمكن أن تمضي قدمًا.

![Settings → AI Assistant → Instructions. عيّن النموذج الافتراضي، واكتب تعليماتك، ثم استخدم Save instructions. يظهر التقاط صفحات PDF أسفل حقل النص.](https://cdn.oleafly.com/images/screenshots/desktop/docs/settings-instructions-dark-window-v2.png#view=519,89,883,724)

## نموذج المحادثة الافتراضي

افتح **Settings → AI Assistant → Instructions**. اختر **Default chat model** لتعيين النموذج المستخدم في المحادثات الجديدة. تحتوي القائمة على النماذج الممكّنة من المزودين الذين ضبطتهم. ولا يزال بإمكانك تغيير النموذج في محادثة بعينها.

## التعليمات المخصصة

أدخل تفضيلاتك ضمن **Custom instructions**، ثم انقر **Save instructions**. نقطة بداية مفيدة لمخطوطة بحثية هي:

```text title="مثال على تعليمات الكتابة"
Use British English and preserve the terminology already used in the paper.
Keep citation keys, labels, equations, and numerical results unchanged unless
I explicitly ask you to edit them.
When a statement needs evidence, mark it for a source check. Do not invent
references or results.
Explain substantive changes briefly so I can review them.
```

اجعل هذه التعليمات محددة بما يكفي لتوجيه مراجعة دون تكرار موجز مشروعك بأكمله. إنها تضيف إلى السلوك المدمج للمساعد ولا تغيّر أذونات أدواته.

## حفظ التعليمات

انقر **Save instructions** بعد التحرير. يؤكد مؤشر **Saved** استمرار الحفظ. التعديل غير المحفوظ في هذا الحقل ليس هو الإعداد الافتراضي الجديد لديك.

## السماح بالتقاط صفحات PDF للذكاء الاصطناعي

مكّن **Allow PDF page capture for AI** ليتيح للمساعد فحص الصفحات المعروضة بنموذج يدعم الرؤية. تحوّل أداة `verify_pdf_pages` الصفحات المجمّعة إلى صور نقطية لفحوص التخطيط. عطّل عنصر التحكم هذا عندما لا تريد إرسال صور الصفحات إلى المزود المضبوط.

## فحص كتالوج الأدوات

وسّع **The assistant currently supports these tools** في علامة تبويب Instructions. استخدمه لرؤية العمل الذي يستطيع المساعد أداءه، ثم اطلب نتيجة مثل تجميع قسم أو فحص PDF أو العثور على مرجع غير محلول.

## الشخصيات

![Settings → AI Assistant → Personas. يقع Create persona أعلى القائمة؛ وتوجد عناصر التحكم بالتحرير والحذف بجوار كل شخصية.](https://cdn.oleafly.com/images/screenshots/desktop/docs/settings-personas-dark-window-v2.png#view=519,89,883,902)

الشخصية هي مجموعة تعليمات مسماة مسبقة الضبط. أنشئ واحدة ضمن **Settings → AI Assistant → Personas**، ثم اخترها في مربع كتابة المحادثة لنوع معين من العمل. مثلًا، احتفظ بشخصية تدقيق لغوي موجزة وشخصية مراجِع منفصلة.

توفر الشخصية النشطة مجموعة تعليمات المحادثة بدلًا من نص التعليمات المخصصة الافتراضي. أدرج أي تفضيلات دائمة تحتاجها الشخصية أيضًا. تغيّر الشخصية التوجيهات؛ ولا تمنح أذونات أدوات.

## اختيار وضع الاعتماد

![افتح قائمة الاعتماد أسفل حقل الرسالة. يظهر الوضع المحدد بعلامة اختيار؛ اختر السياسة التي تريدها لمشروعك.](https://cdn.oleafly.com/images/screenshots/desktop/docs/llama-approval-menu-dark-window-v2.png#view=1448,770,465,305)

استخدم محدّد الاعتماد في مربع كتابة المحادثة. يُحفظ الاختيار للمشروع الحالي.

| الوضع | السلوك |
|---|---|
| **Ask for approval** | تستطيع الأدوات المصنفة للقراءة العمل؛ والإجراءات الأخرى تستأذن أولًا |
| **Approve for me** | تستطيع أدوات القراءة والشبكة العمل؛ وتغييرات الملفات وأوامر الصدفة تستأذن أولًا |
| **Full access** | تمضي إجراءات الأدوات قدمًا دون مطالبة اعتماد، باستثناء الأدوات التي تحجبها قاعدة `deny` |
| **Custom** | تُطبق قاعدتا `allow` و`deny` المحفوظتان، وتستخدم الأدوات التي بلا قاعدة سياسة المخاطر القياسية |

**Approve for me** هو الوضع الافتراضي. لبعض الأدوات فحوصها الخاصة داخل العملية الواحدة. يُتعامل مع تجميع PDF وفحصه على نحو مختلف عن كتابة ملف مصدري أو تنفيذ أمر صدفة.

## اعتماد إجراء مقترح

اقرأ اسم الأداة والعملية المقترحة على بطاقة الاعتماد. اعتمده لتشغيل ذلك الإجراء، أو ارفضه لترك التغيير المقترح دون تطبيق. واصل المحادثة بتعليمات أضيق إذا كان الإجراء المطلوب أوسع من اللازم.

## دائمًا في هذا المشروع

في وضع **Custom**، استخدم **Always in this project** في مطالبة اعتماد لحفظ قاعدة لتلك الأداة. تحقق من الوضع المحدد عندما تتوقع أن تؤثر قاعدة في التشغيل التالي.

## مراجعة قاعدة أو إزالتها

مع فتح المشروع، انتقل إلى **Settings → AI Assistant → Providers and keys** ومرر إلى **Tool approvals**. يعرض كل صف اسم الأداة وما إذا كانت مسموحًا بها دائمًا أو محجوبة. أزل قاعدة لإعادة تلك الأداة إلى سياسة المخاطر القياسية في وضع Custom.

## تحرير approvals.toml

**Approval rules file**، أسفل **Tool approvals**، يحرر `~/.oleafly/approvals.toml`. استخدم **Reload** لقراءة الملف الحالي، أو **Discard changes** لإلغاء التعديلات غير المحفوظة، أو **Insert an example** للبدء من تهيئة نموذجية. يشرح **How the file works** التنسيق ويعرض معرف المشروع المفتوح. يتحقق الحفظ من صلاحية TOML قبل تطبيقه، وتُطبق القواعد بدءًا من استدعاء الأداة التالي.

يحتوي الملف على جدول أوضاع وجداول قواعد أدوات مفهرسة بـ **project folder ID**، لا بعنوان العرض:

```toml title="~/.oleafly/approvals.toml"
["$approval_modes"]
"my-project-folder-id" = "custom"

["my-project-folder-id"]
write_file = "allow"
replace_in_file = "allow"
run_command = "deny"
delete_file = "deny"
```

استبدل `my-project-folder-id` بمعرف المجلد الحقيقي لمشروعك. معرفات المشروع هي أسماء المجلدات الواقعة تحت `~/.oleafly/projects`. قيم الأوضاع هي `ask-for-approval` و`approve-for-me` و`full-access` و`custom`. المشروع غير المدرج يستخدم Approve for me. قيم قواعد الأدوات هي `allow` و`deny`. تنطبق قاعدة `deny` في كل وضع، Full access مشمولًا، لذا لا تعمل الأداة المحجوبة أبدًا. تنطبق قاعدة `allow` في وضع Custom فقط. الأداة التي بلا قاعدة تستخدم سياسة المخاطر العادية.

تبقى التعليقات التي تبدأ بـ `#` قائمة بعد الحفظ من Settings، لكن اختيار **Always in this project** على بطاقة اعتماد يعيد كتابة الملف من دونها.

استخدم أسماء الأدوات الدقيقة الواردة في الكتالوج. من الأسماء الشائعة `write_file` و`replace_in_file` و`create_file` و`rename_file` و`delete_file` و`run_command` و`compile` و`insert_figure` و`set_main_doc`.

## أي ملف تهيئة يجب أن أستخدم؟

| الملف | الغرض |
|---|---|
| `~/.oleafly/config.json` | تهيئة التطبيق، تُدار عبر Settings |
| `~/.oleafly/approvals.toml` | أوضاع اعتماد المشروع والقواعد الخاصة بكل أداة |
| `~/.oleafly/agent.toml` | حدود متقدمة للوكلاء المتعددين وتعليماتهم |
| تهيئة وكيلك الخارجي، مثل `~/.codex/config.toml` | إعدادات ذلك الوكيل نفسه واتصالات MCP |

لا يستخدم Oleafly ملف `config.toml` واحدًا لكل هذه الإعدادات. استخدم واجهة Settings لمفاتيح المزودين وتفضيلات التطبيق؛ ولبيانات الاعتماد تخزين مشفر منفصل. لا تستبدل تهيئة التطبيق بأكملها بمثال قصير.

## ضبط agent.toml

يمكن للمستخدمين المتقدمين إنشاء `~/.oleafly/agent.toml` لضبط إعدادات الوكلاء المتعددين للمساعد. تحكم هذه الإعدادات وقت تشغيل الوكلاء الخاص بـ Oleafly نفسه، بمعزل عن تهيئة أي وكيل CLI متصل.

```toml title="~/.oleafly/agent.toml"
maxAgentDepth = 2
maxConcurrentSubagents = 8
minWaitTimeoutMs = 1000
maxWaitTimeoutMs = 300000
defaultWaitTimeoutMs = 120000
waitAgentEnabled = true

usageHintText = """
Delegate independent checks with clear scopes. Keep writing decisions with
the parent agent, and close completed agents when their work is collected.
"""

subagentDeveloperInstructions = """
Work only on the assigned task. Report the files and evidence you inspected.
Do not spawn additional agents.
"""
```

### maxAgentDepth

يحدّ من عمق التداخل. القيمة الافتراضية هي `2`: لا يفوّض أبناء التشغيل العمل إلى ما هو أبعد من ذلك. الحد الأدنى المقبول هو `1`.

### maxConcurrentSubagents

يحدّ من عدد الوكلاء الفرعيين المتزامنين في الجلسة. القيمة الافتراضية هي `8`، والحد الأدنى هو `1`. يمكن لمزيد من الوكلاء زيادة استخدام النموذج؛ ارفع الحد للأعمال التي يمكنها فعلًا المضي قدمًا باستقلال.

### minWaitTimeoutMs

يضبط الحد الأدنى لانتظار الوكيل، بالمللي ثانية. القيمة الافتراضية هي `1000`.

### maxWaitTimeoutMs

يضبط الحد الأعلى لانتظار الوكيل. القيمة الافتراضية هي `300000`، أي خمس دقائق. ويُبقى عليه مساويًا للحد الأدنى أو أعلى منه.

### defaultWaitTimeoutMs

يضبط مدة الانتظار الافتراضية. القيمة الافتراضية هي `120000`، أي دقيقتان. تكون القيم مقيدة بالحدّين الأدنى والأعلى المضبوطين.

### waitAgentEnabled

يتحكم في مدى توفر قدرة وكيل الانتظار. القيمة الافتراضية هي `true`.

### usageHintText

يزود الوكيل الأب بتوجيهات التفويض. يستبدل المثال أعلاه التوجيهات الافتراضية بنصك أنت.

### subagentDeveloperInstructions

يزود الوكلاء الأبناء بالتعليمات. استخدمه لبيان النطاق وتوقعات التقارير وما إذا كان التفويض الإضافي ملائمًا.

يقبل وقت التشغيل أيضًا صيغ snake_case من هذه المفاتيح، مثل `max_agent_depth`. الحقول المحذوفة تستخدم القيم الافتراضية. الملف المفقود أو المعطوب الصياغة يعود إلى القيم الافتراضية، لذا تحقق من الصياغة بعناية وابدأ تشغيلًا جديدًا بعد تغيير التهيئة.

## اختبار قاعدة بمهمة صغيرة

1. افتح مشروعًا تدريبيًا واختر **Ask for approval**.
2. اطلب: «اقرأ المستند الرئيسي واقترح عنوانًا أوضح. استأذن قبل تغيير الملف».
3. افحص التغيير المقترح واعتمده أو ارفضه.
4. راجع القواعد المحفوظة في Settings قبل التحويل إلى وضع Custom.
5. استخدم [وضع Plan](/docs/ai-chat/#plan-before-editing) عندما تريد الاتفاق على عدة خطوات قبل بدء التحرير.

تستخدم المساعدات الخارجية المتصلة عبر Oleafly MCP [سياسة خادم MCP](/docs/mcp/#approvals-and-safety)، وهي مضبوطة على نحو منفصل.
