diff options
Diffstat (limited to 'packages/web/src/content/docs/ar/modes.mdx')
| -rw-r--r-- | packages/web/src/content/docs/ar/modes.mdx | 331 |
1 files changed, 331 insertions, 0 deletions
diff --git a/packages/web/src/content/docs/ar/modes.mdx b/packages/web/src/content/docs/ar/modes.mdx new file mode 100644 index 000000000..767fcb414 --- /dev/null +++ b/packages/web/src/content/docs/ar/modes.mdx @@ -0,0 +1,331 @@ +--- +title: الأوضاع +description: أوضاع مختلفة لحالات استخدام مختلفة. +--- + +:::caution +يتم الآن ضبط الأوضاع عبر خيار `agent` في إعدادات opencode. أصبح خيار +`mode` مُهمَلًا الآن. [اعرف المزيد](/docs/agents). +::: + +تتيح لك الأوضاع في opencode تخصيص السلوك والأدوات والمطالبات لحالات استخدام مختلفة. + +يأتي مع وضعين مدمجين: **build** و **plan**. يمكنك تخصيصهما أو إعداد +أوضاعك الخاصة عبر إعدادات opencode. + +يمكنك التبديل بين الأوضاع أثناء الجلسة أو إعدادها في ملف الإعدادات لديك. + +--- + +## الأوضاع المدمجة + +يأتي opencode مع وضعين مدمجين. + +--- + +### Build + +وضع Build هو الوضع **الافتراضي** مع تفعيل جميع الأدوات. هذا هو الوضع القياسي لأعمال التطوير عندما تحتاج إلى وصول كامل لعمليات الملفات وأوامر النظام. + +--- + +### Plan + +وضع مقيَّد مُصمَّم للتخطيط والتحليل. في وضع plan، تكون الأدوات التالية مُعطَّلة افتراضيًا: + +- `write` - لا يمكن إنشاء ملفات جديدة +- `edit` - لا يمكن تعديل الملفات الموجودة، باستثناء الملفات الموجودة في `.opencode/plans/*.md` لتفصيل الخطة نفسها +- `patch` - لا يمكن تطبيق التصحيحات +- `bash` - لا يمكن تنفيذ أوامر الصدفة + +يكون هذا الوضع مفيدًا عندما تريد من الذكاء الاصطناعي تحليل الشيفرة، أو اقتراح تغييرات، أو إنشاء خطط دون إجراء أي تعديلات فعلية على قاعدة الشيفرة لديك. + +--- + +## التبديل + +يمكنك التبديل بين الأوضاع أثناء الجلسة باستخدام مفتاح _Tab_، أو اختصار `switch_mode` الذي قمت بإعداده. + +انظر أيضًا: [Formatters](/docs/formatters) لمعلومات حول إعدادات تنسيق الشيفرة. + +--- + +## الإعداد + +يمكنك تخصيص الأوضاع المدمجة أو إنشاء أوضاعك الخاصة عبر الإعدادات. يمكن إعداد الأوضاع بطريقتين: + +### إعدادات JSON + +قم بإعداد الأوضاع في ملف الإعدادات `opencode.json` لديك: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "mode": { + "build": { + "model": "anthropic/claude-sonnet-4-20250514", + "prompt": "{file:./prompts/build.txt}", + "tools": { + "write": true, + "edit": true, + "bash": true + } + }, + "plan": { + "model": "anthropic/claude-haiku-4-20250514", + "tools": { + "write": false, + "edit": false, + "bash": false + } + } + } +} +``` + +### إعدادات Markdown + +يمكنك أيضًا تعريف الأوضاع باستخدام ملفات markdown. ضعها في: + +- عالمي: `~/.config/opencode/modes/` +- للمشروع: `.opencode/modes/` + +```markdown title="~/.config/opencode/modes/review.md" +--- +model: anthropic/claude-sonnet-4-20250514 +temperature: 0.1 +tools: + write: false + edit: false + bash: false +--- + +You are in code review mode. Focus on: + +- Code quality and best practices +- Potential bugs and edge cases +- Performance implications +- Security considerations + +Provide constructive feedback without making direct changes. +``` + +يصبح اسم ملف markdown هو اسم الوضع (على سبيل المثال، `review.md` ينشئ وضعًا باسم `review`). + +لنلقِ نظرة على خيارات الإعداد هذه بمزيد من التفصيل. + +--- + +### النموذج + +استخدم إعداد `model` لتجاوز النموذج الافتراضي لهذا الوضع. يفيد ذلك عند استخدام نماذج مختلفة مُحسَّنة لمهام مختلفة؛ مثل نموذج أسرع للتخطيط ونموذج أكثر قدرة للتنفيذ. + +```json title="opencode.json" +{ + "mode": { + "plan": { + "model": "anthropic/claude-haiku-4-20250514" + } + } +} +``` + +--- + +### درجة الحرارة + +تحكَّم في العشوائية والإبداع في ردود الذكاء الاصطناعي عبر إعداد `temperature`. القيم الأقل تجعل الردود أكثر تركيزًا وحتمية، بينما تزيد القيم الأعلى الإبداع والتنوّع. + +```json title="opencode.json" +{ + "mode": { + "plan": { + "temperature": 0.1 + }, + "creative": { + "temperature": 0.8 + } + } +} +``` + +تتراوح قيم درجة الحرارة عادةً بين 0.0 و 1.0: + +- **0.0-0.2**: ردود شديدة التركيز وحتمية، مثالية لتحليل الشيفرة والتخطيط +- **0.3-0.5**: ردود متوازنة مع قدر من الإبداع، مناسبة لمهام التطوير العامة +- **0.6-1.0**: ردود أكثر إبداعًا وتنوّعًا، مفيدة للعصف الذهني والاستكشاف + +```json title="opencode.json" +{ + "mode": { + "analyze": { + "temperature": 0.1, + "prompt": "{file:./prompts/analysis.txt}" + }, + "build": { + "temperature": 0.3 + }, + "brainstorm": { + "temperature": 0.7, + "prompt": "{file:./prompts/creative.txt}" + } + } +} +``` + +إذا لم يتم تحديد درجة الحرارة، يستخدم opencode القيم الافتراضية الخاصة بكل نموذج (عادةً 0 لمعظم النماذج و 0.55 لنماذج Qwen). + +--- + +### الموجّه + +حدِّد ملف موجّه نظام (system prompt) مخصص لهذا الوضع عبر إعداد `prompt`. ينبغي أن يحتوي ملف الموجّه على تعليمات مرتبطة بهدف هذا الوضع. + +```json title="opencode.json" +{ + "mode": { + "review": { + "prompt": "{file:./prompts/code-review.txt}" + } + } +} +``` + +هذا المسار نسبي بالنسبة لموقع ملف الإعدادات. لذلك يعمل مع +إعدادات opencode العالمية وكذلك إعدادات المشروع. + +--- + +### الأدوات + +تحكَّم في الأدوات المتاحة في هذا الوضع عبر إعداد `tools`. يمكنك تفعيل أدوات محددة أو تعطيلها بضبطها على `true` أو `false`. + +```json +{ + "mode": { + "readonly": { + "tools": { + "write": false, + "edit": false, + "bash": false, + "read": true, + "grep": true, + "glob": true + } + } + } +} +``` + +إذا لم يتم تحديد أدوات، فستكون جميع الأدوات مفعّلة افتراضيًا. + +--- + +#### الأدوات المتاحة + +فيما يلي جميع الأدوات التي يمكن التحكم بها عبر إعدادات الوضع. + +| الأداة | الوصف | +| ----------- | -------------------------- | +| `bash` | تنفيذ أوامر الصدفة | +| `edit` | تعديل الملفات الموجودة | +| `write` | إنشاء ملفات جديدة | +| `read` | قراءة محتويات الملفات | +| `grep` | البحث في محتويات الملفات | +| `glob` | العثور على الملفات حسب نمط | +| `list` | سرد محتويات الدليل | +| `patch` | تطبيق تصحيحات على الملفات | +| `todowrite` | إدارة قوائم المهام | +| `todoread` | قراءة قوائم المهام | +| `webfetch` | جلب محتوى الويب | + +--- + +## أوضاع مخصصة + +يمكنك إنشاء أوضاعك المخصصة بإضافتها إلى الإعدادات. فيما يلي أمثلة باستخدام كلا الأسلوبين: + +### باستخدام إعدادات JSON + +```json title="opencode.json" {4-14} +{ + "$schema": "https://opencode.ai/config.json", + "mode": { + "docs": { + "prompt": "{file:./prompts/documentation.txt}", + "tools": { + "write": true, + "edit": true, + "bash": false, + "read": true, + "grep": true, + "glob": true + } + } + } +} +``` + +### باستخدام ملفات markdown + +أنشئ ملفات الأوضاع في `.opencode/modes/` لأوضاع خاصة بالمشروع أو في `~/.config/opencode/modes/` لأوضاع عالمية: + +```markdown title=".opencode/modes/debug.md" +--- +temperature: 0.1 +tools: + bash: true + read: true + grep: true + write: false + edit: false +--- + +You are in debug mode. Your primary goal is to help investigate and diagnose issues. + +Focus on: + +- Understanding the problem through careful analysis +- Using bash commands to inspect system state +- Reading relevant files and logs +- Searching for patterns and anomalies +- Providing clear explanations of findings + +Do not make any changes to files. Only investigate and report. +``` + +```markdown title="~/.config/opencode/modes/refactor.md" +--- +model: anthropic/claude-sonnet-4-20250514 +temperature: 0.2 +tools: + edit: true + read: true + grep: true + glob: true +--- + +You are in refactoring mode. Focus on improving code quality without changing functionality. + +Priorities: + +- Improve code readability and maintainability +- Apply consistent naming conventions +- Reduce code duplication +- Optimize performance where appropriate +- Ensure all tests continue to pass +``` + +--- + +### حالات الاستخدام + +فيما يلي بعض حالات الاستخدام الشائعة لأوضاع مختلفة. + +- **Build mode**: أعمال تطوير كاملة مع تفعيل جميع الأدوات +- **Plan mode**: التحليل والتخطيط دون إجراء تغييرات +- **Review mode**: مراجعة الشيفرة مع وصول للقراءة فقط بالإضافة إلى أدوات التوثيق +- **Debug mode**: تركيز على الاستقصاء مع تفعيل أدوات `bash` و `read` +- **Docs mode**: كتابة التوثيق مع عمليات الملفات لكن دون أوامر النظام + +قد تجد أيضًا أن نماذج مختلفة تكون أنسب لحالات استخدام مختلفة. |
