> ## Documentation Index
> Fetch the complete documentation index at: https://docs.venice.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Xcode

> أضف Venice كمزوّد دردشة في إعدادات Intelligence في Xcode لاستخدام نماذج Venice الخاصة في مساعد البرمجة في Xcode على macOS.

يتضمن [Xcode](https://developer.apple.com/xcode/) مساعدًا برمجيًا يمكنه الإجابة عن الأسئلة المتعلقة بمشروعك، وكتابة الكود وإعادة هيكلته، وإصلاح الأخطاء. إلى جانب المزوّدين المدمجين، يقبل Xcode أي مزوّد دردشة يدعم Chat Completions API، لذا يمكنك إضافة Venice في إعدادات Intelligence في Xcode واستخدام نماذج Venice في محادثات مساعد البرمجة.

> **مساعد البرمجة**
>
> اطرح الأسئلة وأنشئ الكود وأعد هيكلته باستخدام نماذج Venice

> **اتصال مباشر**
>
> يرسل Xcode الطلبات من جهاز Mac الخاص بك مباشرةً إلى Venice

> **خيار الخصوصية**
>
> اختر نموذجًا بمستوى الخصوصية الذي يحتاجه الكود الخاص بك

***

## المتطلبات

* مفتاح Venice API من [venice.ai/settings/api](https://venice.ai/settings/api?utm_source=venice-api-documentation)
* [Xcode](https://developer.apple.com/xcode/) 26.3 أو أحدث (قد تفقد إصدارات Xcode 26 الأقدم مزوّدي الدردشة المخصصين عند إعادة تشغيل Xcode)
* macOS Tahoe 26 أو أحدث (يتطلب Xcode 27 نظام macOS Tahoe 26.6 أو أحدث وجهاز Mac بشريحة Apple silicon)

***

## الإعداد

**1. احصل على مفتاح Venice API**

أنشئ مفتاحًا من [venice.ai/settings/api](https://venice.ai/settings/api?utm_source=venice-api-documentation). يكفي مفتاح من نوع **Inference Only** لـ Xcode.

يُستحسن إنشاء مفتاح مخصص مع **Epoch Consumption Limit**، حتى تتمكن من تحديد سقف لما ينفقه Xcode وإلغاء المفتاح دون التأثير على التطبيقات الأخرى. راجع [إنشاء مفتاح API](https://docs.venice.ai/ar/guides/getting-started/generating-api-key.md).

**2. افتح إعدادات Intelligence**

في Xcode، اختر **Xcode > Settings** وحدد **Intelligence** في الشريط الجانبي.

**3. أضف Venice كمزوّد دردشة**

ضمن **Chat**، انقر على **Add a Chat Provider** وحدد **Internet Hosted**. تُسمّي بعض إصدارات Xcode 26 هذا الزر **Add a Model Provider**.

أدخل القيم التالية، ثم انقر على **Add**:

| الحقل | القيمة |
| - | - |
| URL | `https://api.venice.ai/api` |
| API Key | `Bearer your-venice-api-key` |
| API Key Header | `Authorization` |
| Description | `Venice` |

احتفظ بعنوان URL كما هو تمامًا، دون `/v1` ودون شرطة مائلة في النهاية. يُلحق Xcode به `/v1/models` و`/v1/chat/completions`، مما ينتج عنه نقاط endpoint القياسية الخاصة بـ Venice ضمن `https://api.venice.ai/api/v1`.

يرسل Xcode حقل **API Key** كقيمة كاملة لترويسة `Authorization`. استبدل `your-venice-api-key` بمفتاحك واحتفظ بالبادئة `Bearer `.

**4. اختر نماذجك**

حدد مزوّد Venice ضمن **Chat**. يجلب Xcode قائمة النماذج من Venice. فعّل النماذج التي تريد استخدامها، وضع نجمة على النماذج التي تستخدمها أكثر لتظهر في أعلى قائمة النماذج.

تتضمن القائمة كل نماذج Venice النصية، لكن مساعد البرمجة لا يعمل إلا مع النماذج التي تدعم استدعاء الأدوات (tool calling). راجع [متطلبات النموذج](#متطلبات-النموذج) قبل الاختيار، أو ابدأ بـ `z-ai-glm-5-3-flash`.

**5. ابدأ محادثة**

افتح مشروعًا، ثم انقر على زر **Coding Assistant** أو اضغط **Command-0**. انقر على **New Conversation** واختر نموذج Venice ضمن **Chat**. يُظهر النص النائب في حقل الرسالة النموذج الذي تستخدمه المحادثة.

أرسل طلبًا قصيرًا لاختبار الاتصال:

```txt theme={"system"}
Summarize what this project does in three bullet points.
```

***

## التحقق من الإعداد

إرسال الطلب التجريبي هو الاختبار الحقيقي. لا تُثبت قائمة النماذج الكاملة في Xcode أن مفتاحك يعمل، لأن نقطة endpoint ‏`GET /models` في Venice تُعيد الكتالوج سواء كان المفتاح صالحًا أم لا. لا يتحقق Venice من المفتاح إلا عند إرسال رسالة.

إذا فشل الطلب، تحقق من مفتاح API خارج Xcode:

```bash theme={"system"}
curl https://api.venice.ai/api/v1/api_keys/rate_limits \
  -H "Authorization: Bearer $VENICE_API_KEY"
```

تتطلب نقطة endpoint هذه مفتاحًا صالحًا، لذا فإن ظهور `401` هنا يشير إلى المفتاح وليس إلى تكوين Xcode. إذا كان المفتاح يعمل، فقارن إعدادات المزوّد بما ورد في [استكشاف الأخطاء وإصلاحها](#استكشاف-الأخطاء-وإصلاحها).

***

## متطلبات النموذج

> [!WARNING]
>
> **يجب أن يدعم النموذج استدعاء الأدوات.** في محادثات الدردشة، يمنح Xcode النموذج أدوات للبحث في مشروعك وتعديله، لذا لا يستطيع النموذج الذي لا يدعم استدعاء الأدوات التعامل مع طلبات مساعد البرمجة.

يُدرج [كتالوج النماذج النصية](https://docs.venice.ai/ar/models/text.md) هذه القدرة باسم **Function Calling**، وتدعمها معظم نماذج Venice النصية.

من الأفضل أيضًا أن تكون نافذة السياق للنموذج 200 ألف token أو أكثر. لا يوفّر Xcode إعدادًا لنافذة السياق لمزوّدي الدردشة، ومع تفعيل **Project Context** قد يتضمن الطلب قدرًا كبيرًا من كود المشروع بالإضافة إلى تعريفات أدوات Xcode.

لعرض نماذج Venice التي تستوفي كلا المتطلبين:

```bash theme={"system"}
curl -s https://api.venice.ai/api/v1/models \
  | jq -r '.data[] | select(.model_spec.capabilities.supportsFunctionCalling and .model_spec.availableContextTokens >= 200000) | .id'
```

***

## اختيار النماذج

تستوفي هذه النماذج كلا المتطلبين:

| حالة الاستخدام | مثال على معرّف النموذج |
| - | - |
| البرمجة | `deepseek-v4-pro-0813` |
| تكلفة أقل | `z-ai-glm-5-3-flash` |
| أصعب المهام | `grok-4-7` |
| لقطات الشاشة والنماذج التصميمية مع **Upload files** | `qwen-3-8-27b` |

عند مقارنة نماذج أخرى:

* تُعيد [`GET /models/traits?type=text`](https://docs.venice.ai/ar/api-reference/endpoint/models/traits) الاختيارات الحالية لـ Venice، مثل `default_code` للبرمجة.
* يجعل **Project Context** الطلبات كبيرة، لذا يكتسب تسعير tokens الإدخال أهمية أكبر من المعتاد. قارن الأسعار في [كتالوج النماذج النصية](https://docs.venice.ai/ar/models/text.md).

يُوقف Venice النماذج ويستبدلها بانتظام. إذا توقف نموذج عن العمل، فراجع [الإيقافات](https://docs.venice.ai/ar/overview/deprecations.md) وانتقل إلى نموذج حالي.

***

## الوكلاء

لا يُشغّل مزوّدو الدردشة سوى محادثات الدردشة. يتم تكوين الوكلاء المدمجين في Xcode، مثل Claude Agent وCodex، وأي وكلاء تضيفهم عبر Agent Client Protocol (ACP) بشكل منفصل، ولا يرسلون الطلبات عبر مزوّد دردشة. كما يحصل الوكلاء على قدرات أكثر من Xcode مقارنةً بالدردشة، مثل بناء تطبيقك واختباره.

لتشغيل وكيل على نماذج Venice مع إمكانية الوصول إلى مشروع Xcode الخاص بك، قم بتكوين وكيل طرفية لـ Venice واربطه بخادم Model Context Protocol (MCP) الذي يوفّره Xcode 26.3 والإصدارات الأحدث:

**1. اسمح بالوكلاء الخارجيين**

في إعدادات Intelligence في Xcode، ضمن **Model Context Protocol**، فعّل **Allow external agents to use Xcode tools**.

**2. أعدّ الوكيل مع Venice**

اتبع دليل [Codex CLI](https://docs.venice.ai/ar/guides/integrations/codex-cli.md) أو [Claude Code](https://docs.venice.ai/ar/guides/integrations/claude-code.md).

**3. اربط الوكيل بـ Xcode**

سجّل خادم MCP الخاص بـ Xcode لدى الوكيل:

```bash Codex CLI theme={"system"}
codex mcp add xcode -- xcrun mcpbridge
```

```bash Claude Code theme={"system"}
claude mcp add --transport stdio xcode -- xcrun mcpbridge
```

**4. أرسل الطلبات إلى الوكيل**

افتح مشروعك في Xcode أولًا، ثم أرسل الطلبات إلى الوكيل في Terminal. ينبّهك Xcode عند اتصال الوكيل.

***

## الخصوصية

يرسل Xcode طلبات الدردشة من جهاز Mac الخاص بك مباشرةً إلى Venice. يكون **Project Context** مفعّلًا افتراضيًا في محادثات الدردشة، لذا يُضمّن Xcode الكود ذا الصلة وسياقًا آخر من مشروعك في كل طلب. للحد مما يرسله Xcode، أوقف **Project Context** في حقل الرسالة وأشر إلى الملفات والرموز صراحةً باستخدام `@`.

لا يخزّن Venice محتوى الطلبات والردود ولا يسجّله في الوكيل الوسيط (proxy) الخاص به. يحدد النموذج الذي تختاره مستوى الخصوصية أثناء التشغيل:

* تستخدم نماذج **Private** بنية تحتية لا تحتفظ بأي بيانات.
* تُخفي نماذج **Anonymized** هويتك عن المزوّد الأصلي، لكن هذا المزوّد يمكنه معالجة الكود الخاص بك.
* تعمل نماذج **TEE**، ذات معرّفات النماذج `e2ee-`، داخل بيئة عتادية معزولة (enclave). لا يستطيع Xcode تشفير الطلبات على جهاز Mac الخاص بك، لذا تعمل هذه النماذج في وضع TEE بدلًا من وضع التشفير من طرف إلى طرف عند استخدامها من Xcode.

تحقق من تصنيف الخصوصية لكل نموذج في [كتالوج النماذج النصية](https://docs.venice.ai/ar/models/text.md) واقرأ [خصوصية Venice](https://docs.venice.ai/ar/overview/privacy.md) قبل إرسال كود مملوك.

***

## استكشاف الأخطاء وإصلاحها

> **خطأ 401 أو خطأ في المصادقة**
>
> تأكد من أن **API Key** هو `Bearer ` متبوعًا بمفتاح Venice من [venice.ai/settings/api](https://venice.ai/settings/api?utm_source=venice-api-documentation)، دون مسافات إضافية. يحمّل Xcode قائمة النماذج حتى مع مفتاح خاطئ، لأن تلك القائمة عامة، لذا لا تظهر أخطاء المصادقة إلا عند إرسال رسالة. اختبر المفتاح باستخدام الأمر الوارد في [التحقق من الإعداد](#التحقق-من-الإعداد).

> **لا يستطيع Xcode تحميل النماذج أو يرفض المزوّد**
>
> تحقق من أن عنوان URL هو `https://api.venice.ai/api` تمامًا. يؤدي عنوان URL المنتهي بـ `/v1` إلى أن يطلب Xcode ‏`/api/v1/v1/models`، وتُنتج الشرطة المائلة في النهاية `/api//v1/models`. يُعيد Venice ‏`404` في الحالتين. أضف المزوّد مرة أخرى بعنوان URL المصحّح.

> **أخطاء endpoint عند إرسال رسالة**
>
> تحقق من أن المحادثة تستخدم نموذجًا يدعم استدعاء الأدوات، ومن الأفضل أن تكون نافذة السياق له 200 ألف token أو أكثر. يرسل Xcode تعريفات الأدوات وسياق المشروع مع كل طلب: لا يستطيع النموذج الذي لا يدعم استدعاء الأدوات التعامل معها، وقد يتجاوز المشروع الكبير نافذة سياق أصغر. فعّل نموذجًا يستوفي [متطلبات النموذج](#متطلبات-النموذج)، ثم ابدأ محادثة جديدة معه.

> **خطأ 402 أو خطأ الدفع مطلوب**
>
> يُعيد Venice ‏`402` في حالتين:
>
> * وصل الطلب إلى Venice دون ترويسة `Authorization`. يتجاهل Venice الترويسات الأخرى، مثل `x-api-key`، ويرد بتحدي دفع x402. اضبط **API Key Header** على `Authorization`.
> * بلغ المفتاح حد الإنفاق الخاص به، أو نفد رصيدك. راجع [استكشاف أخطاء حد الإنفاق وإصلاحها](https://docs.venice.ai/ar/guides/getting-started/generating-api-key.md#استكشاف-أخطاء-حدود-الإنفاق-وإصلاحها).

> **النموذج غير موجود**
>
> ربما أوقف Venice هذا النموذج. راجع [الإيقافات](https://docs.venice.ai/ar/overview/deprecations.md)، واختر نموذجًا حاليًا من قائمة نماذج المزوّد، وابدأ محادثة جديدة.

***

## الموارد

> **[إعداد الذكاء البرمجي](https://developer.apple.com/documentation/xcode/setting-up-coding-intelligence)**
>
> دليل Apple للوكلاء ومزوّدي الدردشة في Xcode

> **[كتابة الكود باستخدام Intelligence](https://developer.apple.com/documentation/xcode/writing-code-with-intelligence-in-xcode)**
>
> استخدم مساعد البرمجة وسياق المشروع والسجل

> **[نماذج Venice النصية](https://docs.venice.ai/ar/models/text.md)**
>
> تصفّح معرّفات النماذج الحالية وقدراتها ومستويات الخصوصية

> **[إنشاء مفتاح API](https://docs.venice.ai/ar/guides/getting-started/generating-api-key.md)**
>
> أنشئ مفتاحًا مخصصًا مع حدود للإنفاق


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.