> ## Documentation Index
> Fetch the complete documentation index at: https://veniceai-mintlify-d2fddb8a.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenCode

> اربط OpenCode بـ Venice عبر مزوّد مخصص متوافق مع OpenAI ليعمل وكيل البرمجة على نماذج Venice الخاصة بملف إعداد واحد.

[OpenCode](https://opencode.ai/) هو وكيل برمجة بالذكاء الاصطناعي للـ terminal. يعمل Venice عبر تكوين موفّر OpenCode المخصص باستخدام المحوّل المتوافق مع OpenAI وبـ base URL مخصص.

<CardGroup cols={3}>
  <Card title="موفّر مخصص" icon="sliders">
    أضف Venice كموفّر في `opencode.json`
  </Card>

  <Card title="متوافق مع OpenAI" icon="plug">
    يستخدم endpoint `/chat/completions` الخاص بـ Venice
  </Card>

  <Card title="مفتاح البيئة" icon="key">
    يقرأ مفتاح API الخاص بك من `VENICE_API_KEY`
  </Card>
</CardGroup>

***

## المتطلبات

* مفتاح Venice API من [venice.ai/settings/api](https://venice.ai/settings/api)
* OpenCode مثبَّت ويعمل على جهازك

***

## الإعداد

<Steps>
  <Step title="عيّن مفتاح Venice API الخاص بك">
    صدّر مفتاح Venice API في shell حيث تشغل OpenCode:

    ```bash theme={null}
    export VENICE_API_KEY="your-api-key"
    ```
  </Step>

  <Step title="أنشئ ملف تكوين OpenCode">
    لإعداد خاص بالمشروع، أنشئ `opencode.json` في جذر مشروعك.

    لإعداد شامل، استخدم `~/.config/opencode/opencode.json` بدلًا من ذلك.
  </Step>

  <Step title="أضف موفّر Venice">
    الصق هذا التكوين في `opencode.json`:

    ```json theme={null}
    {
      "$schema": "https://opencode.ai/config.json",
      "model": "venice/zai-org-glm-5-1",
      "small_model": "venice/zai-org-glm-5-1",
      "provider": {
        "venice": {
          "npm": "@ai-sdk/openai-compatible",
          "name": "Venice AI",
          "options": {
            "baseURL": "https://api.venice.ai/api/v1",
            "apiKey": "{env:VENICE_API_KEY}"
          },
          "models": {
            "zai-org-glm-5-1": {
              "name": "GLM 5.1"
            },
            "kimi-k2-5": {
              "name": "Kimi K2.5"
            },
            "minimax-m25": {
              "name": "MiniMax M2.5"
            }
          }
        }
      }
    }
    ```
  </Step>

  <Step title="شغّل OpenCode">
    ابدأ OpenCode من نفس دليل المشروع:

    ```bash theme={null}
    opencode
    ```

    سيُحمِّل OpenCode `opencode.json`، ويستخدم `VENICE_API_KEY`، ويوجّه نموذج Venice المختار عبر `https://api.venice.ai/api/v1`.
  </Step>
</Steps>

***

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

داخل OpenCode، شغّل:

```txt theme={null}
/models
```

يجب أن ترى نماذج Venice من تكوينك. اختر واحدًا، ثم أرسل مطالبة اختبار صغيرة.

إذا قمت بتعيين `"model": "venice/zai-org-glm-5-1"` كما هو موضح أعلاه، يجب أن يستخدم OpenCode نموذج Venice هذا افتراضيًا. يمكنك تغيير الافتراضي باستبدال `zai-org-glm-5-1` بأي معرّف نموذج من [كتالوج النماذج النصية](/models/text) وإضافته إلى خريطة `models`.

***

## ملاحظات التكوين

* احتفظ بـ `baseURL` مُعيَّنًا إلى `https://api.venice.ai/api/v1`. يستخدم المحوّل المتوافق مع OpenAI في OpenCode هذا الـ base URL لإكمالات المحادثة.
* احتفظ بـ `npm` مُعيَّنًا إلى `@ai-sdk/openai-compatible` لـ endpoint محادثة Venice المتوافق مع OpenAI.
* معرّف الموفّر هو `venice`، لذا تستخدم إشارات النموذج تنسيق `venice/<model-id>`.
* إذا فضّلت تدفق `/connect` في OpenCode، اختر **Other**، استخدم `venice` كمعرّف الموفّر، الصق مفتاح Venice API الخاص بك، وأزل `options.apiKey` من التكوين.

<Info>
  يدعم OpenCode بالفعل قيم `baseURL` المخصصة للموفّر والموفّرين المتوافقين مع OpenAI عبر `@ai-sdk/openai-compatible`. لا تتطلب نواة OpenCode تغييرات في الموفّر من أجل Venice.
</Info>

***

## الموارد

<CardGroup cols={2}>
  <Card title="نماذج Venice النصية" icon="list" href="/models/text">
    معرّفات نماذج Venice المتاحة
  </Card>

  <Card title="وثائق موفّر OpenCode" icon="book" href="https://opencode.ai/docs/providers/">
    مرجع الموفّر المخصص و base URL
  </Card>
</CardGroup>
