وثائق API Hop
تكامل Codex
>-
يستدعي Codex النماذج عبر بروتوكول OpenAI Responses. اضبط مزود النموذج باستخدام Base URL المتوافق مع OpenAI المعروض في هذه الصفحة.
Codex base_url: https://api.apihop.ai/openaiالمتطلبات المسبقة
جهز مفتاح API Hop API صالحا أولا. سيكتب المفتاح في مجلد إعداد Codex المحلي لديك. لا تضعه في المستودعات أو السجلات أو لقطات الشاشة.
يخزن Codex ملفات الإعداد عادة في:
- مسار macOS / Linux:
~/.codex/ - مسار Windows:
%userprofile%\.codex\
إذا لم يكن المجلد أو ملف الإعداد موجودا، فأنشئه أولا:
mkdir -p ~/.codex
touch ~/.codex/config.tomlفي Windows CMD:
mkdir %userprofile%\.codex
type nul > %userprofile%\.codex\config.tomlنسخ الإعداد احتياطيا
إذا سبق أن استخدمت Codex، فانسخ الإعداد الحالي احتياطيا أولا:
cp ~/.codex/config.toml ~/.codex/config.toml.bak
cp ~/.codex/auth.json ~/.codex/auth.json.bakتحديث config.toml
افتح ~/.codex/config.toml، ثم أضف هذا الإعداد أو حدثه:
model_provider = "apihop"
model = "gpt-5.4"
review_model = "gpt-5.4"
model_reasoning_effort = "high"
disable_response_storage = true
network_access = "enabled"
[model_providers.apihop]
name = "API Hop"
base_url = "https://api.apihop.ai/openai"
wire_api = "responses"
requires_openai_auth = true
supports_websockets = true
websocket_connect_timeout_ms = 15000
[features]
responses_websockets = trueقاعدة base_url هي: عنوان API Base URL العام المعروض في هذه الصفحة + /openai.
إذا كان config.toml لديك يحتوي بالفعل على [marketplaces.*] أو [plugins.*] أو إعدادات أدوات أخرى، فاحتفظ بها وأضف أو حدث إعدادات مزود نموذج Codex أعلاه فقط.
وضع WebSocket
عند تفعيل supports_websockets = true وresponses_websockets = true، يستخدم Codex نقطة نهاية Responses WebSocket المعروضة أدناه:
https://api.apihop.ai/openai/responsesإذا استخدم API Base URL الصيغة https://، فيستخدم Codex اتصال wss:// المقابل.
وضع WebSocket هذا جسر Responses عبر WebSocket مخصص لـCodex:
- يدعم
response.create - يدعم
response.cancel - يعيد
response.completed - يحتفظ أيضا بحدث التوافق
response.processed
يقر response.cancelled بطلب الإلغاء المحلي. ولا يؤكد استرداد المبلغ لدى المزود. يظل مبلغ الطلب ذي نتيجة المزود المجهولة محجوزا حتى التحقق من استخدامه أو إخفاقه.
هذه ليست OpenAI Realtime API. لا تدعم session.update أو conversation.item.* أو input_audio_buffer.* أو بث الصوت أو الرسائل الثنائية أو أغلفة Realtime.
إذا تعذر على وكيل الشبكة أو بوابة الشركة أو إصدار Codex أقدم إنشاء اتصالات WebSocket، فانتقل مؤقتا إلى:
[model_providers.apihop]
supports_websockets = false
[features]
responses_websockets = falseسيعود Codex عندئذ إلى HTTP POST https://api.apihop.ai/openai/responses. Compact قدرة مستقلة: لا توجد قناة Compact متحقق منها للنماذج الخمسة من GPT المدرجة حاليا. لا يؤدي تبديل وضعي HTTP/WebSocket إلى تفعيل ضغط السياق. ابدأ محادثة جديدة قبل تجاوز حد سياق النموذج؛ ولا تعتمد على الضغط التلقائي للسياق الطويل مع هذه المسارات.
كتابة مفتاح API
استبدل YOUR_APIHOP_API_KEY بمفتاح API Hop API لديك:
echo '{"OPENAI_API_KEY":"YOUR_APIHOP_API_KEY"}' > ~/.codex/auth.jsonفي Windows CMD:
echo {"OPENAI_API_KEY":"YOUR_APIHOP_API_KEY"} > %userprofile%\.codex\auth.jsonإعادة التشغيل والاختبار
احفظ الإعداد وأغلق Codex بالكامل ثم افتحه مجددا.
يمكنك اختبار واجهة الأوامر باستخدام:
codex "Reply in one sentence whether the current model is available."لإضافة VS Code أو تطبيق سطح المكتب، أغلق التطبيق بالكامل ثم أعد فتحه وابدأ محادثة عادية.
تشخيص المشكلات
- يجب أن يكون
base_urlعنوان API Base URL العام المعروض في هذه الصفحة مضافا إليه/openai. - يجب أن تكون
wire_apiهيresponses؛ ولا تغيرها إلىchat. - يعني خطأ عدم توفر Compact عدم وجود قناة Compact متحقق منها؛ ولا يمكن لتغيير عتبة رموز محلية تفعيلها.
- يدعم API Hop كلا من HTTP Responses وCodex Responses WebSocket. أبق
supports_websockets = trueوresponses_websockets = trueافتراضيا. إذا تعذر على إصدار Codex أو وكيل الشبكة استخدام WebSocket، فاضبطsupports_websockets = falseمؤقتا للعودة إلى HTTP. - يجب أن يكون
auth.jsonبصيغة JSON صحيحة، وأن يكون اسم المفتاحOPENAI_API_KEY. - إذا تلقيت
401أوinvalid key، فأكد صلاحية مفتاح API وأن مفتاحا محليا أقدم لم يكتب فوقه. - إذا كان النموذج غير متاح، فتحقق من
GET https://api.apihop.ai/v1/modelsواضبطmodelوreview_modelعلى نموذج GPT ظاهر. يستخدم المثال الافتراضيgpt-5.4؛ ولا يفعلgpt-5.3-codexوgpt-5.6-lunaحاليا. - أغلق Codex بالكامل وأعد فتحه بعد تغيير الإعداد. قد لا يؤدي إغلاق النافذة وحدها إلى إعادة تحميل
auth.json.
نقطة نهاية ذات صلة
POST https://api.apihop.ai/openai/responses: نقطة نهاية API Hop المتوافقة مع Responses الموصى بها.POST https://api.apihop.ai/openai/responses/compact: تتطلب قناة Compact مفعلة صراحة؛ وإلا تعيد 503 قبل حجز الرصيد. تعيد القناة المدعومةresponse.compaction.WS /openai/responses: نقطة نهاية متوافقة مع Responses WebSocket. تدعمresponse.createوresponse.cancel، وتعيدresponse.completed، وتحتفظ بحدث التوافقresponse.processed.WS /openai/responses/compact: تستخدم فحص قدرة Compact ونقطة النهاية نفسيهما. مصافحة WebSocket وحدها لا تثبت دعم النموذج.