fix(docs): locale translations
This commit is contained in:
@@ -142,13 +142,13 @@ require("codecompanion").setup({
|
||||
|
||||
## الدعم
|
||||
|
||||
يعمل OpenCode عبر ACP بالطريقة نفسها التي يعمل بها في الطرفية. جميع الميزات مدعومة:
|
||||
يعمل OpenCode عبر ACP بالطريقة نفسها التي يعمل بها في terminal. جميع الميزات مدعومة:
|
||||
|
||||
:::note
|
||||
بعض أوامر الشرطة المائلة المضمنة مثل `/undo` و`/redo` غير مدعومة حاليا.
|
||||
:::
|
||||
|
||||
- الأدوات المضمنة (عمليات الملفات، أوامر الطرفية، إلخ.)
|
||||
- الأدوات المضمنة (عمليات الملفات، أوامر terminal، إلخ.)
|
||||
- الأدوات المخصصة وأوامر الشرطة المائلة
|
||||
- خوادم MCP المضبوطة في إعدادات OpenCode
|
||||
- قواعد خاصة بالمشروع من `AGENTS.md`
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
---
|
||||
title: سطر الأوامر
|
||||
description: خيارات وأوامر سطر أوامر OpenCode.
|
||||
title: CLI
|
||||
description: أوامر وخيارات CLI في OpenCode.
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
|
||||
يبدأ سطر أوامر OpenCode افتراضيا واجهة [TUI](/docs/tui) عند تشغيله بدون أي معاملات.
|
||||
يبدأ CLI الخاص بـ OpenCode افتراضيا واجهة [TUI](/docs/tui) عند تشغيله بدون أي معاملات.
|
||||
|
||||
```bash
|
||||
opencode
|
||||
@@ -21,7 +21,7 @@ opencode run "Explain how closures work in JavaScript"
|
||||
|
||||
### tui
|
||||
|
||||
بدء واجهة المستخدم الطرفية (TUI) الخاصة بـ OpenCode.
|
||||
بدء واجهة المستخدم terminal (TUI) الخاصة بـ OpenCode.
|
||||
|
||||
```bash
|
||||
opencode [project]
|
||||
@@ -44,7 +44,7 @@ opencode [project]
|
||||
|
||||
## الأوامر
|
||||
|
||||
يتضمن سطر أوامر OpenCode أيضا الأوامر التالية.
|
||||
يتضمن CLI الخاص بـ OpenCode أيضا الأوامر التالية.
|
||||
|
||||
---
|
||||
|
||||
@@ -60,7 +60,7 @@ opencode agent [command]
|
||||
|
||||
### attach
|
||||
|
||||
إرفاق طرفية بخادم الواجهة الخلفية لـ OpenCode قيد التشغيل بالفعل، والذي تم تشغيله عبر الأمرين `serve` أو `web`.
|
||||
إرفاق terminal بخادم الواجهة الخلفية لـ OpenCode قيد التشغيل بالفعل، والذي تم تشغيله عبر الأمرين `serve` أو `web`.
|
||||
|
||||
```bash
|
||||
opencode attach [url]
|
||||
@@ -562,7 +562,7 @@ opencode upgrade v0.1.48
|
||||
| `OPENCODE_CONFIG_CONTENT` | string | محتوى تهيئة JSON مُضمّن |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | boolean | تعطيل التحقق التلقائي من التحديثات |
|
||||
| `OPENCODE_DISABLE_PRUNE` | boolean | تعطيل تنقية البيانات القديمة |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | boolean | تعطيل تحديث عنوان الطرفية تلقائيا |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | boolean | تعطيل تحديث عنوان terminal تلقائيا |
|
||||
| `OPENCODE_PERMISSION` | string | تهيئة أذونات JSON مُضمّنة |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boolean | تعطيل الإضافات الافتراضية |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | boolean | تعطيل تنزيل خوادم LSP تلقائيا |
|
||||
|
||||
@@ -160,7 +160,7 @@ with the following content: $3
|
||||
|
||||
---
|
||||
|
||||
### خرج الصدفة (Shell)
|
||||
### خرج shell
|
||||
|
||||
استخدم _!`command`_ لحقن خرج [أمر bash](/docs/tui#bash-commands) داخل مُطالبتك.
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@ opencode run "Hello world"
|
||||
|
||||
- `scroll_acceleration.enabled` - تفعيل تسارع التمرير بأسلوب macOS. **له أولوية على `scroll_speed`.**
|
||||
- `scroll_speed` - مُضاعِف سرعة تمرير مخصص (الافتراضي: `3`، الحد الأدنى: `1`). يتم تجاهله إذا كان `scroll_acceleration.enabled` مساويًا لـ `true`.
|
||||
- `diff_style` - التحكم في عرض `diff`. القيمة `"auto"` تتكيف مع عرض الطرفية، و`"stacked"` تعرض عمودًا واحدًا دائمًا.
|
||||
- `diff_style` - التحكم في عرض `diff`. القيمة `"auto"` تتكيف مع عرض terminal، و`"stacked"` تعرض عمودًا واحدًا دائمًا.
|
||||
|
||||
[تعرف على المزيد حول استخدام TUI هنا](/docs/tui).
|
||||
|
||||
|
||||
@@ -52,19 +52,19 @@ description: مشاريع وتكاملات مبنية باستخدام OpenCode.
|
||||
|
||||
## المشاريع
|
||||
|
||||
| الاسم | الوصف |
|
||||
| ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | بوت Discord للتحكم بجلسات OpenCode، مبني على SDK |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | ملحق Neovim لموجهات تراعي المحرر، مبني على API |
|
||||
| [portal](https://github.com/hosenur/portal) | واجهة ويب تركز على الجوال لـ OpenCode عبر Tailscale/VPN |
|
||||
| [opencode plugin template](https://github.com/zenobi-us/opencode-plugin-template/) | قالب لبناء ملحقات OpenCode |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | واجهة Neovim لـ opencode - وكيل برمجة بالذكاء الاصطناعي يعمل في الطرفية |
|
||||
| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | موفر Vercel AI SDK لاستخدام OpenCode عبر @opencode-ai/sdk |
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | تطبيق ويب/سطح مكتب وامتداد VS Code لـ OpenCode |
|
||||
| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | ملحق Obsidian يدمج OpenCode داخل واجهة Obsidian |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | بديل مفتوح المصدر لـ Claude Cowork، مدعوم بـ OpenCode |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | مدير امتدادات OpenCode مع ملفات تعريف محمولة ومعزولة. |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | تطبيق عميل لسطح المكتب والويب والجوال وعن بُعد لـ OpenCode |
|
||||
| الاسم | الوصف |
|
||||
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | بوت Discord للتحكم بجلسات OpenCode، مبني على SDK |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | ملحق Neovim لموجهات تراعي المحرر، مبني على API |
|
||||
| [portal](https://github.com/hosenur/portal) | واجهة ويب تركز على الجوال لـ OpenCode عبر Tailscale/VPN |
|
||||
| [opencode plugin template](https://github.com/zenobi-us/opencode-plugin-template/) | قالب لبناء ملحقات OpenCode |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | واجهة Neovim لـ opencode - وكيل برمجة بالذكاء الاصطناعي يعمل في terminal |
|
||||
| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | موفر Vercel AI SDK لاستخدام OpenCode عبر @opencode-ai/sdk |
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | تطبيق ويب/سطح مكتب وامتداد VS Code لـ OpenCode |
|
||||
| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | ملحق Obsidian يدمج OpenCode داخل واجهة Obsidian |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | بديل مفتوح المصدر لـ Claude Cowork، مدعوم بـ OpenCode |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | مدير امتدادات OpenCode مع ملفات تعريف محمولة ومعزولة. |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | تطبيق عميل لسطح المكتب والويب والجوال وعن بُعد لـ OpenCode |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -3,14 +3,14 @@ title: IDE
|
||||
description: امتداد OpenCode لـ VS Code و Cursor وغيرها من بيئات التطوير
|
||||
---
|
||||
|
||||
يتكامل OpenCode مع VS Code و Cursor أو أي IDE يدعم الطرفية. ما عليك سوى تشغيل `opencode` في الطرفية للبدء.
|
||||
يتكامل OpenCode مع VS Code و Cursor أو أي IDE يدعم terminal. ما عليك سوى تشغيل `opencode` في terminal للبدء.
|
||||
|
||||
---
|
||||
|
||||
## الاستخدام
|
||||
|
||||
- **تشغيل سريع**: استخدم `Cmd+Esc` (Mac) أو `Ctrl+Esc` (Windows/Linux) لفتح OpenCode في عرض طرفية مقسّم، أو للتركيز على جلسة طرفية موجودة إذا كانت قيد التشغيل بالفعل.
|
||||
- **جلسة جديدة**: استخدم `Cmd+Shift+Esc` (Mac) أو `Ctrl+Shift+Esc` (Windows/Linux) لبدء جلسة طرفية جديدة لـ OpenCode حتى لو كانت هناك جلسة مفتوحة. يمكنك أيضا النقر على زر OpenCode في واجهة المستخدم.
|
||||
- **تشغيل سريع**: استخدم `Cmd+Esc` (Mac) أو `Ctrl+Esc` (Windows/Linux) لفتح OpenCode في عرض terminal مقسّم، أو للتركيز على جلسة terminal موجودة إذا كانت قيد التشغيل بالفعل.
|
||||
- **جلسة جديدة**: استخدم `Cmd+Shift+Esc` (Mac) أو `Ctrl+Shift+Esc` (Windows/Linux) لبدء جلسة terminal جديدة لـ OpenCode حتى لو كانت هناك جلسة مفتوحة. يمكنك أيضا النقر على زر OpenCode في واجهة المستخدم.
|
||||
- **وعي بالسياق**: شارك تلقائيا تحديدك الحالي أو تبويبك مع OpenCode.
|
||||
- **اختصارات الإشارة إلى الملفات**: استخدم `Cmd+Option+K` (Mac) أو `Alt+Ctrl+K` (Linux/Windows) لإدراج مراجع الملفات. مثلا: `@File#L37-42`.
|
||||
|
||||
@@ -21,7 +21,7 @@ description: امتداد OpenCode لـ VS Code و Cursor وغيرها من بي
|
||||
لتثبيت OpenCode على VS Code والتفرعات الشائعة مثل Cursor و Windsurf و VSCodium:
|
||||
|
||||
1. افتح VS Code
|
||||
2. افتح الطرفية المدمجة
|
||||
2. افتح terminal المدمجة
|
||||
3. شغّل `opencode` - سيتم تثبيت الامتداد تلقائيا
|
||||
|
||||
أما إذا كنت تريد استخدام IDE الخاص بك عند تشغيل `/editor` أو `/export` من واجهة TUI، فستحتاج إلى ضبط `export EDITOR="code --wait"`. [اعرف المزيد](/docs/tui/#editor-setup).
|
||||
@@ -38,8 +38,8 @@ description: امتداد OpenCode لـ VS Code و Cursor وغيرها من بي
|
||||
|
||||
إذا فشل تثبيت الامتداد تلقائيا:
|
||||
|
||||
- تأكد من أنك تشغّل `opencode` داخل الطرفية المدمجة.
|
||||
- تأكد من تثبيت واجهة سطر الأوامر (CLI) الخاصة بـ IDE لديك:
|
||||
- تأكد من أنك تشغّل `opencode` داخل terminal المدمجة.
|
||||
- تأكد من تثبيت CLI الخاصة بـ IDE لديك:
|
||||
- لـ VS Code: أمر `code`
|
||||
- لـ Cursor: أمر `cursor`
|
||||
- لـ Windsurf: أمر `windsurf`
|
||||
|
||||
@@ -7,9 +7,9 @@ import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
import config from "../../../../config.mjs"
|
||||
export const console = config.console
|
||||
|
||||
[**OpenCode**](/) هو وكيل ترميز بالذكاء الاصطناعي مفتوح المصدر. يتوفر كواجهة طرفية، وتطبيق لسطح المكتب، أو إضافة لبيئة تطوير متكاملة (IDE).
|
||||
[**OpenCode**](/) هو وكيل ترميز بالذكاء الاصطناعي مفتوح المصدر. يتوفر كواجهة terminal، وتطبيق لسطح المكتب، أو إضافة لبيئة تطوير متكاملة (IDE).
|
||||
|
||||

|
||||

|
||||
|
||||
لنبدأ.
|
||||
|
||||
@@ -17,9 +17,9 @@ export const console = config.console
|
||||
|
||||
#### المتطلبات
|
||||
|
||||
لاستخدام OpenCode في الطرفية، ستحتاج إلى:
|
||||
لاستخدام OpenCode في terminal، ستحتاج إلى:
|
||||
|
||||
1. محاكي طرفية حديث مثل:
|
||||
1. محاكي terminal حديث مثل:
|
||||
- [WezTerm](https://wezterm.org) متعدد المنصات
|
||||
- [Alacritty](https://alacritty.org) متعدد المنصات
|
||||
- [Ghostty](https://ghostty.org) على Linux وmacOS
|
||||
@@ -249,10 +249,10 @@ How is authentication handled in @packages/functions/src/api/index.ts
|
||||
```
|
||||
|
||||
:::tip
|
||||
اسحب الصور وأفلِتها داخل الطرفية لإضافتها إلى الطلب.
|
||||
اسحب الصور وأفلِتها داخل terminal لإضافتها إلى الطلب.
|
||||
:::
|
||||
|
||||
يستطيع OpenCode فحص أي صور تزوده بها وإضافتها إلى الطلب. يمكنك فعل ذلك عبر سحب الصورة وإفلاتها داخل الطرفية.
|
||||
يستطيع OpenCode فحص أي صور تزوده بها وإضافتها إلى الطلب. يمكنك فعل ذلك عبر سحب الصورة وإفلاتها داخل terminal.
|
||||
|
||||
3. **ابنِ الميزة**
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ description: خصّص اختصارات لوحة المفاتيح.
|
||||
|
||||
## مفتاح القائد
|
||||
|
||||
يستخدم OpenCode مفتاح `leader` لمعظم اختصارات لوحة المفاتيح. يساعد ذلك على تجنّب التعارضات في الطرفية لديك.
|
||||
يستخدم OpenCode مفتاح `leader` لمعظم اختصارات لوحة المفاتيح. يساعد ذلك على تجنّب التعارضات في terminal لديك.
|
||||
|
||||
افتراضيا، يكون `ctrl+x` هو مفتاح القائد، وتتطلّب معظم الإجراءات أن تضغط أولا مفتاح القائد ثم الاختصار. على سبيل المثال، لبدء جلسة جديدة اضغط `ctrl+x` أولا ثم اضغط `n`.
|
||||
|
||||
@@ -154,7 +154,7 @@ description: خصّص اختصارات لوحة المفاتيح.
|
||||
|
||||
## مفتاح Shift+Enter
|
||||
|
||||
بعض الطرفيات لا ترسل مفاتيح التعديل مع Enter افتراضيا. قد تحتاج إلى ضبط طرفيتك لإرسال `Shift+Enter` كسلسلة هروب.
|
||||
بعض تطبيقات terminal لا ترسل مفاتيح التعديل مع Enter افتراضيا. قد تحتاج إلى ضبط terminal لإرسال `Shift+Enter` كسلسلة هروب.
|
||||
|
||||
### Windows Terminal
|
||||
|
||||
|
||||
@@ -204,7 +204,7 @@ description: تهيئة مزوّد LLM والنموذج.
|
||||
|
||||
عند بدء تشغيل OpenCode، يتحقق من النماذج وفق ترتيب الأولوية التالي:
|
||||
|
||||
1. خيار سطر الأوامر `--model` أو `-m`. الصيغة هي نفسها الموجودة في ملف الإعدادات: `provider_id/model_id`.
|
||||
1. خيار CLI `--model` أو `-m`. الصيغة هي نفسها الموجودة في ملف الإعدادات: `provider_id/model_id`.
|
||||
|
||||
2. قائمة النماذج في إعدادات OpenCode.
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ description: أوضاع مختلفة لحالات استخدام مختلفة.
|
||||
- `write` - لا يمكن إنشاء ملفات جديدة
|
||||
- `edit` - لا يمكن تعديل الملفات الموجودة، باستثناء الملفات الموجودة في `.opencode/plans/*.md` لتفصيل الخطة نفسها
|
||||
- `patch` - لا يمكن تطبيق التصحيحات
|
||||
- `bash` - لا يمكن تنفيذ أوامر الصدفة
|
||||
- `bash` - لا يمكن تنفيذ أوامر shell
|
||||
|
||||
يكون هذا الوضع مفيدًا عندما تريد من الذكاء الاصطناعي تحليل الشيفرة، أو اقتراح تغييرات، أو إنشاء خطط دون إجراء أي تعديلات فعلية على قاعدة الشيفرة لديك.
|
||||
|
||||
@@ -227,7 +227,7 @@ Provide constructive feedback without making direct changes.
|
||||
|
||||
| الأداة | الوصف |
|
||||
| ----------- | -------------------------- |
|
||||
| `bash` | تنفيذ أوامر الصدفة |
|
||||
| `bash` | تنفيذ أوامر shell |
|
||||
| `edit` | تعديل الملفات الموجودة |
|
||||
| `write` | إنشاء ملفات جديدة |
|
||||
| `read` | قراءة محتويات الملفات |
|
||||
|
||||
@@ -26,7 +26,7 @@ export NO_PROXY=localhost,127.0.0.1
|
||||
تتواصل واجهة TUI مع خادم HTTP محلي. يجب تجاوز الوكيل لهذا الاتصال لمنع حلقات التوجيه.
|
||||
:::
|
||||
|
||||
يمكنك إعداد منفذ الخادم واسم المضيف باستخدام [أعلام سطر الأوامر](/docs/cli#run).
|
||||
يمكنك إعداد منفذ الخادم واسم المضيف باستخدام [أعلام CLI](/docs/cli#run).
|
||||
|
||||
---
|
||||
|
||||
@@ -54,4 +54,4 @@ export HTTPS_PROXY=http://username:password@proxy.example.com:8080
|
||||
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem
|
||||
```
|
||||
|
||||
يعمل ذلك لكل من اتصالات الوكيل والوصول المباشر إلى واجهات برمجة التطبيقات.
|
||||
يعمل ذلك لكل من اتصالات الوكيل والوصول المباشر إلى APIs.
|
||||
|
||||
@@ -134,7 +134,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة
|
||||
- `glob` — مطابقة أسماء الملفات (يطابق نمط الـ glob)
|
||||
- `grep` — البحث في المحتوى (يطابق نمط regex)
|
||||
- `list` — سرد الملفات في دليل (يطابق مسار الدليل)
|
||||
- `bash` — تشغيل أوامر الصدفة (يطابق الأوامر المُحلَّلة مثل `git status --porcelain`)
|
||||
- `bash` — تشغيل أوامر shell (يطابق الأوامر المُحلَّلة مثل `git status --porcelain`)
|
||||
- `task` — تشغيل وكلاء فرعيين (يطابق نوع الوكيل الفرعي)
|
||||
- `skill` — تحميل مهارة (يطابق اسم المهارة)
|
||||
- `lsp` — تشغيل استعلامات LSP (حاليًا دون قواعد دقيقة)
|
||||
|
||||
@@ -192,7 +192,7 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
|
||||
|
||||
- `todo.updated`
|
||||
|
||||
#### أحداث الصدفة
|
||||
#### أحداث shell
|
||||
|
||||
- `shell.env`
|
||||
|
||||
@@ -260,7 +260,7 @@ export const EnvProtection = async ({ project, client, $, directory, worktree })
|
||||
|
||||
### حقن متغيرات البيئة
|
||||
|
||||
احقن متغيرات البيئة في جميع عمليات تنفيذ الصدفة (أدوات الذكاء الاصطناعي وطرفيات المستخدم):
|
||||
احقن متغيرات البيئة في جميع عمليات تنفيذ shell (أدوات الذكاء الاصطناعي وterminal المستخدم):
|
||||
|
||||
```javascript title=".opencode/plugins/inject-env.js"
|
||||
export const InjectEnvPlugin = async () => {
|
||||
|
||||
@@ -282,9 +282,9 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد
|
||||
|
||||
##### استخدام مفاتيح API
|
||||
|
||||
يمكنك أيضا اختيار **Create an API Key** إذا لم يكن لديك اشتراك Pro/Max. سيفتح ذلك المتصفح أيضا ويطلب منك تسجيل الدخول إلى Anthropic ويعطيك رمزا يمكنك لصقه في الطرفية.
|
||||
يمكنك أيضا اختيار **Create an API Key** إذا لم يكن لديك اشتراك Pro/Max. سيفتح ذلك المتصفح أيضا ويطلب منك تسجيل الدخول إلى Anthropic ويعطيك رمزا يمكنك لصقه في terminal.
|
||||
|
||||
أو إذا كان لديك مفتاح API بالفعل، يمكنك اختيار **Manually enter API Key** ولصقه في الطرفية.
|
||||
أو إذا كان لديك مفتاح API بالفعل، يمكنك اختيار **Manually enter API Key** ولصقه في terminal.
|
||||
|
||||
---
|
||||
|
||||
@@ -661,7 +661,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد
|
||||
2. انقر **Add new token**
|
||||
3. Name: `OpenCode`، Scopes: `api`
|
||||
4. انسخ الرمز (يبدأ بـ `glpat-`)
|
||||
5. أدخله في الطرفية
|
||||
5. أدخله في terminal
|
||||
|
||||
3. شغّل الأمر `/models` لعرض النماذج المتاحة.
|
||||
|
||||
@@ -1324,7 +1324,7 @@ npm install -g opencode-helicone-session
|
||||
|
||||
##### استخدام مفاتيح API
|
||||
|
||||
إذا كان لديك مفتاح API بالفعل، يمكنك اختيار **Manually enter API Key** ولصقه في الطرفية.
|
||||
إذا كان لديك مفتاح API بالفعل، يمكنك اختيار **Manually enter API Key** ولصقه في terminal.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ const client = createOpencodeClient({
|
||||
|
||||
## الأنواع
|
||||
|
||||
تتضمن SDK تعريفات TypeScript لجميع أنواع واجهات برمجة التطبيقات. استوردها مباشرة:
|
||||
تتضمن SDK تعريفات TypeScript لجميع أنواع API. استوردها مباشرة:
|
||||
|
||||
```typescript
|
||||
import type { Session, Message, Part } from "@opencode-ai/sdk"
|
||||
@@ -117,7 +117,7 @@ try {
|
||||
|
||||
---
|
||||
|
||||
## واجهات برمجة التطبيقات
|
||||
## APIs
|
||||
|
||||
توفر SDK جميع واجهات الخادم عبر عميل آمن للأنواع.
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ OPENCODE_SERVER_PASSWORD=your-password opencode serve
|
||||
|
||||
### كيف يعمل
|
||||
|
||||
عند تشغيل `opencode` يبدأ تشغيل واجهة طرفية تفاعلية (TUI) وخادما. تكون الـ TUI هي
|
||||
عند تشغيل `opencode` يبدأ تشغيل واجهة terminal تفاعلية (TUI) وخادما. تكون الـ TUI هي
|
||||
العميل الذي يتحدث إلى الخادم. يوفّر الخادم نقطة نهاية لمواصفة OpenAPI 3.1.
|
||||
وتُستخدم هذه النقطة أيضا لتوليد [SDK](/docs/sdk).
|
||||
|
||||
@@ -56,7 +56,7 @@ OPENCODE_SERVER_PASSWORD=your-password opencode serve
|
||||
|
||||
تتيح هذه البنية لـ opencode دعم عدة عملاء وتمكّنك من التفاعل مع opencode برمجيا.
|
||||
|
||||
يمكنك تشغيل `opencode serve` لبدء خادم مستقل. إذا كانت واجهة opencode الطرفية (TUI)
|
||||
يمكنك تشغيل `opencode serve` لبدء خادم مستقل. إذا كانت واجهة opencode في terminal (TUI)
|
||||
قيد التشغيل، فسيبدأ `opencode serve` خادما جديدا.
|
||||
|
||||
---
|
||||
@@ -177,7 +177,7 @@ http://<hostname>:<port>/doc
|
||||
| `GET` | `/session/:id/message/:messageID` | الحصول على تفاصيل الرسالة | يعيد `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
| `POST` | `/session/:id/prompt_async` | إرسال رسالة بشكل غير متزامن (بدون انتظار) | المتن: مثل `/session/:id/message`، يعيد `204 No Content` |
|
||||
| `POST` | `/session/:id/command` | تنفيذ أمر شرطة مائلة (slash) | المتن: `{ messageID?, agent?, model?, command, arguments }`، يعيد `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
| `POST` | `/session/:id/shell` | تشغيل أمر في الصدفة (shell) | المتن: `{ agent, model?, command }`، يعيد `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
| `POST` | `/session/:id/shell` | تشغيل أمر في shell | المتن: `{ agent, model?, command }`، يعيد `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -3,19 +3,19 @@ title: السمات
|
||||
description: اختر سمة مدمجة أو عرّف سمة خاصة بك.
|
||||
---
|
||||
|
||||
مع OpenCode يمكنك الاختيار من بين عدة سمات مدمجة، أو استخدام سمة تتكيّف مع سمة طرفيتك، أو تعريف سمة مخصصة خاصة بك.
|
||||
مع OpenCode يمكنك الاختيار من بين عدة سمات مدمجة، أو استخدام سمة تتكيّف مع سمة terminal لديك، أو تعريف سمة مخصصة خاصة بك.
|
||||
|
||||
افتراضيًا، يستخدم OpenCode سمتنا `opencode`.
|
||||
|
||||
---
|
||||
|
||||
## متطلبات الطرفية
|
||||
## متطلبات terminal
|
||||
|
||||
لكي تُعرض السمات بشكل صحيح مع لوحة ألوانها الكاملة، يجب أن تدعم طرفيتك **truecolor** (ألوان 24-بت). تدعم معظم الطرفيات الحديثة ذلك افتراضيًا، لكن قد تحتاج إلى تفعيله:
|
||||
لكي تُعرض السمات بشكل صحيح مع لوحة ألوانها الكاملة، يجب أن يدعم terminal لديك **truecolor** (ألوان 24-بت). تدعم معظم تطبيقات terminal الحديثة ذلك افتراضيًا، لكن قد تحتاج إلى تفعيله:
|
||||
|
||||
- **التحقق من الدعم**: شغّل `echo $COLORTERM` - يجب أن يطبع `truecolor` أو `24bit`
|
||||
- **تفعيل truecolor**: اضبط متغير البيئة `COLORTERM=truecolor` في ملف إعدادات الصدفة
|
||||
- **توافق الطرفية**: تأكد من أن محاكي الطرفية يدعم ألوان 24-بت (معظم الطرفيات الحديثة مثل iTerm2 وAlacritty وKitty وWindows Terminal والإصدارات الحديثة من GNOME Terminal تدعم ذلك)
|
||||
- **تفعيل truecolor**: اضبط متغير البيئة `COLORTERM=truecolor` في ملف إعدادات shell
|
||||
- **توافق terminal**: تأكد من أن محاكي terminal يدعم ألوان 24-بت (معظم تطبيقات terminal الحديثة مثل iTerm2 وAlacritty وKitty وWindows Terminal والإصدارات الحديثة من GNOME Terminal تدعم ذلك)
|
||||
|
||||
بدون دعم truecolor، قد تظهر السمات بدقة ألوان أقل أو تعود إلى أقرب تقريب ضمن 256 لونًا.
|
||||
|
||||
@@ -27,7 +27,7 @@ description: اختر سمة مدمجة أو عرّف سمة خاصة بك.
|
||||
|
||||
| الاسم | الوصف |
|
||||
| ---------------------- | --------------------------------------------------------------------------- |
|
||||
| `system` | يتكيّف مع لون خلفية طرفيتك |
|
||||
| `system` | يتكيّف مع لون خلفية terminal لديك |
|
||||
| `tokyonight` | مبني على سمة [Tokyonight](https://github.com/folke/tokyonight.nvim) |
|
||||
| `everforest` | مبني على سمة [Everforest](https://github.com/sainnhe/everforest) |
|
||||
| `ayu` | مبني على السمة الداكنة [Ayu](https://github.com/ayu-theme) |
|
||||
@@ -45,17 +45,17 @@ description: اختر سمة مدمجة أو عرّف سمة خاصة بك.
|
||||
|
||||
## سمة النظام
|
||||
|
||||
صُممت سمة `system` لتتكيّف تلقائيًا مع مخطط ألوان طرفيتك. وعلى عكس السمات التقليدية التي تستخدم ألوانًا ثابتة، فإن سمة _system_:
|
||||
صُممت سمة `system` لتتكيّف تلقائيًا مع مخطط ألوان terminal لديك. وعلى عكس السمات التقليدية التي تستخدم ألوانًا ثابتة، فإن سمة _system_:
|
||||
|
||||
- **توليد تدرج رمادي**: تنشئ تدرجًا رماديًا مخصصًا اعتمادًا على لون خلفية طرفيتك، بما يضمن أفضل تباين.
|
||||
- **استخدام ألوان ANSI**: تستفيد من ألوان ANSI القياسية (0-15) لإبراز الصياغة وعناصر الواجهة، والتي تحترم لوحة ألوان طرفيتك.
|
||||
- **الحفاظ على افتراضيات الطرفية**: تستخدم `none` لألوان النص والخلفية للحفاظ على مظهر طرفيتك الأصلي.
|
||||
- **توليد تدرج رمادي**: تنشئ تدرجًا رماديًا مخصصًا اعتمادًا على لون خلفية terminal لديك، بما يضمن أفضل تباين.
|
||||
- **استخدام ألوان ANSI**: تستفيد من ألوان ANSI القياسية (0-15) لإبراز الصياغة وعناصر الواجهة، والتي تحترم لوحة ألوان terminal لديك.
|
||||
- **الحفاظ على افتراضيات terminal**: تستخدم `none` لألوان النص والخلفية للحفاظ على مظهر terminal الأصلي.
|
||||
|
||||
سمة النظام مناسبة للمستخدمين الذين:
|
||||
|
||||
- يريدون أن يطابق OpenCode مظهر طرفيتهم
|
||||
- يستخدمون مخططات ألوان مخصصة للطرفية
|
||||
- يفضلون مظهرًا متسقًا عبر جميع تطبيقات الطرفية
|
||||
- يريدون أن يطابق OpenCode مظهر terminal لديهم
|
||||
- يستخدمون مخططات ألوان مخصصة لـ terminal
|
||||
- يفضلون مظهرًا متسقًا عبر جميع تطبيقات terminal
|
||||
|
||||
---
|
||||
|
||||
@@ -119,7 +119,7 @@ vim .opencode/themes/my-theme.json
|
||||
- **ألوان ANSI**: `3` (0-255)
|
||||
- **مراجع الألوان**: `"primary"` أو تعريفات مخصصة
|
||||
- **متغيرات داكن/فاتح**: `{"dark": "#000", "light": "#fff"}`
|
||||
- **بدون لون**: `"none"` - يستخدم اللون الافتراضي للطرفية أو يكون شفافًا
|
||||
- **بدون لون**: `"none"` - يستخدم اللون الافتراضي لـ terminal أو يكون شفافًا
|
||||
|
||||
---
|
||||
|
||||
@@ -129,12 +129,12 @@ vim .opencode/themes/my-theme.json
|
||||
|
||||
---
|
||||
|
||||
### افتراضيات الطرفية
|
||||
### افتراضيات terminal
|
||||
|
||||
يمكن استخدام القيمة الخاصة `"none"` لأي لون لوراثة اللون الافتراضي للطرفية. هذا مفيد خصوصًا لإنشاء سمات تمتزج بسلاسة مع مخطط ألوان طرفيتك:
|
||||
يمكن استخدام القيمة الخاصة `"none"` لأي لون لوراثة اللون الافتراضي لـ terminal. هذا مفيد خصوصًا لإنشاء سمات تمتزج بسلاسة مع مخطط ألوان terminal لديك:
|
||||
|
||||
- `"text": "none"` - يستخدم لون المقدمة الافتراضي للطرفية
|
||||
- `"background": "none"` - يستخدم لون الخلفية الافتراضي للطرفية
|
||||
- `"text": "none"` - يستخدم لون المقدمة الافتراضي لـ terminal
|
||||
- `"background": "none"` - يستخدم لون الخلفية الافتراضي لـ terminal
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ description: إدارة الأدوات التي يمكن لـ LLM استخدام
|
||||
|
||||
### bash
|
||||
|
||||
نفذ أوامر الصدفة (Shell) في بيئة مشروعك.
|
||||
نفذ أوامر shell في بيئة مشروعك.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
@@ -58,7 +58,7 @@ description: إدارة الأدوات التي يمكن لـ LLM استخدام
|
||||
}
|
||||
```
|
||||
|
||||
تتيح هذه الأداة لـ LLM تشغيل أوامر الطرفية مثل `npm install` و`git status` أو أي أمر صدفة آخر.
|
||||
تتيح هذه الأداة لـ LLM تشغيل أوامر terminal مثل `npm install` و`git status` أو أي أمر shell آخر.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ description: المشكلات الشائعة وكيفية حلها.
|
||||
|
||||
تتم تسمية ملفات السجل بطوابع زمنية (مثل `2025-01-09T123456.log`) ويتم الاحتفاظ بأحدث 10 ملفات سجل.
|
||||
|
||||
يمكنك ضبط مستوى السجل باستخدام خيار سطر الأوامر `--log-level` للحصول على معلومات تصحيح أكثر تفصيلا. على سبيل المثال: `opencode --log-level DEBUG`.
|
||||
يمكنك ضبط مستوى السجل باستخدام خيار CLI `--log-level` للحصول على معلومات تصحيح أكثر تفصيلا. على سبيل المثال: `opencode --log-level DEBUG`.
|
||||
|
||||
---
|
||||
|
||||
@@ -138,7 +138,7 @@ description: المشكلات الشائعة وكيفية حلها.
|
||||
|
||||
### Windows: مشكلات الأداء العامة
|
||||
|
||||
إذا كنت تواجه بطءا في الأداء، أو مشكلات في الوصول إلى الملفات، أو مشكلات في الطرفية على Windows، فجرّب استخدام [WSL (نظام Windows الفرعي لـ Linux)](/docs/windows-wsl). يوفر WSL بيئة Linux تعمل بسلاسة أكبر مع ميزات OpenCode.
|
||||
إذا كنت تواجه بطءا في الأداء، أو مشكلات في الوصول إلى الملفات، أو مشكلات في terminal على Windows، فجرّب استخدام [WSL (نظام Windows الفرعي لـ Linux)](/docs/windows-wsl). يوفر WSL بيئة Linux تعمل بسلاسة أكبر مع ميزات OpenCode.
|
||||
|
||||
---
|
||||
|
||||
@@ -198,7 +198,7 @@ description: المشكلات الشائعة وكيفية حلها.
|
||||
### OpenCode لا يبدأ
|
||||
|
||||
1. تحقق من السجلات بحثا عن رسائل الخطأ
|
||||
2. جرّب التشغيل مع `--print-logs` لرؤية المخرجات في الطرفية
|
||||
2. جرّب التشغيل مع `--print-logs` لرؤية المخرجات في terminal
|
||||
3. تأكد من أنك تستخدم أحدث إصدار عبر `opencode upgrade`
|
||||
|
||||
---
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
---
|
||||
title: TUI
|
||||
description: استخدام واجهة المستخدم الطرفية (TUI) في OpenCode.
|
||||
description: استخدام واجهة المستخدم TUI في OpenCode.
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
|
||||
يوفّر OpenCode واجهة طرفية تفاعلية (TUI) للعمل على مشاريعك باستخدام LLM.
|
||||
يوفّر OpenCode واجهة terminal تفاعلية (TUI) للعمل على مشاريعك باستخدام LLM.
|
||||
|
||||
يؤدي تشغيل OpenCode إلى بدء واجهة TUI للدليل الحالي.
|
||||
|
||||
@@ -45,7 +45,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
|
||||
## أوامر Bash
|
||||
|
||||
ابدأ الرسالة بـ `!` لتشغيل أمر في الصدفة.
|
||||
ابدأ الرسالة بـ `!` لتشغيل أمر في shell.
|
||||
|
||||
```bash frame="none"
|
||||
!ls -la
|
||||
@@ -57,7 +57,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
|
||||
## الأوامر
|
||||
|
||||
عند استخدام واجهة OpenCode الطرفية، يمكنك كتابة `/` متبوعة باسم أمر لتنفيذ الإجراءات بسرعة. مثلا:
|
||||
عند استخدام واجهة OpenCode في terminal، يمكنك كتابة `/` متبوعة باسم أمر لتنفيذ الإجراءات بسرعة. مثلا:
|
||||
|
||||
```bash frame="none"
|
||||
/help
|
||||
@@ -288,7 +288,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
يستخدم الأمران `/editor` و`/export` المحرر المحدد في متغير البيئة `EDITOR`.
|
||||
|
||||
<Tabs>
|
||||
<TabItem label="لينكس/macOS">
|
||||
<TabItem label="Linux/macOS">
|
||||
```bash
|
||||
# Example for nano or vim
|
||||
export EDITOR=nano
|
||||
@@ -299,12 +299,12 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
export EDITOR="code --wait"
|
||||
```
|
||||
|
||||
لجعل ذلك دائما، أضف هذا إلى ملف تهيئة الصدفة لديك؛
|
||||
لجعل ذلك دائما، أضف هذا إلى ملف تهيئة shell لديك؛
|
||||
`~/.bashrc`، `~/.zshrc`، إلخ.
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="ويندوز (CMD)">
|
||||
<TabItem label="Windows (CMD)">
|
||||
```bash
|
||||
set EDITOR=notepad
|
||||
|
||||
@@ -317,7 +317,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="ويندوز (PowerShell)">
|
||||
<TabItem label="Windows (PowerShell)">
|
||||
```powershell
|
||||
$env:EDITOR = "notepad"
|
||||
|
||||
@@ -346,7 +346,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
تحتاج بعض المحررات مثل VS Code إلى التشغيل مع الخيار `--wait`.
|
||||
:::
|
||||
|
||||
تحتاج بعض المحررات إلى وسائط سطر الأوامر لتعمل بوضع الحجب. يجعل الخيار `--wait` عملية المحرر تنتظر حتى يتم إغلاقها.
|
||||
تحتاج بعض المحررات إلى وسائط CLI لتعمل بوضع الحجب. يجعل الخيار `--wait` عملية المحرر تنتظر حتى يتم إغلاقها.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ title: الويب
|
||||
description: استخدام OpenCode في متصفحك.
|
||||
---
|
||||
|
||||
يمكن تشغيل OpenCode كتطبيق ويب داخل متصفحك، ليمنحك تجربة البرمجة القوية بالذكاء الاصطناعي نفسها دون الحاجة إلى الطرفية.
|
||||
يمكن تشغيل OpenCode كتطبيق ويب داخل متصفحك، ليمنحك تجربة البرمجة القوية بالذكاء الاصطناعي نفسها دون الحاجة إلى terminal.
|
||||
|
||||

|
||||
|
||||
@@ -22,14 +22,14 @@ opencode web
|
||||
:::
|
||||
|
||||
:::tip[مستخدمو Windows]
|
||||
لأفضل تجربة، شغّل `opencode web` من [WSL](/docs/windows-wsl) بدلا من PowerShell. يضمن ذلك وصولا صحيحا إلى نظام الملفات وتكاملا أفضل مع الطرفية.
|
||||
لأفضل تجربة، شغّل `opencode web` من [WSL](/docs/windows-wsl) بدلا من PowerShell. يضمن ذلك وصولا صحيحا إلى نظام الملفات وتكاملا أفضل مع terminal.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## الإعدادات
|
||||
|
||||
يمكنك ضبط خادم الويب باستخدام خيارات سطر الأوامر أو عبر [ملف الإعدادات](/docs/config).
|
||||
يمكنك ضبط خادم الويب باستخدام خيارات CLI أو عبر [ملف الإعدادات](/docs/config).
|
||||
|
||||
### المنفذ
|
||||
|
||||
@@ -108,9 +108,9 @@ OPENCODE_SERVER_PASSWORD=secret opencode web
|
||||
|
||||
---
|
||||
|
||||
## إرفاق طرفية
|
||||
## إرفاق terminal
|
||||
|
||||
يمكنك إرفاق واجهة طرفية (TUI) بخادم ويب قيد التشغيل:
|
||||
يمكنك إرفاق واجهة terminal (TUI) بخادم ويب قيد التشغيل:
|
||||
|
||||
```bash
|
||||
# Start the web server
|
||||
@@ -120,7 +120,7 @@ opencode web --port 4096
|
||||
opencode attach http://localhost:4096
|
||||
```
|
||||
|
||||
يتيح لك ذلك استخدام واجهة الويب والطرفية في الوقت نفسه، مع مشاركة الجلسات والحالة نفسها.
|
||||
يتيح لك ذلك استخدام واجهة الويب وterminal في الوقت نفسه، مع مشاركة الجلسات والحالة نفسها.
|
||||
|
||||
---
|
||||
|
||||
@@ -139,4 +139,4 @@ opencode attach http://localhost:4096
|
||||
}
|
||||
```
|
||||
|
||||
تكون خيارات سطر الأوامر ذات أولوية أعلى من إعدادات ملف الإعدادات.
|
||||
تكون خيارات CLI ذات أولوية أعلى من إعدادات ملف الإعدادات.
|
||||
|
||||
@@ -8,7 +8,7 @@ import { Steps } from "@astrojs/starlight/components"
|
||||
رغم أن OpenCode يمكن تشغيله مباشرة على Windows، نوصي باستخدام [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install) للحصول على أفضل تجربة. يوفر WSL بيئة Linux تعمل بسلاسة مع ميزات OpenCode.
|
||||
|
||||
:::tip[لماذا WSL؟]
|
||||
يوفر WSL أداء أفضل لنظام الملفات، ودعمًا كاملًا للطرفية، وتوافقًا مع أدوات التطوير التي يعتمد عليها OpenCode.
|
||||
يوفر WSL أداء أفضل لنظام الملفات، ودعمًا كاملًا لـ terminal، وتوافقًا مع أدوات التطوير التي يعتمد عليها OpenCode.
|
||||
:::
|
||||
|
||||
---
|
||||
@@ -23,7 +23,7 @@ import { Steps } from "@astrojs/starlight/components"
|
||||
|
||||
2. **ثبّت OpenCode داخل WSL**
|
||||
|
||||
بعد إعداد WSL، افتح طرفية WSL وثبّت OpenCode باستخدام إحدى [طرق التثبيت](/docs/).
|
||||
بعد إعداد WSL، افتح terminal داخل WSL وثبّت OpenCode باستخدام إحدى [طرق التثبيت](/docs/).
|
||||
|
||||
```bash
|
||||
curl -fsSL https://opencode.ai/install | bash
|
||||
@@ -73,7 +73,7 @@ OPENCODE_SERVER_PASSWORD=your-password opencode serve --hostname 0.0.0.0
|
||||
|
||||
لأفضل تجربة ويب على Windows:
|
||||
|
||||
1. **شغّل `opencode web` من طرفية WSL** بدلًا من PowerShell:
|
||||
1. **شغّل `opencode web` من terminal داخل WSL** بدلًا من PowerShell:
|
||||
|
||||
```bash
|
||||
opencode web --hostname 0.0.0.0
|
||||
@@ -81,7 +81,7 @@ OPENCODE_SERVER_PASSWORD=your-password opencode serve --hostname 0.0.0.0
|
||||
|
||||
2. **افتحه من متصفح Windows** عبر `http://localhost:<port>` (يعرض OpenCode الرابط)
|
||||
|
||||
تشغيل `opencode web` من WSL يضمن وصولًا صحيحًا لنظام الملفات وتكاملًا أفضل مع الطرفية، مع بقائه متاحًا من متصفح Windows.
|
||||
تشغيل `opencode web` من WSL يضمن وصولًا صحيحًا لنظام الملفات وتكاملًا أفضل مع terminal، مع بقائه متاحًا من متصفح Windows.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user