API Hop

Dokumentacja

Dokumentacja API Hop

Integracja z Codex

Używaj punktu końcowego API Hop zgodnego z OpenAI Responses w Codex CLI, rozszerzeniu VS Code lub aplikacji desktopowej.

Codex wywołuje modele przez protokół OpenAI Responses. Skonfiguruj dostawcę modelu z bazowym adresem URL zgodnym z OpenAI pokazanym na tej stronie.

text
Codex base_url: https://api.apihop.ai/openai

Wymagania wstępne

Najpierw przygotuj ważny klucz API API Hop. Klucz zostanie zapisany w lokalnym katalogu konfiguracji Codex. Nie umieszczaj go w repozytoriach, logach ani na zrzutach ekranu.

Codex zwykle przechowuje pliki konfiguracji w:

  • macOS / Linux: ~/.codex/
  • Windows: %userprofile%\.codex\

Jeśli katalog lub plik konfiguracji nie istnieje, najpierw go utwórz:

bash
mkdir -p ~/.codex
touch ~/.codex/config.toml

W Windows CMD:

bat
mkdir %userprofile%\.codex
type nul > %userprofile%\.codex\config.toml

Utwórz kopię konfiguracji

Jeśli używano już Codex, najpierw utwórz kopię bieżącej konfiguracji:

bash
cp ~/.codex/config.toml ~/.codex/config.toml.bak
cp ~/.codex/auth.json ~/.codex/auth.json.bak

Zaktualizuj config.toml

Otwórz ~/.codex/config.toml, a następnie dodaj lub zaktualizuj tę konfigurację:

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

Reguła base_url: publiczny bazowy adres URL API z tej strony + /openai.

Jeśli config.toml zawiera już [marketplaces.*], [plugins.*] lub inne ustawienia narzędzi, zachowaj je i dodaj lub zaktualizuj tylko powyższe ustawienia dostawcy modelu Codex.

Tryb WebSocket

Gdy włączone są supports_websockets = true i responses_websockets = true, Codex korzysta z poniższego punktu końcowego Responses WebSocket:

text
https://api.apihop.ai/openai/responses

Jeśli bazowy adres URL API używa https://, Codex korzysta z odpowiadającego mu połączenia wss://.

Ten tryb WebSocket jest mostem Responses przez WebSocket przeznaczonym dla Codex:

  • Obsługuje response.create
  • Obsługuje response.cancel
  • Zwraca response.completed
  • Zachowuje także zdarzenie zgodności response.processed

response.cancelled potwierdza lokalne żądanie anulowania. Nie potwierdza zwrotu środków po stronie dostawcy. Żądanie o nieznanym wyniku u dostawcy pozostaje objęte rezerwacją do czasu weryfikacji zużycia lub niepowodzenia.

Nie jest to OpenAI Realtime API. Nie obsługuje session.update, conversation.item.*, input_audio_buffer.*, strumieniowania dźwięku, wiadomości binarnych ani obwiedni Realtime.

Jeśli sieciowy serwer proxy, brama firmowa lub starsza wersja Codex nie mogą nawiązać połączeń WebSocket, tymczasowo przełącz na:

toml
[model_providers.apihop]
supports_websockets = false

[features]
responses_websockets = false

Codex przejdzie wtedy na HTTP POST https://api.apihop.ai/openai/responses. Compact to oddzielna funkcja: pięć obecnie wymienionych modeli GPT nie ma zweryfikowanego kanału Compact. Przełączanie trybów HTTP/WebSocket nie włącza kompresji kontekstu. Rozpocznij nową rozmowę przed przekroczeniem limitu kontekstu modelu; na tych trasach nie polegaj na automatycznej kompresji długiego kontekstu.

Zapisz klucz API

Zastąp YOUR_APIHOP_API_KEY swoim kluczem API API Hop:

bash
echo '{"OPENAI_API_KEY":"YOUR_APIHOP_API_KEY"}' > ~/.codex/auth.json

W Windows CMD:

bat
echo {"OPENAI_API_KEY":"YOUR_APIHOP_API_KEY"} > %userprofile%\.codex\auth.json

Uruchom ponownie i przetestuj

Zapisz konfigurację, całkowicie zamknij Codex, a następnie otwórz go ponownie.

Możesz przetestować CLI poleceniem:

bash
codex "Reply in one sentence whether the current model is available."

W przypadku rozszerzenia VS Code lub aplikacji desktopowej całkowicie zamknij aplikację, otwórz ją ponownie i rozpocznij zwykły czat.

Diagnozowanie problemów

  • base_url musi być publicznym bazowym adresem URL API z tej strony z dopisanym /openai.
  • wire_api musi mieć wartość responses; nie zmieniaj jej na chat.
  • Błąd niedostępności Compact oznacza brak zweryfikowanego kanału Compact; zmiana lokalnego progu tokenów nie może go włączyć.
  • API Hop obsługuje zarówno HTTP Responses, jak i Codex Responses WebSocket. Domyślnie zachowaj supports_websockets = true i responses_websockets = true. Jeśli Twoja wersja Codex lub sieciowy serwer proxy nie obsługują WebSocket, tymczasowo ustaw supports_websockets = false, aby przejść na HTTP.
  • auth.json musi zawierać poprawny JSON, a nazwa klucza musi być OPENAI_API_KEY.
  • Jeśli otrzymasz 401 lub invalid key, sprawdź, czy klucz API jest ważny i nie został nadpisany starszym kluczem lokalnym.
  • Jeśli model jest niedostępny, sprawdź GET https://api.apihop.ai/v1/models i ustaw model oraz review_model na widoczny model GPT. Domyślny przykład używa gpt-5.4; gpt-5.3-codex i gpt-5.6-luna nie są obecnie włączone.
  • Po zmianie konfiguracji całkowicie zamknij Codex i otwórz go ponownie. Zamknięcie samego okna może nie spowodować ponownego wczytania auth.json.
  • POST https://api.apihop.ai/openai/responses: zalecany punkt końcowy API Hop zgodny z Responses.
  • POST https://api.apihop.ai/openai/responses/compact: wymaga jawnie włączonego kanału Compact; w przeciwnym razie zwraca 503 przed rezerwacją. Obsługiwany kanał zwraca response.compaction.
  • WS /openai/responses: punkt końcowy zgodny z Responses WebSocket. Obsługuje response.create, response.cancel, zwraca response.completed i zachowuje zdarzenie zgodności response.processed.
  • WS /openai/responses/compact: używa tego samego sprawdzania dostępności Compact i punktu końcowego. Samo uzgodnienie połączenia WebSocket nie potwierdza obsługi przez model.