--- title: TUI description: استخدام واجهة المستخدم الطرفية (TUI) في OpenCode. --- import { Tabs, TabItem } from "@astrojs/starlight/components" يوفّر OpenCode واجهة طرفية تفاعلية (TUI) للعمل على مشاريعك باستخدام نموذج لغوي كبير. يؤدي تشغيل OpenCode إلى بدء واجهة TUI للدليل الحالي. ```bash opencode ``` أو يمكنك تشغيلها لدليل عمل محدد. ```bash opencode /path/to/project ``` بعد الدخول إلى واجهة TUI، يمكنك إرسال رسالة كطلب. ```text Give me a quick summary of the codebase. ``` --- ## مراجع الملفات يمكنك الإشارة إلى الملفات في رسائلك باستخدام `@`. يُجري ذلك بحثا ضبابيا عن الملفات ضمن دليل العمل الحالي. :::tip يمكنك أيضا استخدام `@` للإشارة إلى الملفات في رسائلك. ::: ```text "@packages/functions/src/api/index.ts" How is auth handled in @packages/functions/src/api/index.ts? ``` تُضاف محتويات الملف إلى المحادثة تلقائيا. --- ## أوامر Bash ابدأ الرسالة بـ `!` لتشغيل أمر في الصدفة. ```bash frame="none" !ls -la ``` يُضاف خرج الأمر إلى المحادثة كنتيجة أداة. --- ## الأوامر عند استخدام واجهة OpenCode الطرفية، يمكنك كتابة `/` متبوعة باسم أمر لتنفيذ الإجراءات بسرعة. مثلا: ```bash frame="none" /help ``` تملك معظم الأوامر أيضا اختصارا باستخدام `ctrl+x` كمفتاح قائد، حيث إن `ctrl+x` هو المفتاح القائد الافتراضي. [اعرف المزيد](/docs/keybinds). فيما يلي جميع أوامر الشرطة المائلة المتاحة: --- ### connect أضف موفّرا إلى OpenCode. يتيح لك اختيار أحد الموفّرين المتاحين وإضافة مفاتيح API الخاصة بهم. ```bash frame="none" /connect ``` --- ### compact قم بضغط الجلسة الحالية. _الاسم المستعار_: `/summarize` ```bash frame="none" /compact ``` **اختصار لوحة المفاتيح:** `ctrl+x c` --- ### details بدّل عرض تفاصيل تنفيذ الأدوات. ```bash frame="none" /details ``` **اختصار لوحة المفاتيح:** `ctrl+x d` --- ### editor افتح محررا خارجيا لكتابة الرسائل. يستخدم المحرر المحدد في متغير البيئة `EDITOR`. [اعرف المزيد](#editor-setup). ```bash frame="none" /editor ``` **اختصار لوحة المفاتيح:** `ctrl+x e` --- ### exit اخرج من OpenCode. _الأسماء المستعارة_: `/quit`, `/q` ```bash frame="none" /exit ``` **اختصار لوحة المفاتيح:** `ctrl+x q` --- ### export صدّر المحادثة الحالية إلى Markdown وافتحها في المحرر الافتراضي لديك. يستخدم المحرر المحدد في متغير البيئة `EDITOR`. [اعرف المزيد](#editor-setup). ```bash frame="none" /export ``` **اختصار لوحة المفاتيح:** `ctrl+x x` --- ### help اعرض مربع حوار المساعدة. ```bash frame="none" /help ``` **اختصار لوحة المفاتيح:** `ctrl+x h` --- ### init أنشئ ملف `AGENTS.md` أو حدّثه. [اعرف المزيد](/docs/rules). ```bash frame="none" /init ``` **اختصار لوحة المفاتيح:** `ctrl+x i` --- ### models اعرض النماذج المتاحة. ```bash frame="none" /models ``` **اختصار لوحة المفاتيح:** `ctrl+x m` --- ### new ابدأ جلسة جديدة. _الاسم المستعار_: `/clear` ```bash frame="none" /new ``` **اختصار لوحة المفاتيح:** `ctrl+x n` --- ### redo أعِد تنفيذ رسالة تم التراجع عنها سابقا. متاح فقط بعد استخدام `/undo`. :::tip ستتم أيضا استعادة أي تغييرات على الملفات. ::: داخليا، يستخدم هذا Git لإدارة تغييرات الملفات. لذلك يجب أن يكون مشروعك **مستودع Git**. ```bash frame="none" /redo ``` **اختصار لوحة المفاتيح:** `ctrl+x r` --- ### sessions اعرض الجلسات وبدّل بينها. _الأسماء المستعارة_: `/resume`, `/continue` ```bash frame="none" /sessions ``` **اختصار لوحة المفاتيح:** `ctrl+x l` --- ### share شارك الجلسة الحالية. [اعرف المزيد](/docs/share). ```bash frame="none" /share ``` **اختصار لوحة المفاتيح:** `ctrl+x s` --- ### themes اعرض السمات المتاحة. ```bash frame="none" /theme ``` **اختصار لوحة المفاتيح:** `ctrl+x t` --- ### thinking بدّل إظهار كتل التفكير/الاستدلال في المحادثة. عند تفعيله، يمكنك رؤية عملية استدلال النموذج للنماذج التي تدعم التفكير الموسّع. :::note يتحكم هذا الأمر فقط فيما إذا كانت كتل التفكير **تُعرض**؛ ولا يفعّل أو يعطّل قدرات الاستدلال في النموذج. لتبديل قدرات الاستدلال فعليا، استخدم `ctrl+t` للتنقّل بين إصدارات النموذج. ::: ```bash frame="none" /thinking ``` --- ### undo تراجع عن آخر رسالة في المحادثة. يزيل أحدث رسالة للمستخدم، وكل الردود اللاحقة، وأي تغييرات على الملفات. :::tip سيتم أيضا التراجع عن أي تغييرات على الملفات. ::: داخليا، يستخدم هذا Git لإدارة تغييرات الملفات. لذلك يجب أن يكون مشروعك **مستودع Git**. ```bash frame="none" /undo ``` **اختصار لوحة المفاتيح:** `ctrl+x u` --- ### unshare ألغِ مشاركة الجلسة الحالية. [اعرف المزيد](/docs/share#un-sharing). ```bash frame="none" /unshare ``` --- ## إعداد المحرر يستخدم الأمران `/editor` و`/export` المحرر المحدد في متغير البيئة `EDITOR`. ```bash # Example for nano or vim export EDITOR=nano export EDITOR=vim # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. # include --wait export EDITOR="code --wait" ``` لجعل ذلك دائما، أضف هذا إلى ملف تهيئة الصدفة لديك؛ `~/.bashrc`، `~/.zshrc`، إلخ. ```bash set EDITOR=notepad # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. # include --wait set EDITOR=code --wait ``` لجعل ذلك دائما، استخدم **System Properties** > **Environment Variables**. ```powershell $env:EDITOR = "notepad" # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. # include --wait $env:EDITOR = "code --wait" ``` لجعل ذلك دائما، أضف هذا إلى ملف تهيئة PowerShell لديك. تتضمن خيارات المحررات الشائعة ما يلي: - `code` - Visual Studio Code - `cursor` - Cursor - `windsurf` - Windsurf - `nvim` - محرر Neovim - `vim` - محرر Vim - `nano` - محرر Nano - `notepad` - Windows Notepad - `subl` - Sublime Text :::note تحتاج بعض المحررات مثل VS Code إلى التشغيل مع الخيار `--wait`. ::: تحتاج بعض المحررات إلى وسائط سطر الأوامر لتعمل بوضع الحجب. يجعل الخيار `--wait` عملية المحرر تنتظر حتى يتم إغلاقها. --- ## الإعداد يمكنك تخصيص سلوك واجهة TUI عبر ملف إعدادات OpenCode. ```json title="opencode.json" { "$schema": "https://opencode.ai/config.json", "tui": { "scroll_speed": 3, "scroll_acceleration": { "enabled": true } } } ``` ### الخيارات - `scroll_acceleration` - فعّل تسارع التمرير على نمط macOS لتمرير سلس وطبيعي. عند تفعيله، تزداد سرعة التمرير مع إيماءات التمرير السريعة وتبقى دقيقة للحركات الأبطأ. **يتقدّم هذا الإعداد على `scroll_speed` ويستبدله عند تفعيله.** - `scroll_speed` - يتحكم في سرعة تمرير واجهة TUI عند استخدام أوامر التمرير (الحد الأدنى: `1`). القيمة الافتراضية هي `3`. **ملاحظة: يتم تجاهل هذا إذا تم ضبط `scroll_acceleration.enabled` على `true`.** --- ## التخصيص يمكنك تخصيص جوانب مختلفة من عرض واجهة TUI باستخدام لوحة الأوامر (`ctrl+x h` أو `/help`). تبقى هذه الإعدادات محفوظة عبر عمليات إعادة التشغيل. --- #### عرض اسم المستخدم بدّل ما إذا كان اسم المستخدم يظهر في رسائل الدردشة. يمكنك الوصول إلى هذا عبر: - لوحة الأوامر: ابحث عن "username" أو "hide username" - يُحفظ الإعداد تلقائيا وسيتم تذكره عبر جلسات واجهة TUI