Wskaż Aider na API base kompatybilny z OpenAI.
Updated 2026-07-29
Aider łączy się z endpointami kompatybilnymi z OpenAI za pomocą dwóch zmiennych środowiskowych i prefiksu modelu. Ustaw OPENAI_API_BASE na https://api.apisrouter.com/v1, uruchom aider --model openai/<model-id>, a sesje pair programmingu będą kierowane przez jeden klucz, z każdym modelem z katalogu adresowalnym.
Szybka odpowiedź: dwie zmienne środowiskowe i prefiks modelu.
Udokumentowana przez Aider ścieżka kompatybilna z OpenAI to dokładnie to: wyeksportuj OPENAI_API_BASE ze swoim endpointem, wyeksportuj OPENAI_API_KEY z kluczem do niego i poprzedź nazwę modelu prefiksem openai/, żeby Aider mówił protokołem chat-completions do tej bazy. Ciąg po prefiksie jest przekazywany bezpośrednio do endpointu, więc dowolny identyfikator, który obsługuje bramka, jest dozwolony, łącznie z identyfikatorami Claude i DeepSeek. To całe połączenie. Na Macu i Linuksie użyj export; na Windowsie użyj setx i otwórz nową powłokę, ponieważ setx nie wpływa na bieżącą sesję. Te same wartości mogą znaleźć się w pliku konfiguracyjnym Aider albo w pliku .env, jeśli wolisz konfigurację per projekt zamiast stanu powłoki.
export OPENAI_API_BASE=https://api.apisrouter.com/v1
export OPENAI_API_KEY=sk-APIsRouter-...
aider --model openai/claude-sonnet-4-6Jak Aider rozwiązuje modele i dostawców.
Aider (Aider-AI na GitHubie, około 47 tys. gwiazdek) to oryginalny terminalowy pair programmer: mapuje Twoje repozytorium git, przyjmuje żądania zmian w czacie, edytuje pliki bezpośrednio i commituje wynik. Pod maską kieruje wywołania modeli przez litellm, dlatego prefiks openai/ ma znaczenie: litellm odczytuje prefiks, żeby wybrać protokół dostawcy, a openai/ oznacza „chat-completions względem tego, co mówi OPENAI_API_BASE". Nazwa modelu bez prefiksu ma zamiast tego dostawcę wywnioskowanego z pisowni, co kieruje identyfikator Claude do natywnego API Anthropic i Twojego ANTHROPIC_API_KEY zamiast do Twojej bramki. Jest jedno zachowanie specyficzne dla Aider, warte poznania przed pierwszą sesją: utrzymuje ono własny rejestr możliwości modeli, a model, którego nie rozpoznaje, wyzwala ostrzeżenie „Unknown context window size and costs, using sane defaults", po czym Aider zakłada nieograniczone okno kontekstu i zerowy koszt. Sesja nadal działa, ale dwa przydatne podsystemy się degradują: budżetowanie tokenów nie może ostrzec Cię, zanim przekroczysz rzeczywisty limit kontekstu, a wyświetlacz kosztu w sesji pokazuje zero. Rozwiązaniem jest mały plik metadanych, opisany poniżej, i warto poświęcić na to dwie minuty. Aider uruchamia też więcej niż jeden model na sesję. Model main wykonuje kodowanie; model weak obsługuje komunikaty commitów i streszczanie czatu; a w trybie architect osobny model editor wdraża plan. Każdy z nich akceptuje ten sam prefiks openai/, więc cała trójka może być kierowana przez bramkę na jednym kluczu.
Pełna konfiguracja: połączenie plus metadane modelu.
Połączenie to dwie powyższe zmienne. Dopieszczeniem jest zarejestrowanie metadanych, żeby Aider traktował modele bramki jako znane wielkości. Utwórz plik .aider.model.metadata.json w katalogu domowym, w katalogu głównym repozytorium git albo w katalogu roboczym (albo podaj --model-metadata-file), z kluczami będącymi w pełni kwalifikowaną nazwą wraz z prefiksem openai/; pole litellm_provider powinno zgadzać się z tym prefiksem. Po zarejestrowaniu max_input_tokens budżetowanie kontekstu w Aider działa względem rzeczywistego okna modelu, zamiast zakładać, że jest ono nieskończone. Drugi, opcjonalny plik, .aider.model.settings.yml, dostraja zachowanie per model: edit_format kontroluje, jak Aider prosi o zmiany w kodzie (warianty diff dla modeli, które sobie z nimi radzą, whole-file dla tych, które nie), a use_repo_map kontroluje włączanie kontekstu repozytorium. Aider nie potrafi wywnioskować najlepszego formatu edycji dla nierozpoznanego modelu, więc zadeklarowanie go decyduje o różnicy między modelem wyglądającym przeciętnie a działającym na swoim rzeczywistym poziomie.
{
"openai/claude-sonnet-4-6": {
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"litellm_provider": "openai",
"mode": "chat"
},
"openai/deepseek-v4-pro": {
"max_input_tokens": 128000,
"max_output_tokens": 16000,
"litellm_provider": "openai",
"mode": "chat"
}
}Dobór modeli main, weak i editor.
Sesje w Aider są długie i iteracyjne, co czyni porównywanie modeli tu wyjątkowo uczciwym: uruchom ten sam branch z funkcją na dwóch modelach main w różne dni, a różnica ujawni się w tym, jak często wpisujesz /undo. Jeden endpoint sprawia, że każdy kandydat to zmiana jednej flagi, a użycie per klucz wycenia każdy eksperyment.
- Model main dźwiga każdą edycję. Czyta mapę repozytorium, rozumuje nad Twoimi plikami i produkuje diffy, więc to tutaj należy claude-sonnet-4-6 albo gpt-5.5; model, który gubi się w składni diff, kosztuje Cię czas na review przy każdej zmianie.
- Model weak (--weak-model) pisze komunikaty commitów i streszcza historię czatu. Uruchamia się bez przerwy i nigdy nie dotyka kodu, więc skieruj go na szybki, tani identyfikator przez tę samą bramkę, zamiast pozwolić mu domyślnie trafić gdzie indziej.
- Tryb architect rozdziela planowanie od edycji: model main planuje, model editor (--editor-model) wdraża. Silny model rozumujący planujący w parze z identyfikatorem dostrojonym pod kodowanie, takim jak kimi-k2.7-code, wdrażającym — to zestawienie, którego nie da się wyrazić kluczami jednego dostawcy.
- deepseek-v4-pro i gpt-5.4 warto przetestować jako codzienne modele main przy pracy z dużą ilością refaktoryzacji, gdzie wolumen tokenów per sesja sprawia, że różnica w cenie się kumuluje.
Płatność za użycie · poniżej cen oficjalnych
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Model | Cena oficjalna | Nasza cena |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| GPT-5.4 | $2.50 / $15.00 per M | $2.00 / $12.00 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
| Kimi K2.7 Code | $0.95 / $4.00 per M | $1.00 / $4.00 per M |
Tryby awarii charakterystyczne dla Aider.
Zaufanie „sane defaults". Fallback dla nierozpoznanego modelu zakłada nieograniczony kontekst i zerowy koszt. W praktyce oznacza to, że Aider bez oporu pozwoli długiej sesji urosnąć poza rzeczywiste okno modelu, aż bramka odrzuci żądanie albo model po cichu zgubi wczesny kontekst, a licznik kosztu przez cały czas pokazuje zero. Zarejestruj metadane; oba problemy znikają. Pominięcie prefiksu openai/. Bez niego litellm wnioskuje dostawcę z nazwy modelu. Identyfikatory Claude kierują wtedy do API Anthropic i zawodzą na brakującym ANTHROPIC_API_KEY, co wygląda jak problem z kluczem, a jest problemem z prefiksem. Metadane, które się nie zgadzają. Wpisy w .aider.model.metadata.json mają klucze będące w pełni kwalifikowaną nazwą, wraz z prefiksem, a litellm_provider powinno zgadzać się z tym prefiksem. Klucz z samym identyfikatorem albo niezgodne pole provider po cichu nie zostają zastosowane, i wracasz do domyślnych ustawień bez żadnego błędu, który by o tym mówił. Stan powłoki na Windowsie. setx zapisuje zmienną tylko dla przyszłych powłok. Uruchomienie aider w tym samym terminalu, w którym właśnie uruchomiłeś setx, korzysta ze starego środowiska, a wynikowy błąd 401 to problem cyklu życia powłoki, nie problem z poświadczeniami. Zły format edycji. Niezarejestrowany model dostaje domyślny format edycji, który może nie być tym, z czym radzi sobie najlepiej. Jeśli silny model wciąż produkuje edycje odrzucane przez Aider, ustaw edit_format jawnie w .aider.model.settings.yml, zanim uznasz, że model nie potrafi kodować.
Kto kieruje Aider przez bramkę.
- Codzienni użytkownicy Aider, którzy chcą przełączać Claude, GPT i DeepSeek per sesja przez --model, bez utrzymywania konta u dostawcy dla każdej rodziny modeli.
- Deweloperzy łączący flagowy model main z szybkim modelem weak do komunikatów commitów, oba rozliczane na jeden klucz z widocznością per sesja.
- Użytkownicy trybu architect mieszający model planujący i model edytujący od różnych dostawców w tej samej sesji.
- Zespoły wdrażające inżynierów jednym sekretem zamiast listy kluczy dostawców, z użyciem per klucz jako raportem wydatków.
- Deweloperzy bez dostępu do rozliczeń danego dostawcy. Dostęp oparty na doładowaniu, bez wymogu karty, usuwa zależność od rejestracji u każdego dostawcy z osobna.
Zweryfikuj endpoint i debuguj pierwszą sesję.
Wylistuj modele bramki, zanim zaczniesz; identyfikator po openai/ musi dokładnie zgadzać się z obsługiwanym identyfikatorem, łącznie z sufiksami wersji. Awarie pierwszej sesji szybko się porządkują. 401 oznacza, że OPENAI_API_KEY nie jest widoczny dla powłoki, która uruchomiła aider (na Windowsie tylko nowe powłoki po setx; sprawdź echo w tym samym terminalu). Błąd model-not-found z bramki to literówka w identyfikatorze. Błąd wspominający klucz innego dostawcy oznacza, że nazwa modelu bez prefiksu została skierowana natywnie. A ostrzeżenie o nieznanym modelu przy starcie nie jest błędem, ale to Twój sygnał, żeby dodać plik metadanych przed długą sesją, a nie po tym, jak trafi ona na rzeczywisty limit kontekstu. W trakcie sesji własny odczyt tokenów i kosztu w Aider staje się dokładny po zarejestrowaniu metadanych, a konsola APIsRouter pokazuje te same sesje od strony endpointu: model per żądanie, liczbę tokenów i wydatki. Dla całodniowego pair programmera ten widok per klucz to uczciwa odpowiedź na pytanie, ile faktycznie kosztuje tydzień pracy z Aider.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY" | head -50Częste pytania
Jak połączyć Aider z endpointem kompatybilnym z OpenAI?
Wyeksportuj OPENAI_API_BASE z URL-em endpointu i OPENAI_API_KEY z jego kluczem, a następnie uruchom aider --model openai/<model-id>. To udokumentowana przez Aider ścieżka openai-compat; prefiks openai/ mówi warstwie litellm, żeby mówiła chat-completions do Twojego base URL.
Czy Aider może uruchamiać modele Claude albo DeepSeek przy tej konfiguracji?
Tak. Identyfikator po openai/ jest przekazywany do endpointu jako zwykły string, więc działa dowolny model obsługiwany przez bramkę: aider --model openai/claude-sonnet-4-6 albo openai/deepseek-v4-pro. Zachowaj prefiks, w przeciwnym razie identyfikator zostanie wywnioskowany jako inny dostawca i skierowany poza Twoją bazę.
Co oznacza ostrzeżenie „Unknown context window size and costs"?
Aider nie rozpoznaje modelu, więc zakłada nieograniczone okno kontekstu i zerowy koszt. Sesje działają, ale budżetowanie kontekstu i wyświetlanie kosztu są błędne. Zarejestruj model w .aider.model.metadata.json, z kluczem będącym jego w pełni kwalifikowaną nazwą openai/, a ostrzeżenie i oba problemy znikną.
Czy model weak i model editor też są kierowane przez bramkę?
Tak, jeśli je tam wskażesz: --weak-model openai/<fast-id> do komunikatów commitów i streszczania, oraz --editor-model openai/<id> w trybie architect. Wszystkie trzy sloty akceptują prefiks, więc jeden klucz może pokryć międzydostawcowy miks main/weak/editor.
Dlaczego Aider wciąż prosi o klucz Anthropic?
Nazwa modelu została podana bez prefiksu openai/. litellm wywnioskował dostawcę z nazwy i spróbował natywnej ścieżki Anthropic, która chce ANTHROPIC_API_KEY. Dodaj prefiks, a żądanie trafi zamiast tego do OPENAI_API_BASE z Twoim kluczem do bramki.
Czy powinienem ustawiać edit_format dla modeli z bramki?
Dla modeli, których Aider nie rozpoznaje — tak. edit_format w .aider.model.settings.yml kontroluje, jak Aider prosi o zmiany w kodzie, a modele flagowe zazwyczaj pracują najlepiej z formatem diff. Pozostawienie nierozpoznanego modelu na ustawieniach domyślnych może sprawić, że silny model wypadnie gorzej, niż jest w rzeczywistości.