diff options
| author | opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> | 2026-02-09 17:35:30 +0000 |
|---|---|---|
| committer | opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> | 2026-02-09 17:35:30 +0000 |
| commit | d578f80f0055082cc7befd29b2ce6bda7326d29f (patch) | |
| tree | 5ca2ee868fe480104a5464260a8b114c3ef4ec71 /packages/web/src/content/docs/ar | |
| parent | dc53086c1e73d43d3a28fc4cdf161e83d09b1877 (diff) | |
| download | opencode-d578f80f0055082cc7befd29b2ce6bda7326d29f.tar.gz opencode-d578f80f0055082cc7befd29b2ce6bda7326d29f.zip | |
chore: generate
Diffstat (limited to 'packages/web/src/content/docs/ar')
| -rw-r--r-- | packages/web/src/content/docs/ar/acp.mdx | 2 | ||||
| -rw-r--r-- | packages/web/src/content/docs/ar/custom-tools.mdx | 8 | ||||
| -rw-r--r-- | packages/web/src/content/docs/ar/ecosystem.mdx | 3 | ||||
| -rw-r--r-- | packages/web/src/content/docs/ar/formatters.mdx | 50 | ||||
| -rw-r--r-- | packages/web/src/content/docs/ar/mcp-servers.mdx | 19 | ||||
| -rw-r--r-- | packages/web/src/content/docs/ar/permissions.mdx | 10 | ||||
| -rw-r--r-- | packages/web/src/content/docs/ar/providers.mdx | 26 | ||||
| -rw-r--r-- | packages/web/src/content/docs/ar/tui.mdx | 1 |
8 files changed, 92 insertions, 27 deletions
diff --git a/packages/web/src/content/docs/ar/acp.mdx b/packages/web/src/content/docs/ar/acp.mdx index 35b20b2d6..9f4f950a5 100644 --- a/packages/web/src/content/docs/ar/acp.mdx +++ b/packages/web/src/content/docs/ar/acp.mdx @@ -14,6 +14,7 @@ ACP بروتوكول مفتوح يوحّد آلية التواصل بين محر --- ## الإعداد + لاستخدام OpenCode عبر ACP، اضبط محررك ليشغّل الأمر `opencode acp`. يشغّل هذا الأمر OpenCode كعملية فرعية متوافقة مع ACP تتواصل مع محررك عبر JSON-RPC باستخدام stdio. @@ -140,6 +141,7 @@ require("codecompanion").setup({ إذا احتجت إلى تمرير متغيرات البيئة (مثل `OPENCODE_API_KEY`)، فارجع إلى [Configuring Adapters: Environment Variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) ضمن توثيق CodeCompanion.nvim للاطلاع على التفاصيل كاملة. ## الدعم + يعمل OpenCode عبر ACP بالطريقة نفسها التي يعمل بها في الطرفية. جميع الميزات مدعومة: :::note diff --git a/packages/web/src/content/docs/ar/custom-tools.mdx b/packages/web/src/content/docs/ar/custom-tools.mdx index a0409255a..9382627fa 100644 --- a/packages/web/src/content/docs/ar/custom-tools.mdx +++ b/packages/web/src/content/docs/ar/custom-tools.mdx @@ -8,11 +8,13 @@ description: أنشئ أدوات يمكن لـ LLM استدعاؤها في openc --- ## إنشاء أداة + تُعرّف الأدوات كملفات **TypeScript** أو **JavaScript**. لكن تعريف الأداة يمكنه استدعاء سكربتات مكتوبة **بأي لغة** — إذ تُستخدم TypeScript أو JavaScript فقط لتعريف الأداة نفسه. --- ### الموقع + يمكن تعريفها: - محليا بوضعها في مجلد `.opencode/tools/` داخل مشروعك. @@ -21,6 +23,7 @@ description: أنشئ أدوات يمكن لـ LLM استدعاؤها في openc --- ### البنية + أسهل طريقة لإنشاء أدوات هي استخدام المساعد `tool()` الذي يوفر أمان الأنواع والتحقق. ```ts title=".opencode/tools/database.ts" {1} @@ -43,6 +46,7 @@ export default tool({ --- #### عدة أدوات في ملف واحد + يمكنك أيضا تصدير عدة أدوات من ملف واحد. يصبح كل تصدير **أداة مستقلة** باسم **`<filename>_<exportname>`**: ```ts title=".opencode/tools/math.ts" @@ -76,6 +80,7 @@ export const multiply = tool({ --- ### الوسائط + يمكنك استخدام `tool.schema`، وهو في الأساس [Zod](https://zod.dev)، لتعريف أنواع الوسائط. ```ts "tool.schema" @@ -104,6 +109,7 @@ export default { --- ### السياق + تستقبل الأدوات سياقا حول الجلسة الحالية: ```ts title=".opencode/tools/project.ts" {8} @@ -126,7 +132,9 @@ export default tool({ --- ## أمثلة + ### كتابة أداة بلغة Python + يمكنك كتابة أدواتك بأي لغة تريدها. إليك مثالا يجمع رقمين باستخدام Python. أولا، أنشئ الأداة كسكربت Python: diff --git a/packages/web/src/content/docs/ar/ecosystem.mdx b/packages/web/src/content/docs/ar/ecosystem.mdx index 4bf9af0c6..89a4c4261 100644 --- a/packages/web/src/content/docs/ar/ecosystem.mdx +++ b/packages/web/src/content/docs/ar/ecosystem.mdx @@ -14,6 +14,7 @@ description: مشاريع وتكاملات مبنية باستخدام OpenCode. --- ## الإضافات + | الاسم | الوصف | | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | تشغيل جلسات OpenCode تلقائيا داخل بيئات Daytona معزولة مع مزامنة git ومعاينات حية | @@ -50,6 +51,7 @@ description: مشاريع وتكاملات مبنية باستخدام OpenCode. --- ## المشاريع + | الاسم | الوصف | | ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------- | | [kimaki](https://github.com/remorses/kimaki) | بوت Discord للتحكم بجلسات OpenCode، مبني على SDK | @@ -67,6 +69,7 @@ description: مشاريع وتكاملات مبنية باستخدام OpenCode. --- ## الوكلاء + | الاسم | الوصف | | ----------------------------------------------------------------- | --------------------------------------------- | | [Agentic](https://github.com/Cluster444/agentic) | وكلاء وأوامر ذكاء اصطناعي معيارية لتطوير منظم | diff --git a/packages/web/src/content/docs/ar/formatters.mdx b/packages/web/src/content/docs/ar/formatters.mdx index a17e6ad2c..a1d5478af 100644 --- a/packages/web/src/content/docs/ar/formatters.mdx +++ b/packages/web/src/content/docs/ar/formatters.mdx @@ -11,32 +11,32 @@ description: يستخدم OpenCode مُنسِّقات خاصة بكل لغة. يأتي OpenCode مع عدة مُنسِّقات مُضمَّنة للغات وأطر العمل الشائعة. فيما يلي قائمة بالمُنسِّقات وامتدادات الملفات المدعومة والأوامر أو خيارات الإعداد التي تحتاجها. -| المُنسِّق | الامتدادات | المتطلبات | -| -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -| gofmt | .go | يتوفر أمر `gofmt` | -| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | يتوفر أمر `mix` | -| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml، و[غير ذلك](https://prettier.io/docs/en/index.html) | وجود اعتماد `prettier` في `package.json` | -| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml، و[غير ذلك](https://biomejs.dev/) | ملف إعداد `biome.json(c)` | -| zig | .zig, .zon | يتوفر أمر `zig` | -| clang-format | .c, .cpp, .h, .hpp, .ino، و[غير ذلك](https://clang.llvm.org/docs/ClangFormat.html) | ملف إعداد `.clang-format` | -| ktlint | .kt, .kts | يتوفر أمر `ktlint` | -| ruff | .py, .pyi | يتوفر أمر `ruff` مع إعداد | -| rustfmt | .rs | يتوفر أمر `rustfmt` | -| cargofmt | .rs | يتوفر أمر `cargo fmt` | -| uv | .py, .pyi | يتوفر أمر `uv` | -| rubocop | .rb, .rake, .gemspec, .ru | يتوفر أمر `rubocop` | -| standardrb | .rb, .rake, .gemspec, .ru | يتوفر أمر `standardrb` | -| htmlbeautifier | .erb, .html.erb | يتوفر أمر `htmlbeautifier` | -| air | .R | يتوفر أمر `air` | -| dart | .dart | يتوفر أمر `dart` | -| ocamlformat | .ml, .mli | يتوفر أمر `ocamlformat` وملف إعداد `.ocamlformat` | -| terraform | .tf, .tfvars | يتوفر أمر `terraform` | -| gleam | .gleam | يتوفر أمر `gleam` | -| nixfmt | .nix | يتوفر أمر `nixfmt` | -| shfmt | .sh, .bash | يتوفر أمر `shfmt` | -| pint | .php | وجود اعتماد `laravel/pint` في `composer.json` | +| المُنسِّق | الامتدادات | المتطلبات | +| -------------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| gofmt | .go | يتوفر أمر `gofmt` | +| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | يتوفر أمر `mix` | +| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml، و[غير ذلك](https://prettier.io/docs/en/index.html) | وجود اعتماد `prettier` في `package.json` | +| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml، و[غير ذلك](https://biomejs.dev/) | ملف إعداد `biome.json(c)` | +| zig | .zig, .zon | يتوفر أمر `zig` | +| clang-format | .c, .cpp, .h, .hpp, .ino، و[غير ذلك](https://clang.llvm.org/docs/ClangFormat.html) | ملف إعداد `.clang-format` | +| ktlint | .kt, .kts | يتوفر أمر `ktlint` | +| ruff | .py, .pyi | يتوفر أمر `ruff` مع إعداد | +| rustfmt | .rs | يتوفر أمر `rustfmt` | +| cargofmt | .rs | يتوفر أمر `cargo fmt` | +| uv | .py, .pyi | يتوفر أمر `uv` | +| rubocop | .rb, .rake, .gemspec, .ru | يتوفر أمر `rubocop` | +| standardrb | .rb, .rake, .gemspec, .ru | يتوفر أمر `standardrb` | +| htmlbeautifier | .erb, .html.erb | يتوفر أمر `htmlbeautifier` | +| air | .R | يتوفر أمر `air` | +| dart | .dart | يتوفر أمر `dart` | +| ocamlformat | .ml, .mli | يتوفر أمر `ocamlformat` وملف إعداد `.ocamlformat` | +| terraform | .tf, .tfvars | يتوفر أمر `terraform` | +| gleam | .gleam | يتوفر أمر `gleam` | +| nixfmt | .nix | يتوفر أمر `nixfmt` | +| shfmt | .sh, .bash | يتوفر أمر `shfmt` | +| pint | .php | وجود اعتماد `laravel/pint` في `composer.json` | | oxfmt (Experimental) | .js, .jsx, .ts, .tsx | وجود اعتماد `oxfmt` في `package.json` و[علم متغير بيئة تجريبي](/docs/cli/#experimental) | -| ormolu | .hs | يتوفر أمر `ormolu` | +| ormolu | .hs | يتوفر أمر `ormolu` | لذا إذا كان مشروعك يتضمن `prettier` ضمن `package.json`، فسيستخدمه OpenCode تلقائيا. diff --git a/packages/web/src/content/docs/ar/mcp-servers.mdx b/packages/web/src/content/docs/ar/mcp-servers.mdx index f457de524..8ca5212c4 100644 --- a/packages/web/src/content/docs/ar/mcp-servers.mdx +++ b/packages/web/src/content/docs/ar/mcp-servers.mdx @@ -10,6 +10,7 @@ description: أضف أدوات MCP محلية وبعيدة. --- #### تنبيهات + عند استخدام خادم MCP فإنه يضيف إلى السياق. وقد يتراكم ذلك بسرعة إذا كان لديك الكثير من الأدوات. لذلك نوصي بالتحلّي بالحذر عند اختيار خوادم MCP التي تستخدمها. :::tip @@ -21,6 +22,7 @@ description: أضف أدوات MCP محلية وبعيدة. --- ## التمكين + يمكنك تعريف خوادم MCP في [إعدادات OpenCode](https://opencode.ai/docs/config/) ضمن `mcp`. أضف كل خادم MCP باسم فريد. ويمكنك الإشارة إلى ذلك الخادم بالاسم عند توجيه الطلب إلى الـ LLM. ```jsonc title="opencode.jsonc" {6} @@ -43,6 +45,7 @@ description: أضف أدوات MCP محلية وبعيدة. --- ### تجاوز القيم الافتراضية البعيدة + يمكن للمنظمات توفير خوادم MCP الافتراضية عبر نقطة النهاية `.well-known/opencode` الخاصة بها. قد تكون هذه الخوادم معطّلة افتراضيا، مما يتيح للمستخدمين تفعيل ما يحتاجونه فقط. لتفعيل خادم معيّن من الإعدادات البعيدة الخاصة بمؤسستك، أضفه إلى إعداداتك المحلية مع `enabled: true`: @@ -65,6 +68,7 @@ description: أضف أدوات MCP محلية وبعيدة. --- ## محلي + أضف خوادم MCP المحلية عبر ضبط `type` على `"local"` ضمن كائن `mcp`. ```jsonc title="opencode.jsonc" {15} @@ -109,6 +113,7 @@ use the mcp_everything tool to add the number 3 and 4 --- #### الخيارات + فيما يلي جميع الخيارات المتاحة لتهيئة خادم MCP محلي. | الخيار | النوع | مطلوب | الوصف | @@ -122,6 +127,7 @@ use the mcp_everything tool to add the number 3 and 4 --- ## بعيد + أضف خوادم MCP البعيدة عبر ضبط `type` على `"remote"`. ```json title="opencode.json" @@ -145,6 +151,7 @@ use the mcp_everything tool to add the number 3 and 4 --- #### الخيارات + | الخيار | النوع | مطلوب | الوصف | | --------- | ------- | ----- | -------------------------------------------------------------------------------- | | `type` | String | Y | نوع اتصال خادم MCP، ويجب أن يكون `"remote"`. | @@ -157,6 +164,7 @@ use the mcp_everything tool to add the number 3 and 4 --- ## OAuth + يتولى OpenCode تلقائيا معالجة مصادقة OAuth لخوادم MCP البعيدة. عندما يتطلب خادم ما المصادقة، سيقوم OpenCode بما يلي: 1. اكتشاف استجابة 401 وبدء تدفق OAuth @@ -166,6 +174,7 @@ use the mcp_everything tool to add the number 3 and 4 --- ### تلقائي + بالنسبة لمعظم خوادم MCP التي تدعم OAuth، لا تحتاج إلى إعدادات خاصة. ما عليك سوى تهيئة الخادم البعيد: ```json title="opencode.json" @@ -185,6 +194,7 @@ use the mcp_everything tool to add the number 3 and 4 --- ### مُسجَّل مسبقا + إذا كانت لديك بيانات اعتماد العميل من موفّر خادم MCP، يمكنك تهيئتها: ```json title="opencode.json" {7-11} @@ -207,6 +217,7 @@ use the mcp_everything tool to add the number 3 and 4 --- ### المصادقة + يمكنك تشغيل المصادقة يدويا أو إدارة بيانات الاعتماد. صادِق مع خادم MCP معيّن: @@ -232,6 +243,7 @@ opencode mcp logout my-oauth-server --- #### تعطيل OAuth + إذا أردت تعطيل OAuth التلقائي لخادم ما (على سبيل المثال، للخوادم التي تستخدم مفاتيح API بدلا من ذلك)، فاضبط `oauth` على `false`: ```json title="opencode.json" {7} @@ -253,6 +265,7 @@ opencode mcp logout my-oauth-server --- #### خيارات OAuth + | الخيار | النوع | الوصف | | -------------- | --------------- | ------------------------------------------------------------------------ | | `oauth` | Object \| false | كائن إعدادات OAuth، أو `false` لتعطيل الاكتشاف التلقائي لـ OAuth. | @@ -261,6 +274,7 @@ opencode mcp logout my-oauth-server | `scope` | String | نطاقات OAuth المطلوبة أثناء التفويض. | #### تصحيح الأخطاء + إذا فشل خادم MCP بعيد في المصادقة، يمكنك تشخيص المشكلة باستخدام: ```bash @@ -276,11 +290,13 @@ opencode mcp debug my-oauth-server --- ## الإدارة + تتوفر خوادم MCP لديك كأدوات داخل OpenCode إلى جانب الأدوات المضمنة. لذا يمكنك إدارتها عبر إعدادات OpenCode مثل أي أداة أخرى. --- ### عام + هذا يعني أنه يمكنك تفعيلها أو تعطيلها على مستوى عام. ```json title="opencode.json" {14} @@ -328,6 +344,7 @@ opencode mcp debug my-oauth-server --- ### لكل وكيل + إذا كان لديك عدد كبير من خوادم MCP فقد ترغب في تفعيلها لكل وكيل على حدة وتعطيلها على المستوى العام. للقيام بذلك: 1. عطّلها كأداة على المستوى العام. @@ -359,6 +376,7 @@ opencode mcp debug my-oauth-server --- #### أنماط Glob + يستخدم نمط glob أنماطا بسيطة من مطابقة glob: - `*` يطابق صفرا أو أكثر من أي محرف (على سبيل المثال، `"my-mcp*"` يطابق `my-mcp_search` و`my-mcp_list` وغيرها.) @@ -377,6 +395,7 @@ opencode mcp debug my-oauth-server --- ## أمثلة + فيما يلي أمثلة لبعض خوادم MCP الشائعة. يمكنك إرسال PR إذا أردت توثيق خوادم أخرى. --- diff --git a/packages/web/src/content/docs/ar/permissions.mdx b/packages/web/src/content/docs/ar/permissions.mdx index 37b53db5d..e08e5478f 100644 --- a/packages/web/src/content/docs/ar/permissions.mdx +++ b/packages/web/src/content/docs/ar/permissions.mdx @@ -10,6 +10,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة --- ## الإجراءات + يؤول كل حكم أذونات إلى إحدى القيم التالية: - `"allow"` — تشغيل دون موافقة @@ -19,6 +20,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة --- ## الإعداد + يمكنك تعيين الأذونات بشكل عام (باستخدام `*`) ثم تجاوزها لأدوات محددة. ```json title="opencode.json" @@ -44,6 +46,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة --- ## قواعد دقيقة (صيغة الكائن) + في معظم الأذونات، يمكنك استخدام كائن لتطبيق إجراءات مختلفة بناءً على مُدخلات الأداة. ```json title="opencode.json" @@ -68,6 +71,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة تُقيَّم القواعد عبر مطابقة الأنماط، مع كون **آخر قاعدة مطابقة هي التي تُطبَّق**. من الشائع وضع قاعدة الشمول `"*"` أولًا ثم القواعد الأكثر تحديدًا بعدها. ### أحرف البدل + تستخدم أنماط الأذونات مطابقة بسيطة لأحرف البدل: - `*` يطابق صفرًا أو أكثر من أي حرف @@ -75,6 +79,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة - جميع الأحرف الأخرى تُطابق حرفيًا ### توسيع مجلد المنزل + يمكنك استخدام `~` أو `$HOME` في بداية النمط للإشارة إلى مجلد المنزل. هذا مفيد خصوصًا لقواعد [`external_directory`](#external-directories). - `~/projects/*` -> `/Users/username/projects/*` @@ -82,6 +87,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة - `~` -> `/Users/username` ### الأدلة الخارجية + استخدم `external_directory` للسماح باستدعاءات الأدوات التي تلمس مسارات خارج دليل العمل الذي بدأ منه OpenCode. ينطبق ذلك على أي أداة تأخذ مسارًا كمدخل (مثل `read` و`edit` و`list` و`glob` و`grep` والعديد من أوامر `bash`). توسيع المنزل (مثل `~/...`) يؤثر فقط على طريقة كتابة النمط. لا يجعل ذلك المسار الخارجي جزءًا من مساحة العمل الحالية، لذا يجب السماح بالمسارات خارج دليل العمل عبر `external_directory` أيضًا. @@ -120,6 +126,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة --- ## الأذونات المتاحة + تُعرَّف أذونات OpenCode بأسماء الأدوات، بالإضافة إلى بعض حواجز الأمان: - `read` — قراءة ملف (يطابق مسار الملف) @@ -140,6 +147,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة --- ## القيم الافتراضية + إذا لم تحدد شيئًا، يبدأ OpenCode بقيم افتراضية متساهلة: - معظم الأذونات افتراضيًا تكون `"allow"`. @@ -162,6 +170,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة --- ## ماذا تفعل `"ask"` + عندما يطلب OpenCode الموافقة، تعرض الواجهة ثلاث نتائج ممكنة: - `once` — الموافقة على هذا الطلب فقط @@ -173,6 +182,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة --- ## الوكلاء + يمكنك تجاوز الأذونات لكل وكيل. تُدمَج أذونات الوكلاء مع الإعداد العام، وتكون قواعد الوكيل هي ذات الأولوية. [تعرّف أكثر](/docs/agents#permissions) على أذونات الوكلاء. :::note diff --git a/packages/web/src/content/docs/ar/providers.mdx b/packages/web/src/content/docs/ar/providers.mdx index b3b7c44a3..9927123ab 100644 --- a/packages/web/src/content/docs/ar/providers.mdx +++ b/packages/web/src/content/docs/ar/providers.mdx @@ -16,17 +16,20 @@ export const console = config.console --- ### بيانات الاعتماد + عند إضافة مفاتيح API الخاصة بمزوّد عبر الأمر `/connect`، يتم تخزينها في `~/.local/share/opencode/auth.json`. --- ### الإعدادات + يمكنك تخصيص المزوّدات عبر قسم `provider` في ملف إعدادات OpenCode. --- #### عنوان URL الأساسي + يمكنك تخصيص عنوان URL الأساسي لأي مزوّد عبر خيار `baseURL`. يفيد ذلك عند استخدام خدمات وسيطة (proxy) أو نقاط نهاية مخصّصة. ```json title="opencode.json" {6} @@ -81,6 +84,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد --- ## الدليل + لنلقِ نظرة على بعض المزوّدات بالتفصيل. إذا رغبت في إضافة مزوّد إلى القائمة، فلا تتردد في فتح PR. @@ -131,6 +135,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد 2. **اضبط المصادقة** باستخدام إحدى الطرق التالية: #### متغيرات البيئة (بدء سريع) + عيّن أحد متغيرات البيئة التالية أثناء تشغيل opencode: ```bash @@ -152,6 +157,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد ``` #### ملف الإعدادات (موصى به) + للإعداد الخاص بالمشروع أو الإعداد الدائم، استخدم `opencode.json`: ```json title="opencode.json" @@ -178,6 +184,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد ::: #### متقدم: نقاط نهاية VPC + إذا كنت تستخدم نقاط نهاية VPC لـ Bedrock: ```json title="opencode.json" @@ -199,12 +206,13 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد خيار `endpoint` هو اسم بديل لخيار `baseURL` العام باستخدام مصطلحات AWS. إذا تم تحديد كل من `endpoint` و`baseURL`، فستكون الأولوية لـ `endpoint`. ::: - #### طرق المصادقة - **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`**: أنشئ مستخدم IAM وأنشئ مفاتيح وصول من AWS Console + #### طرق المصادقة - **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`**: أنشئ مستخدم IAM وأنشئ مفاتيح وصول من AWS Console - **`AWS_PROFILE`**: استخدم ملفات تعريف مسمّاة من `~/.aws/credentials`. اضبط أولا عبر `aws configure --profile my-profile` أو `aws sso login` - **`AWS_BEARER_TOKEN_BEDROCK`**: أنشئ مفاتيح API طويلة الأجل من Amazon Bedrock console - **`AWS_WEB_IDENTITY_TOKEN_FILE` / `AWS_ROLE_ARN`**: لـ EKS IRSA (IAM Roles for Service Accounts) أو بيئات Kubernetes أخرى مع اتحاد OIDC. يتم حقن متغيرات البيئة هذه تلقائيا بواسطة Kubernetes عند استخدام تعليقات حساب الخدمة. #### أولوية المصادقة + يستخدم Amazon Bedrock أولوية المصادقة التالية: 1. **Bearer Token** - متغير البيئة `AWS_BEARER_TOKEN_BEDROCK` أو الرمز من الأمر `/connect` 2. **AWS Credential Chain** - الملف الشخصي، مفاتيح الوصول، بيانات الاعتماد المشتركة، أدوار IAM، رموز Web Identity (EKS IRSA)، بيانات تعريف المثيل @@ -273,6 +281,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد ::: ##### استخدام مفاتيح API + يمكنك أيضا اختيار **Create an API Key** إذا لم يكن لديك اشتراك Pro/Max. سيفتح ذلك المتصفح أيضا ويطلب منك تسجيل الدخول إلى Anthropic ويعطيك رمزا يمكنك لصقه في الطرفية. أو إذا كان لديك مفتاح API بالفعل، يمكنك اختيار **Manually enter API Key** ولصقه في الطرفية. @@ -645,9 +654,10 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد ``` #### استخدام OAuth (موصى به) + اختر **OAuth** وسيفتح المتصفح لإتمام التفويض. - #### استخدام Personal Access Token 1. اذهب إلى [GitLab User Settings > Access Tokens](https://gitlab.com/-/user_settings/personal_access_tokens) + #### استخدام Personal Access Token 1. اذهب إلى [GitLab User Settings > Access Tokens](https://gitlab.com/-/user_settings/personal_access_tokens) 2. انقر **Add new token** 3. Name: `OpenCode`، Scopes: `api` 4. انسخ الرمز (يبدأ بـ `glpat-`) @@ -670,6 +680,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد ::: ##### GitLab مستضاف ذاتيا + :::note[ملاحظة امتثال] يستخدم OpenCode نموذجا صغيرا لبعض مهام الذكاء الاصطناعي مثل إنشاء عنوان الجلسة. تم ضبطه لاستخدام gpt-5-nano افتراضيا، مستضافا عبر Zen. لحصر OpenCode @@ -717,6 +728,7 @@ export GITLAB_TOKEN=glpat-... ::: ##### OAuth للمثيلات المستضافة ذاتيا + لكي يعمل Oauth مع مثيلك المستضاف ذاتيا، تحتاج إلى إنشاء تطبيق جديد (Settings → Applications) مع callback URL `http://127.0.0.1:8080/callback` ونطاقات الصلاحيات التالية: @@ -734,6 +746,7 @@ export GITLAB_OAUTH_CLIENT_ID=your_application_id_here مزيد من التوثيق على صفحة [opencode-gitlab-auth](https://www.npmjs.com/package/@gitlab/opencode-gitlab-auth). ##### التهيئة + خصّص عبر `opencode.json`: ```json title="opencode.json" @@ -754,6 +767,7 @@ export GITLAB_OAUTH_CLIENT_ID=your_application_id_here ``` ##### أدوات GitLab API (اختياري، لكن موصى به بشدة) + للوصول إلى أدوات GitLab (merge requests وissues وpipelines وCI/CD وغيرها): ```json title="opencode.json" @@ -933,6 +947,7 @@ export GITLAB_OAUTH_CLIENT_ID=your_application_id_here لمزيد من المزوّدات والميزات المتقدمة مثل التخزين المؤقت (caching) وتحديد المعدّل (rate limiting)، راجع [توثيق Helicone](https://docs.helicone.ai). #### إعدادات اختيارية + إذا رأيت ميزة أو نموذجا في Helicone لم يتم ضبطه تلقائيا عبر opencode، فيمكنك دائما ضبطه بنفسك. هذه هي [Helicone's Model Directory](https://helicone.ai/models)، وستحتاجها للحصول على IDs الخاصة بالنماذج التي تريد إضافتها. @@ -962,6 +977,7 @@ export GITLAB_OAUTH_CLIENT_ID=your_application_id_here ``` #### ترويسات مخصّصة + تدعم Helicone ترويسات مخصّصة لميزات مثل التخزين المؤقت وتتبع المستخدم وإدارة الجلسات. أضفها إلى إعداد المزوّد عبر `options.headers`: ```jsonc title="~/.config/opencode/opencode.jsonc" @@ -984,6 +1000,7 @@ export GITLAB_OAUTH_CLIENT_ID=your_application_id_here ``` ##### تتبع الجلسات + تتيح ميزة [Sessions](https://docs.helicone.ai/features/sessions) في Helicone تجميع طلبات LLM المرتبطة معا. استخدم ملحق [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) لتسجيل كل محادثة OpenCode تلقائيا كجلسة في Helicone. ```bash @@ -1001,6 +1018,7 @@ npm install -g opencode-helicone-session يقوم الملحق بحقن ترويسات `Helicone-Session-Id` و`Helicone-Session-Name` ضمن طلباتك. في صفحة Sessions داخل Helicone، سترى كل محادثة OpenCode مدرجة كجلسة مستقلة. ##### ترويسات Helicone الشائعة + | Header | الوصف | | -------------------------- | -------------------------------------------------------- | | `Helicone-Cache-Enabled` | تفعيل التخزين المؤقت للاستجابات (`true`/`false`) | @@ -1305,6 +1323,7 @@ npm install -g opencode-helicone-session ``` ##### استخدام مفاتيح API + إذا كان لديك مفتاح API بالفعل، يمكنك اختيار **Manually enter API Key** ولصقه في الطرفية. --- @@ -1722,6 +1741,7 @@ OpenCode Zen هي قائمة من النماذج التي تم اختبارها --- ## موفّر مخصّص + لإضافة أي مزوّد **OpenAI-compatible** غير موجود ضمن الأمر `/connect`: :::tip @@ -1808,6 +1828,7 @@ OpenCode Zen هي قائمة من النماذج التي تم اختبارها --- ##### مثال + إليك مثالا يضبط خيارات `apiKey` و`headers` وخيارات `limit` الخاصة بالنموذج. ```json title="opencode.json" {9,11,17-20} @@ -1850,6 +1871,7 @@ OpenCode Zen هي قائمة من النماذج التي تم اختبارها --- ## استكشاف الأخطاء وإصلاحها + إذا كنت تواجه مشكلة في تهيئة مزوّد، فتحقق مما يلي: 1. **تحقق من إعداد auth**: شغّل `opencode auth list` لمعرفة ما إذا كانت بيانات الاعتماد diff --git a/packages/web/src/content/docs/ar/tui.mdx b/packages/web/src/content/docs/ar/tui.mdx index 8ea206db5..9a4e91acc 100644 --- a/packages/web/src/content/docs/ar/tui.mdx +++ b/packages/web/src/content/docs/ar/tui.mdx @@ -284,6 +284,7 @@ How is auth handled in @packages/functions/src/api/index.ts? --- ## إعداد المحرر + يستخدم الأمران `/editor` و`/export` المحرر المحدد في متغير البيئة `EDITOR`. <Tabs> |
