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

# استخدم Codex مع CometAPI

> استخدم هذا الدليل لتهيئة Codex مع CometAPI كمزوّد نماذج من خلال تعديل إعدادات المزوّد في ملف config.toml على مستوى المستخدم.

استخدم هذا الدليل لتشغيل [Codex](https://developers.openai.com/codex/quickstart) مع CometAPI كمزوّد نماذج.

المراجع الرسمية:

* [البدء السريع لـ Codex](https://developers.openai.com/codex/quickstart)
* [أساسيات إعداد Codex](https://developers.openai.com/codex/config-basic)
* [موفرو النماذج المخصصون في Codex](https://developers.openai.com/codex/config-advanced#custom-model-providers)
* [مصادقة Codex](https://developers.openai.com/codex/auth)
* [Codex على Windows](https://developers.openai.com/codex/windows)

## المتطلبات الأساسية

| المتطلب            | التفاصيل                                                                                                 |
| ------------------ | -------------------------------------------------------------------------------------------------------- |
| نظام التشغيل       | macOS وLinux وWindows PowerShell الأصلي أو Windows مع WSL                                                |
| Git                | يُوصى بالإصدار 2.23+                                                                                     |
| Codex              | ثبّت تطبيق Codex أو Codex CLI من [البدء السريع لـ Codex](https://developers.openai.com/codex/quickstart) |
| مفتاح CometAPI API | احصل عليه من [لوحة تحكم CometAPI](https://www.cometapi.com/console/token)                                |
| model ID           | استخدم model ID من [صفحة النماذج](/ar/overview/models)                                                   |

## اختر مسار الإعداد

نوفّر خيارين لمساعدتك على تهيئة Codex بسرعة.

<CardGroup cols={2}>
  <Card title="الخيار 1: تهيئة Codex يدويًا (موصى به)" icon="bolt" href="#configure-codex-manually">
    عدّل ملف `~/.codex/config.toml` على مستوى المستخدم مباشرةً. هذا هو المسار الأكثر موثوقية، خاصةً لمستخدمي Windows وWSL.
  </Card>

  <Card title="الخيار 2: التهيئة عبر سكربت" icon="puzzle-piece" href="#run-the-setup-script">
    شغّل سكربت الإعداد كاختصار. يكتب إعدادات المزوّد نفسها ويخزّن مفتاح CometAPI API لصالح Codex.
  </Card>
</CardGroup>

## تهيئة Codex يدويًا

يقرأ Codex إعدادات المزوّد الافتراضية الشخصية من ملف `~/.codex/config.toml` على مستوى المستخدم. قم بتهيئة مزوّد CometAPI هناك، وليس في ملف `.codex/config.toml` خاص بالمشروع. يتجاهل Codex إعدادات provider وprovider-auth في ملفات تهيئة المشروع.

يستخدم الإعداد الموصى به مزوّدًا مُسمّى `cometapi` ومصادقة مدعومة بأمر. يحافظ ذلك على فصل CometAPI عن مزوّد OpenAI المدمج، ولا يتطلب توريث متغيرات بيئة shell، ولا يستبدل `~/.codex/auth.json`.

<Tabs>
  <Tab title="macOS / Linux / WSL">
    خزّن مفتاح CometAPI API في ملف مفتاح محلي:

    ```bash theme={null}
    mkdir -p "$HOME/.codex"
    printf "%s\n" "$COMETAPI_KEY" > "$HOME/.codex/cometapi_key"
    chmod 600 "$HOME/.codex/cometapi_key"
    ```

    أضف هذا الإعداد إلى `~/.codex/config.toml`:

    ```toml theme={null}
    model_provider = "cometapi"
    model = "your-model-id"

    [model_providers.cometapi]
    name = "CometAPI"
    base_url = "https://api.cometapi.com/v1"
    wire_api = "responses"

    [model_providers.cometapi.auth]
    command = "sh"
    args = ["-c", "cat \"$HOME/.codex/cometapi_key\""]
    ```
  </Tab>

  <Tab title="Windows PowerShell">
    خزّن مفتاح CometAPI API في الدليل الرئيسي لـ Codex على Windows:

    ```powershell theme={null}
    New-Item -ItemType Directory -Force "$HOME\.codex" | Out-Null
    Set-Content -NoNewline -Path "$HOME\.codex\cometapi_key" -Value $env:COMETAPI_KEY
    ```

    أضف هذا الإعداد إلى `$HOME\.codex\config.toml`:

    ```toml theme={null}
    model_provider = "cometapi"
    model = "your-model-id"

    [model_providers.cometapi]
    name = "CometAPI"
    base_url = "https://api.cometapi.com/v1"
    wire_api = "responses"

    [model_providers.cometapi.auth]
    command = "powershell.exe"
    args = [
      "-NoProfile",
      "-Command",
      "$p=Join-Path $HOME '.codex/cometapi_key'; (Get-Content -Raw $p).Trim()",
    ]
    ```
  </Tab>
</Tabs>

<Note>
  يستخدم Codex الأصلي على Windows المسار `$HOME\.codex`، والذي يكون عادةً `C:\Users\<user>\.codex`. أما WSL فيستخدم `~/.codex` الخاص بتوزيعة Linux. عدّل الدليل المطابق للبيئة التي يعمل فيها وكيل Codex.
</Note>

## استخدام المصادقة عبر متغير البيئة

إذا كنت تفضل الاحتفاظ بمفتاح CometAPI API في متغير بيئة، فاستخدم `env_key` بدلًا من كتلة `[model_providers.cometapi.auth]`.

استخدم إعداد المزوّد هذا فقط عندما يكون `COMETAPI_KEY` متاحًا في البيئة التي تُشغّل Codex:

```toml theme={null}
model_provider = "cometapi"
model = "your-model-id"

[model_providers.cometapi]
name = "CometAPI"
base_url = "https://api.cometapi.com/v1"
wire_api = "responses"
env_key = "COMETAPI_KEY"
```

<Warning>
  لا تجمع بين `env_key` و`[model_providers.cometapi.auth]`. يدعم Codex طريقة مصادقة واحدة لكل مزوّد مخصص.
</Warning>

## شغّل سكربت الإعداد

سكربت الإعداد اختياري. وهو يكتب إعدادات مزوّد `cometapi` نفسها إلى `~/.codex/config.toml`، ويخزّن مفتاح CometAPI API الخاص بك في `~/.codex/cometapi_key`، وينشئ نسخًا احتياطية قبل تغيير الملفات، ويتحقق من الإعداد باستخدام `codex exec` عندما تكون أداة Codex CLI متاحة.

لنظام macOS أو Linux أو WSL، شغّل المُثبّت التفاعلي:

```bash theme={null}
sh -c "$(curl -fsSL https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.sh)"
```

للإعداد غير التفاعلي، مرّر مفتاح API بشكل صريح:

```bash theme={null}
curl -fsSL https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.sh | sh -s -- --key "$COMETAPI_KEY"
```

بالنسبة إلى Windows PowerShell الأصلي، شغّل المُثبّت التفاعلي:

```powershell theme={null}
powershell -c "irm 'https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.ps1' | iex"
```

لإعداد Windows غير التفاعلي، مرّر مفتاح API بشكل صريح:

```powershell theme={null}
powershell -c "& ([scriptblock]::Create((irm 'https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.ps1'))) -Key $env:COMETAPI_KEY"
```

<Warning>
  بشكل افتراضي، لا يستبدل السكربت `~/.codex/auth.json` ولا يزيل تسجيل دخول ChatGPT. استخدم `--force-auth-json` أو `-ForceAuthJson` فقط إذا كنت تريد أن يدير السكربت تسجيل الدخول بمفتاح API في Codex من خلال `auth.json`.
</Warning>

## اختر أو غيّر model ID

استخدم model ID من [صفحة Models](/ar/overview/models). في الإعداد اليدوي، غيّر قيمة `model` في `~/.codex/config.toml`.

لنظام macOS أو Linux أو WSL، مرّر `--model` عند تشغيل سكربت الإعداد:

```bash theme={null}
curl -fsSL https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.sh | sh -s -- --key "$COMETAPI_KEY" --model your-model-id
```

بالنسبة إلى Windows PowerShell الأصلي، مرّر `-Model` عند تشغيل سكربت الإعداد:

```powershell theme={null}
powershell -c "& ([scriptblock]::Create((irm 'https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.ps1'))) -Key $env:COMETAPI_KEY -Model 'your-model-id'"
```

<Note>
  يستخدم السكربت `CODEX_HOME` عندما يكون مضبوطًا. وإلا فإنه يكتب إلى `~/.codex` الخاص بالبيئة الحالية.
</Note>

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

للتحقق من الإعداد باستخدام Codex CLI، شغّل هذا الأمر للقراءة فقط من أي مشروع محلي:

```bash theme={null}
codex exec --ephemeral --skip-git-repo-check --sandbox read-only --color never "Reply exactly with: COMETAPI_CODEX_OK"
```

إذا لم تكن أداة Codex CLI متاحة في `PATH`، فافتح تطبيق Codex وأرسل Prompt قصيرًا من مشروع محلي.

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

<AccordionGroup>
  <Accordion title="لا يزال Codex يستخدم موفّر OpenAI الافتراضي">
    تأكد من أن `model_provider = "cometapi"` موجود في ملف `~/.codex/config.toml` على مستوى المستخدم.
  </Accordion>

  <Accordion title="تم تغيير مفتاح API">
    حدّث `~/.codex/cometapi_key`، أو أعد تشغيل سكربت الإعداد باستخدام قيمة `$COMETAPI_KEY` المحدّثة.
  </Accordion>

  <Accordion title="يفشل سكربت PowerShell أثناء فحوصات ما قبل التشغيل">
    استخدم خطوات PowerShell الأصلية اليدوية الخاصة بـ Windows، ثم شغّل أمر التحقق.
  </Accordion>

  <Accordion title="إعداد shell الممرَّر عبر pipe لا يطلب أي مفتاح API">
    استخدم `--key "$COMETAPI_KEY"`، أو عيّن `COMETAPI_KEY`، أو شغّل الأمر التفاعلي `sh -c "$(curl ...)"`.
  </Accordion>

  <Accordion title="تنتهي مهلة الاتصال أو يتم استخدام base URL خاطئ">
    تأكد من أن `base_url` هو `https://api.cometapi.com/v1` في `~/.codex/config.toml`.
  </Accordion>

  <Accordion title="لم يتم العثور على النموذج">
    راجع [صفحة Models](/ar/overview/models) لمعرفة model IDs المتاحة.
  </Accordion>

  <Accordion title="يؤثر إعداد Windows على البيئة الخاطئة">
    عدّل `$HOME\.codex` لوضع Windows الأصلي، أو عدّل `~/.codex` داخل WSL لوضع وكيل WSL.
  </Accordion>

  <Accordion title="تم تغيير تسجيل دخول ChatGPT">
    لا تستخدم `--force-auth-json` أو `-ForceAuthJson` إلا إذا كنت تريد وضع تسجيل الدخول بمفتاح API.
  </Accordion>
</AccordionGroup>

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/codex#howto",
        "name": "استخدام Codex مع CometAPI",
        "description": "استخدم هذا الدليل لتهيئة Codex مع CometAPI من خلال تعديل إعدادات الموفّر في ملف config.toml على مستوى المستخدم.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-1",
            "position": 1,
            "name": "مراجعة المتطلبات الأساسية",
            "text": "أكمل خطوة مراجعة المتطلبات الأساسية في دليل استخدام Codex مع CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-2",
            "position": 2,
            "name": "اختيار مسار إعداد",
            "text": "أكمل خطوة اختيار مسار إعداد في دليل استخدام Codex مع CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-3",
            "position": 3,
            "name": "تهيئة Codex يدويًا",
            "text": "أكمل خطوة تهيئة Codex يدويًا في دليل استخدام Codex مع CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-4",
            "position": 4,
            "name": "استخدام المصادقة عبر متغير البيئة",
            "text": "أكمل خطوة استخدام المصادقة عبر متغير البيئة في دليل استخدام Codex مع CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-5",
            "position": 5,
            "name": "تشغيل سكربت الإعداد",
            "text": "أكمل خطوة تشغيل سكربت الإعداد في دليل استخدام Codex مع CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-6",
            "position": 6,
            "name": "اختيار model ID أو تغييره",
            "text": "أكمل خطوة اختيار model ID أو تغييره في دليل استخدام Codex مع CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-7",
            "position": 7,
            "name": "التحقق من الإعداد",
            "text": "أكمل خطوة التحقق من الإعداد في دليل استخدام Codex مع CometAPI."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "مستندات CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "التكاملات",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "استخدام Codex مع CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/codex"
          }
        ]
      }
    ]
    }
    `}
</script>
