TUI
استخدام واجهة المستخدم TUI في OpenCode.
يوفّر OpenCode واجهة terminal تفاعلية (TUI) للعمل على مشاريعك باستخدام LLM.
يؤدي تشغيل OpenCode إلى بدء واجهة TUI للدليل الحالي.
opencodeأو يمكنك تشغيلها لدليل عمل محدد.
opencode /path/to/projectبعد الدخول إلى واجهة TUI، يمكنك إرسال رسالة كطلب.
Give me a quick summary of the codebase.مراجع الملفات
يمكنك الإشارة إلى الملفات في رسائلك باستخدام @. يُجري ذلك بحثا ضبابيا عن الملفات ضمن دليل العمل الحالي.
How is auth handled in @packages/functions/src/api/index.ts?تُضاف محتويات الملف إلى المحادثة تلقائيا.
أوامر Bash
ابدأ الرسالة بـ ! لتشغيل أمر في shell.
!ls -laيُضاف خرج الأمر إلى المحادثة كنتيجة أداة.
الأوامر
عند استخدام واجهة OpenCode في terminal، يمكنك كتابة / متبوعة باسم أمر لتنفيذ الإجراءات بسرعة. مثلا:
/helpتملك معظم الأوامر أيضا اختصارا باستخدام ctrl+x كمفتاح قائد، حيث إن ctrl+x هو المفتاح القائد الافتراضي. اعرف المزيد.
فيما يلي جميع أوامر الشرطة المائلة المتاحة:
connect
أضف موفّرا إلى OpenCode. يتيح لك اختيار أحد الموفّرين المتاحين وإضافة مفاتيح API الخاصة بهم.
/connectcompact
قم بضغط الجلسة الحالية. الاسم المستعار: /summarize
/compactاختصار لوحة المفاتيح: ctrl+x c
details
بدّل عرض تفاصيل تنفيذ الأدوات.
/detailsاختصار لوحة المفاتيح: ctrl+x d
editor
افتح محررا خارجيا لكتابة الرسائل. يستخدم المحرر المحدد في متغير البيئة EDITOR. اعرف المزيد.
/editorاختصار لوحة المفاتيح: ctrl+x e
exit
اخرج من OpenCode. الأسماء المستعارة: /quit, /q
/exitاختصار لوحة المفاتيح: ctrl+x q
export
صدّر المحادثة الحالية إلى Markdown وافتحها في المحرر الافتراضي لديك. يستخدم المحرر المحدد في متغير البيئة EDITOR. اعرف المزيد.
/exportاختصار لوحة المفاتيح: ctrl+x x
help
اعرض مربع حوار المساعدة.
/helpاختصار لوحة المفاتيح: ctrl+x h
init
أنشئ ملف AGENTS.md أو حدّثه. اعرف المزيد.
/initاختصار لوحة المفاتيح: ctrl+x i
models
اعرض النماذج المتاحة.
/modelsاختصار لوحة المفاتيح: ctrl+x m
new
ابدأ جلسة جديدة. الاسم المستعار: /clear
/newاختصار لوحة المفاتيح: ctrl+x n
redo
أعِد تنفيذ رسالة تم التراجع عنها سابقا. متاح فقط بعد استخدام /undo.
داخليا، يستخدم هذا Git لإدارة تغييرات الملفات. لذلك يجب أن يكون مشروعك مستودع Git.
/redoاختصار لوحة المفاتيح: ctrl+x r
sessions
اعرض الجلسات وبدّل بينها. الأسماء المستعارة: /resume, /continue
/sessionsاختصار لوحة المفاتيح: ctrl+x l
share
شارك الجلسة الحالية. اعرف المزيد.
/shareاختصار لوحة المفاتيح: ctrl+x s
themes
اعرض السمات المتاحة.
/themeاختصار لوحة المفاتيح: ctrl+x t
thinking
بدّل إظهار كتل التفكير/الاستدلال في المحادثة. عند تفعيله، يمكنك رؤية عملية استدلال النموذج للنماذج التي تدعم التفكير الموسّع.
/thinkingundo
تراجع عن آخر رسالة في المحادثة. يزيل أحدث رسالة للمستخدم، وكل الردود اللاحقة، وأي تغييرات على الملفات.
داخليا، يستخدم هذا Git لإدارة تغييرات الملفات. لذلك يجب أن يكون مشروعك مستودع Git.
/undoاختصار لوحة المفاتيح: ctrl+x u
unshare
ألغِ مشاركة الجلسة الحالية. اعرف المزيد.
/unshareإعداد المحرر
يستخدم الأمران /editor و/export المحرر المحدد في متغير البيئة EDITOR.
# مثال لـ nano أو vimexport EDITOR=nanoexport EDITOR=vim
# للمحررات الرسومية، VS Code، Cursor، VSCodium، Windsurf، Zed، إلخ.# قم بتضمين --waitexport EDITOR="code --wait"لجعل ذلك دائما، أضف هذا إلى ملف تهيئة shell لديك؛
~/.bashrc، ~/.zshrc، إلخ.
set EDITOR=notepad
# للمحررات الرسومية، VS Code، Cursor، VSCodium، Windsurf، Zed، إلخ.# قم بتضمين --waitset EDITOR=code --waitلجعل ذلك دائما، استخدم System Properties > Environment Variables.
$env:EDITOR = "notepad"
# للمحررات الرسومية، VS Code، Cursor، VSCodium، Windsurf، Zed، إلخ.# قم بتضمين --wait$env:EDITOR = "code --wait"لجعل ذلك دائما، أضف هذا إلى ملف تهيئة PowerShell لديك.
تتضمن خيارات المحررات الشائعة ما يلي:
code- Visual Studio Codecursor- Cursorwindsurf- Windsurfnvim- محرر Neovimvim- محرر Vimnano- محرر Nanonotepad- Windows Notepadsubl- Sublime Text
تحتاج بعض المحررات إلى وسائط CLI لتعمل بوضع الحجب. يجعل الخيار --wait عملية المحرر تنتظر حتى يتم إغلاقها.
الإعداد
يمكنك تخصيص سلوك TUI من خلال tui.json (أو tui.jsonc).
{ "$schema": "https://opencode.ai/tui.json", "theme": "opencode", "leader_timeout": 2000, "keybinds": { "leader": "ctrl+x", "command_list": "ctrl+p" }, "scroll_speed": 3, "scroll_acceleration": { "enabled": false }, "diff_style": "auto", "mouse": true, "attention": { "enabled": true, "notifications": true, "sound": true, "volume": 0.4, "sound_pack": "opencode.default", "sounds": { "error": "./sounds/error.mp3" } }}هذا منفصل عن opencode.json، الذي يضبط سلوك الخادم ووقت التشغيل.
يتم دمج keybinds مع الاختصارات الافتراضية المدمجة، لذلك لا تحتاج إلا إلى ضبط الاختصارات التي تريد تغييرها.
الخيارات
theme- يحدد سمة UI. اعرف المزيد.keybinds- يخصص اختصارات لوحة المفاتيح. اعرف المزيد.leader_timeout- يتحكم في مدة انتظار OpenCode بعد الضغط على leader key. القيمة الافتراضية2000.scroll_acceleration.enabled- يفعّل تسارع التمرير على نمط macOS لتمرير سلس وطبيعي. عند تفعيله، تزداد سرعة التمرير مع إيماءات التمرير السريعة وتبقى دقيقة للحركات الأبطأ. يتقدّم هذا الإعداد علىscroll_speedويستبدله عند تفعيله.scroll_speed- يتحكم في سرعة تمرير TUI عند استخدام أوامر التمرير (الحد الأدنى:0.001، ويدعم القيم العشرية). القيمة الافتراضية3. ملاحظة: يتم تجاهل هذا إذا تم ضبطscroll_acceleration.enabledعلىtrue.diff_style- يتحكم في عرض الفروقات (diff). القيمة"auto"تتكيف مع عرض terminal، و"stacked"تعرض عمودًا واحدًا دائمًا.mouse- يفعّل أو يعطّل التقاط الماوس في TUI (القيمة الافتراضية:true). عند تعطيله، يتم الحفاظ على سلوك terminal الأصلي لتحديد النص والتمرير بالماوس.attention- يضبط desktop notifications والأصوات في TUI. معطل افتراضيًا.
استخدم OPENCODE_TUI_CONFIG لتحميل مسار إعدادات TUI مخصص.
Attention
تجعل ميزة Attention واجهة TUI تنبهك عندما ينتظر OpenCode ردًا منك، أو يحتاج إلى الموافقة على permission، أو يواجه session error، أو ينهي session. فعّلها باستخدام attention.enabled؛ تشغّل الأحداث المدمجة صوتًا عند حدوثها. لا تُرسل desktop notifications إلا عندما لا تكون نافذة terminal في المقدمة، ولا تُستخدم مع أحداث subagent.
enabled- يفعّل جميع notifications والأصوات الخاصة بميزة Attention. القيمة الافتراضيةfalse.notifications- عند تفعيل Attention، يسمح لـ TUI بإرسال desktop notifications عبر terminal. القيمة الافتراضيةtrue.sound- عند تفعيل Attention، يسمح بتشغيل أصوات التنبيه. القيمة الافتراضيةtrue.volume- مستوى صوت التنبيهات الافتراضي من0إلى1. القيمة الافتراضية0.4.sound_pack- sound pack ID المراد استخدامه. القيمة الافتراضيةopencode.default.sounds- يحدد ملفات صوت مخصصة لـdefaultأوquestionأوpermissionأوerrorأوdoneأوsubagent_done. يمكن أن تكون المسارات مطلقة، أوfile://URLs، أو نسبية إلىtui.json.
التخصيص
يمكنك تخصيص جوانب مختلفة من عرض واجهة TUI باستخدام لوحة الأوامر (ctrl+x h أو /help). تبقى هذه الإعدادات محفوظة عبر عمليات إعادة التشغيل.
عرض اسم المستخدم
بدّل ما إذا كان اسم المستخدم يظهر في رسائل الدردشة. يمكنك الوصول إلى هذا عبر:
- لوحة الأوامر: ابحث عن “username” أو “hide username”
- يُحفظ الإعداد تلقائيا وسيتم تذكره عبر جلسات واجهة TUI