mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-06 08:57:23 +00:00
388 lines
9.4 KiB
Plaintext
388 lines
9.4 KiB
Plaintext
---
|
||
title: TUI
|
||
description: استخدام واجهة المستخدم الطرفية (TUI) في OpenCode.
|
||
---
|
||
|
||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||
|
||
يوفّر OpenCode واجهة طرفية تفاعلية (TUI) للعمل على مشاريعك باستخدام LLM.
|
||
|
||
يؤدي تشغيل 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`.
|
||
|
||
<Tabs>
|
||
<TabItem label="لينكس/macOS">
|
||
```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`، إلخ.
|
||
|
||
</TabItem>
|
||
|
||
<TabItem label="ويندوز (CMD)">
|
||
```bash
|
||
set EDITOR=notepad
|
||
|
||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||
# include --wait
|
||
set EDITOR=code --wait
|
||
```
|
||
|
||
لجعل ذلك دائما، استخدم **System Properties** > **Environment Variables**.
|
||
|
||
</TabItem>
|
||
|
||
<TabItem label="ويندوز (PowerShell)">
|
||
```powershell
|
||
$env:EDITOR = "notepad"
|
||
|
||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||
# include --wait
|
||
$env:EDITOR = "code --wait"
|
||
```
|
||
|
||
لجعل ذلك دائما، أضف هذا إلى ملف تهيئة PowerShell لديك.
|
||
|
||
</TabItem>
|
||
</Tabs>
|
||
|
||
تتضمن خيارات المحررات الشائعة ما يلي:
|
||
|
||
- `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
|