เอกสาร API Hop
การเชื่อมต่อ Codex
>-
Codex เรียกโมเดลผ่านโปรโตคอล OpenAI Responses ตั้งผู้ให้บริการโมเดลด้วย Base URL ที่เข้ากันได้กับ OpenAI ในหน้านี้
Codex base_url: https://api.apihop.ai/openaiสิ่งที่ต้องเตรียม
เตรียมคีย์ API ของ API Hop ที่ถูกต้องก่อน คีย์จะเขียนในไดเรกทอรีตั้งค่า 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 เป็นความสามารถแยก โมเดล GPT ห้ารายการปัจจุบันไม่มีช่อง Compact ที่ตรวจยืนยัน การสลับโหมด HTTP/WebSocket ไม่เปิดการย่อบริบท เริ่มสนทนาใหม่ก่อนเกินขีดจำกัดบริบทโมเดล อย่าพึ่งการย่อบริบทยาวอัตโนมัติกับเส้นทางเหล่านี้
เขียนคีย์ API
แทน YOUR_APIHOP_API_KEY ด้วยคีย์ API ของ API Hop ของคุณ:
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 อย่างสมบูรณ์ แล้วเปิดใหม่
ทดสอบ CLI ได้ด้วย:
codex "Reply in one sentence whether the current model is available."สำหรับส่วนขยาย VS Code หรือแอปเดสก์ท็อป ให้ออกจากแอปอย่างสมบูรณ์ เปิดใหม่ แล้วเริ่มแชตปกติ
การแก้ปัญหา
base_urlต้องเป็น API Base URL สาธารณะในหน้านี้ต่อด้วย/openaiwire_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: เอนด์พอยต์ที่เข้ากันได้กับ Responses ของ API Hop ที่แนะนำPOST https://api.apihop.ai/openai/responses/compact: ต้องมีช่อง Compact ที่เปิดใช้ชัดเจน มิฉะนั้นส่ง 503 ก่อนกันยอด ช่องที่รองรับส่งresponse.compactionWS /openai/responses: เอนด์พอยต์ที่เข้ากันได้กับ Responses WebSocket รองรับresponse.create,response.cancelส่งresponse.completedและคงเหตุการณ์เพื่อความเข้ากันได้response.processedWS /openai/responses/compact: ใช้การตรวจความสามารถ Compact และเอนด์พอยต์เดียวกัน การจับมือ WebSocket อย่างเดียวไม่พิสูจน์ว่าโมเดลรองรับ