Buckets:
| title: مقدمة | |
| description: ابدأ باستخدام OpenCode. | |
| import { Tabs, TabItem } from "@astrojs/starlight/components" | |
| import config from "../../../../config.mjs" | |
| export const console = config.console | |
| [**OpenCode**](/) هو وكيل ترميز بالذكاء الاصطناعي مفتوح المصدر. يتوفر كواجهة terminal، وتطبيق لسطح المكتب، أو إضافة لبيئة تطوير متكاملة (IDE). | |
|  | |
| لنبدأ. | |
| #### المتطلبات | |
| لاستخدام OpenCode في terminal، ستحتاج إلى: | |
| 1. محاكي terminal حديث مثل: | |
| - [WezTerm](https://wezterm.org) متعدد المنصات | |
| - [Alacritty](https://alacritty.org) متعدد المنصات | |
| - [Ghostty](https://ghostty.org) على Linux وmacOS | |
| - [Kitty](https://sw.kovidgoyal.net/kitty/) على Linux وmacOS | |
| 2. مفاتيح API لمزوّدي نماذج اللغة (LLM) الذين تريد استخدامهم. | |
| ## التثبيت | |
| أسهل طريقة لتثبيت OpenCode هي عبر سكربت التثبيت. | |
| ```bash | |
| curl -fsSL https://opencode.ai/install | bash | |
| ``` | |
| يمكنك أيضا تثبيته عبر الأوامر التالية: | |
| - **باستخدام Node.js** | |
| <Tabs> | |
| <TabItem label="npm"> | |
| ```bash | |
| npm install -g opencode-ai | |
| ``` | |
| </TabItem> | |
| <TabItem label="Bun"> | |
| ```bash | |
| bun install -g opencode-ai | |
| ``` | |
| </TabItem> | |
| <TabItem label="pnpm"> | |
| ```bash | |
| pnpm install -g opencode-ai | |
| ``` | |
| </TabItem> | |
| <TabItem label="Yarn"> | |
| ```bash | |
| yarn global add opencode-ai | |
| ``` | |
| </TabItem> | |
| </Tabs> | |
| - **باستخدام Homebrew على macOS وLinux** | |
| ```bash | |
| brew install anomalyco/tap/opencode | |
| ``` | |
| > نوصي باستخدام tap الخاص بـ OpenCode للحصول على أحدث الإصدارات. صيغة `brew install opencode` الرسمية تُدار بواسطة فريق Homebrew ويتم تحديثها بوتيرة أقل. | |
| - **باستخدام Paru على Arch Linux** | |
| ```bash | |
| sudo pacman -S opencode # Arch Linux (Stable) | |
| paru -S opencode-bin # Arch Linux (Latest from AUR) | |
| ``` | |
| #### Windows | |
| :::tip[موصى به: استخدم WSL] | |
| لأفضل تجربة على Windows، نوصي باستخدام [Windows Subsystem for Linux (WSL)](/docs/windows-wsl). يوفر أداء أفضل وتوافقا كاملا مع ميزات OpenCode. | |
| ::: | |
| - **باستخدام Chocolatey** | |
| ```bash | |
| choco install opencode | |
| ``` | |
| - **باستخدام Scoop** | |
| ```bash | |
| scoop install opencode | |
| ``` | |
| - **باستخدام NPM** | |
| ```bash | |
| npm install -g opencode-ai | |
| ``` | |
| - **باستخدام Mise** | |
| ```bash | |
| mise use -g github:anomalyco/opencode | |
| ``` | |
| - **باستخدام Docker** | |
| ```bash | |
| docker run -it --rm ghcr.io/anomalyco/opencode | |
| ``` | |
| دعم تثبيت OpenCode على Windows باستخدام Bun قيد العمل حاليا. | |
| يمكنك أيضا تنزيل الملف التنفيذي من صفحة [Releases](https://github.com/anomalyco/opencode/releases). | |
| ## الإعداد | |
| مع OpenCode يمكنك استخدام أي مزود LLM عبر إعداد مفاتيح API الخاصة به. | |
| إذا كنت جديدا على استخدام مزوّدي LLM، فنوصي باستخدام [OpenCode Zen](/docs/zen). | |
| إنها قائمة منتقاة من النماذج تم اختبارها والتحقق منها بواسطة فريق OpenCode. | |
| 1. شغّل الأمر `/connect` في واجهة TUI، واختر opencode، ثم انتقل إلى [opencode.ai/auth](https://opencode.ai/auth). | |
| ```txt | |
| /connect | |
| ``` | |
| 2. سجّل الدخول، وأضف تفاصيل الدفع، ثم انسخ مفتاح API. | |
| 3. الصق مفتاح API. | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| بدلا من ذلك يمكنك اختيار أحد المزوّدين الآخرين. [اعرف المزيد](/docs/providers#directory). | |
| ## التهيئة | |
| بعد أن قمت بإعداد مزوّد، يمكنك الانتقال إلى المشروع الذي تريد العمل عليه. | |
| ```bash | |
| cd /path/to/project | |
| ``` | |
| ثم شغّل OpenCode. | |
| ```bash | |
| opencode | |
| ``` | |
| بعد ذلك، هيّئ OpenCode للمشروع عبر تشغيل الأمر التالي. | |
| ```bash frame="none" | |
| /init | |
| ``` | |
| سيجعل هذا OpenCode يحلل مشروعك ويُنشئ ملف `AGENTS.md` في جذر المشروع. | |
| :::tip | |
| يستحسن أن تقوم بعمل commit لملف `AGENTS.md` الخاص بمشروعك إلى Git. | |
| ::: | |
| يساعد هذا OpenCode على فهم بنية المشروع وأنماط الترميز المستخدمة. | |
| ## الاستخدام | |
| أصبحت الآن جاهزا لاستخدام OpenCode للعمل على مشروعك. لا تتردد في سؤاله أي شيء! | |
| إذا كنت جديدا على استخدام وكيل ترميز بالذكاء الاصطناعي، فإليك بعض الأمثلة التي قد تساعد. | |
| ### اطرح أسئلة | |
| يمكنك أن تطلب من OpenCode شرح قاعدة الشيفرة لك. | |
| :::tip | |
| استخدم المفتاح `@` للبحث التقريبي عن الملفات داخل المشروع. | |
| ::: | |
| ```txt frame="none" "@packages/functions/src/api/index.ts" | |
| How is authentication handled in @packages/functions/src/api/index.ts | |
| ``` | |
| يفيد هذا عندما تكون هناك أجزاء من قاعدة الشيفرة لم تعمل عليها. | |
| ### أضف ميزات | |
| يمكنك أن تطلب من OpenCode إضافة ميزات جديدة إلى مشروعك، لكننا نوصي أولا بطلب إنشاء خطة. | |
| 1. **أنشئ خطة** | |
| لدى OpenCode _وضع Plan_ يعطل قدرته على إجراء التغييرات، ويقترح بدلا من ذلك _كيف_ سينفّذ الميزة. | |
| انتقل إليه باستخدام مفتاح **Tab**. سترى مؤشرا لذلك في الزاوية السفلية اليمنى. | |
| ```bash frame="none" title="التبديل إلى وضع Plan" | |
| <TAB> | |
| ``` | |
| الآن لنصف ما نريده أن يفعله. | |
| ```txt frame="none" | |
| When a user deletes a note, we'd like to flag it as deleted in the database. | |
| Then create a screen that shows all the recently deleted notes. | |
| From this screen, the user can undelete a note or permanently delete it. | |
| ``` | |
| احرص على تزويد OpenCode بتفاصيل كافية ليفهم ما تريد. يساعد أن تتحدث إليه كما لو كنت تتحدث إلى مطور مبتدئ ضمن فريقك. | |
| :::tip | |
| أعطِ OpenCode سياقا وأمثلة كافية لمساعدته على فهم ما تريد. | |
| ::: | |
| 2. **حسّن الخطة** | |
| بعد أن يقدم لك خطة، يمكنك إعطاؤه ملاحظات أو إضافة تفاصيل أكثر. | |
| ```txt frame="none" | |
| We'd like to design this new screen using a design I've used before. | |
| [Image #1] Take a look at this image and use it as a reference. | |
| ``` | |
| :::tip | |
| اسحب الصور وأفلِتها داخل terminal لإضافتها إلى الطلب. | |
| ::: | |
| يستطيع OpenCode فحص أي صور تزوده بها وإضافتها إلى الطلب. يمكنك فعل ذلك عبر سحب الصورة وإفلاتها داخل terminal. | |
| 3. **ابنِ الميزة** | |
| عندما تشعر بالارتياح للخطة، عد إلى _وضع Build_ بالضغط على مفتاح **Tab** مرة أخرى. | |
| ```bash frame="none" | |
| <TAB> | |
| ``` | |
| ثم اطلب منه تنفيذ التغييرات. | |
| ```bash frame="none" | |
| Sounds good! Go ahead and make the changes. | |
| ``` | |
| ### نفّذ تغييرات | |
| للتغييرات الأبسط، يمكنك أن تطلب من OpenCode تنفيذها مباشرة دون الحاجة لمراجعة خطة أولا. | |
| ```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts" | |
| We need to add authentication to the /settings route. Take a look at how this is | |
| handled in the /notes route in @packages/functions/src/notes.ts and implement | |
| the same logic in @packages/functions/src/settings.ts | |
| ``` | |
| تأكد من تقديم قدر مناسب من التفاصيل لكي يجري OpenCode التغييرات الصحيحة. | |
| ### تراجع عن التغييرات | |
| لنفترض أنك طلبت من OpenCode إجراء بعض التغييرات. | |
| ```txt frame="none" "@packages/functions/src/api/index.ts" | |
| Can you refactor the function in @packages/functions/src/api/index.ts? | |
| ``` | |
| لكن تتضح لك لاحقا أنها ليست ما تريده. يمكنك **التراجع** عن التغييرات باستخدام الأمر `/undo`. | |
| ```bash frame="none" | |
| /undo | |
| ``` | |
| سيقوم OpenCode الآن بعكس التغييرات التي أُجريت ويعرض رسالتك الأصلية مجددا. | |
| ```txt frame="none" "@packages/functions/src/api/index.ts" | |
| Can you refactor the function in @packages/functions/src/api/index.ts? | |
| ``` | |
| من هنا يمكنك تعديل الطلب وطلب المحاولة مرة أخرى. | |
| :::tip | |
| يمكنك تشغيل `/undo` عدة مرات للتراجع عن عدة تغييرات. | |
| ::: | |
| أو يمكنك **إعادة تنفيذ** التغييرات باستخدام الأمر `/redo`. | |
| ```bash frame="none" | |
| /redo | |
| ``` | |
| ## المشاركة | |
| يمكن [مشاركة المحادثات](/docs/share) التي تجريها مع OpenCode مع فريقك. | |
| ```bash frame="none" | |
| /share | |
| ``` | |
| سيقوم هذا بإنشاء رابط للمحادثة الحالية ونسخه إلى الحافظة. | |
| :::note | |
| لا تتم مشاركة المحادثات افتراضيا. | |
| ::: | |
| إليك [مثالا لمحادثة](https://opencode.ai/s/4XP1fce5) مع OpenCode. | |
| ## التخصيص | |
| وهذا كل شيء! أصبحت الآن محترفا في استخدام OpenCode. | |
| لتجعله مناسبا لك، نوصي بـ [اختيار سمة](/docs/themes)، و[تخصيص اختصارات لوحة المفاتيح](/docs/keybinds)، و[إعداد منسقات الشيفرة](/docs/formatters)، و[إنشاء أوامر مخصصة](/docs/commands)، أو التجربة مع [إعدادات OpenCode](/docs/config). | |
Xet Storage Details
- Size:
- 10.4 kB
- Xet hash:
- 0de7d9daf0b9c27803deb07c79f6fcce0b3d94e4a8262140175c1334a7a141cd
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.