Спрямуйте Aider на OpenAI-сумісний API base.

Updated 2026-07-29

Aider підключається до OpenAI-сумісних ендпоінтів за допомогою двох змінних середовища і префіксу моделі. Встановіть OPENAI_API_BASE на https://api.apisrouter.com/v1, запустіть aider --model openai/<model-id>, і сесії парного програмування маршрутизуються через один ключ з доступом до кожної моделі каталогу.

Коротка відповідь: дві змінні середовища і префікс моделі.

Задокументований OpenAI-сумісний шлях Aider — саме такий: експортуйте OPENAI_API_BASE з вашим ендпоінтом, експортуйте OPENAI_API_KEY з ключем до нього і додайте префікс openai/ до назви моделі, щоб Aider спілкувався з цим base за протоколом chat-completions. Рядок після префіксу передається до ендпоінта як є, тож будь-який ID, який обслуговує шлюз, підходить, включно з ID Claude і DeepSeek. Це все з'єднання. На Mac і Linux використовуйте export; у Windows — setx і відкрийте нову оболонку, оскільки setx не впливає на поточну сесію. Ті самі значення можуть жити у файлі конфігурації Aider чи файлі .env, якщо ви віддаєте перевагу конфігурації для кожного проєкту, а не стану shell.

export OPENAI_API_BASE=https://api.apisrouter.com/v1
export OPENAI_API_KEY=sk-APIsRouter-...

aider --model openai/claude-sonnet-4-6

Як Aider визначає моделі та провайдерів.

Aider (Aider-AI на GitHub, приблизно 47 тис. зірок) — це оригінальний термінальний парний програміст: він картографує ваш git-репозиторій, приймає запити на зміни в чаті, редагує файли напряму і комітить результат. Під капотом він маршрутизує виклики моделей через litellm, і саме тому важливий префікс openai/: litellm зчитує префікс, щоб обрати протокол провайдера, і openai/ означає «chat-completions проти того, що каже OPENAI_API_BASE». Назва моделі без префіксу натомість визначає провайдера за написанням, що маршрутизує ID Claude до нативного API Anthropic і вашого ANTHROPIC_API_KEY замість вашого шлюзу. Є одна поведінка, специфічна для Aider, про яку варто знати перед першою сесією: він тримає власний реєстр можливостей моделей, і модель, яку він не розпізнає, викликає попередження «Unknown context window size and costs, using sane defaults», після чого Aider вважає контекстне вікно необмеженим, а вартість — нульовою. Сесія все одно працює, але дві корисні підсистеми деградують: бюджетування токенів не може попередити вас, перш ніж ви вийдете за реальний ліміт контексту, а індикатор вартості в сесії показує нуль. Виправлення — невеликий файл метаданих, розглянутий нижче, і ці дві хвилини того варті. Aider також запускає більше однієї моделі за сесію. Основна модель робить кодування; слабка модель обробляє повідомлення комітів і резюмування чату; а в режимі архітектора окрема модель редактора застосовує план. Кожна приймає той самий префікс openai/, тож усі три можуть маршрутизуватись через шлюз на одному ключі.

Повне налаштування: з'єднання плюс метадані моделі.

З'єднання — це дві змінні вище. Полірування — реєстрація метаданих, щоб Aider сприймав моделі шлюзу як відомі величини. Створіть .aider.model.metadata.json у домашньому каталозі, корені git-репозиторію чи робочому каталозі (або передайте --model-metadata-file), із ключем за повною кваліфікованою назвою, включно з префіксом openai/; поле litellm_provider має відповідати цьому префіксу. З зареєстрованим max_input_tokens бюджетування контексту Aider працює проти реального вікна моделі, а не припускає, що воно нескінченне. Другий опційний файл, .aider.model.settings.yml, налаштовує поведінку для кожної моделі: edit_format контролює, як Aider запитує зміни коду (варіанти diff для моделей, які їх обробляють, цілий файл для тих, які ні), а use_repo_map контролює включення контексту репозиторію. Aider не може вивести найкращий формат редагування для моделі, яку не розпізнає, тож оголошення цього — різниця між тим, що модель виглядає посередньо, і тим, що вона працює на своєму рівні.

{
  "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"
  }
}

Вибір основної, слабкої моделі і моделі редактора.

Сесії Aider довгі та ітеративні, що робить порівняння моделей тут незвично чесним: запустіть ту саму гілку з фічею на двох основних моделях у різні дні, і різниця проявиться в тому, як часто ви вводите /undo. Один ендпоінт робить кожного кандидата зміною прапорця, а використання за ключем оцінює кожен експеримент.

  • Основна модель тягне кожне редагування. Вона читає карту репозиторію, міркує над вашими файлами і видає diff-и, тож саме тут місце claude-sonnet-4-6 чи gpt-5.5; модель, яка плутає синтаксис diff, коштує вам часу на перевірку кожної зміни.
  • Слабка модель (--weak-model) пише повідомлення комітів і резюмує історію чату. Вона спрацьовує постійно і ніколи не торкається коду, тож маршрутизуйте її на швидкий, дешевий ID через той самий шлюз, а не залишайте її типовою деінде.
  • Режим архітектора розділяє планування і редагування: основна модель планує, модель редактора (--editor-model) застосовує. Сильна модель для міркування, що планує, разом з налаштованим під код ID на кшталт kimi-k2.7-code, що застосовує, — це поєднання, яке не можуть виразити ключі одного постачальника.
  • deepseek-v4-pro і gpt-5.4 варто протестувати як щоденні основні моделі для роботи, насиченої рефакторингом, де обсяг токенів за сесію робить різницю в ціні кумулятивною.

Оплата за фактом · нижче офіційних цін

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

МодельОфіційна цінаНаша ціна
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

Специфічні для Aider режими збоїв.

Довіра до «sane defaults». Резервний варіант для невідомої моделі припускає необмежений контекст і нульову вартість. Практично це означає, що Aider спокійно дозволить довгій сесії вирости за реальне вікно моделі, доки шлюз не відхилить запит або модель тихо не втратить ранній контекст, а трекер вартості весь цей час показуватиме нуль. Зареєструйте метадані — обидві проблеми зникнуть. Відкидання префіксу openai/. Без нього litellm визначає провайдера за назвою моделі. ID Claude маршрутизуються до API Anthropic і провалюються через відсутній ANTHROPIC_API_KEY, що виглядає як проблема з ключем, хоча насправді це проблема з префіксом. Метадані, що не збігаються. Записи в .aider.model.metadata.json мають ключ за повною кваліфікованою назвою, включно з префіксом, а litellm_provider має узгоджуватись з цим префіксом. Ключ без префіксу чи невідповідне поле provider тихо не застосовується, і ви повертаєтесь до значень за замовчуванням без жодної помилки про це. Стан shell у Windows. setx записує змінну лише для майбутніх оболонок. Запуск aider у тому самому терміналі, де ви щойно виконали setx, використовує старе середовище, і результуюча помилка 401 — це проблема життєвого циклу shell, а не облікових даних. Неправильний формат редагування. Незареєстрована модель отримує типовий формат редагування, який може не бути тим, що вона обробляє найкраще. Якщо сильна модель постійно видає редагування, які Aider відхиляє, встановіть edit_format явно у .aider.model.settings.yml, перш ніж робити висновок, що модель не вміє кодувати.

Хто маршрутизує Aider через шлюз.

  • Щоденні користувачі Aider, які хочуть перемикати Claude, GPT і DeepSeek для кожної сесії через --model, без підтримки окремого акаунту постачальника на кожну родину моделей.
  • Розробники, що поєднують передову основну модель зі швидкою слабкою моделлю для повідомлень комітів, обидві оплачуються з одного ключа з видимістю на рівні сесії.
  • Користувачі режиму архітектора, що поєднують модель планування і модель редагування від різних постачальників в одній сесії.
  • Команди, що онбордять інженерів одним секретом замість чек-листа ключів постачальників, з використанням за ключем як звітом про витрати.
  • Розробники без доступу до білінгу певного постачальника. Доступ на основі поповнення без вимоги картки прибирає залежність від реєстрації в кожного провайдера.

Перевірте ендпоінт і налагодьте першу сесію.

Перегляньте список моделей шлюзу перед початком; ID після openai/ має точно збігатися з обслуговуваним ID, включно з суфіксами версій. Збої першої сесії швидко сортуються. 401 означає, що OPENAI_API_KEY не видимий для shell, який запустив aider (нові оболонки лише у Windows після setx; перевірте echo в тому самому терміналі). Помилка «модель не знайдено» від шлюзу — це помилка в написанні ID. Помилка, що згадує ключ іншого постачальника, означає, що назва моделі без префіксу маршрутизувалась нативно. А попередження про невідому модель під час запуску — це не помилка, але це сигнал додати файл метаданих перед довгою сесією, а не після того, як вона впреться в реальний ліміт контексту. У сесії власні показники токенів і вартості Aider стають точними, щойно зареєстровано метадані, а консоль APIsRouter показує ті самі сесії з боку ендпоінта: модель на кожен запит, кількість токенів і витрати. Для парного програміста, що працює цілий день, цей погляд за ключем — чесна відповідь на те, скільки насправді коштує тиждень Aider.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $OPENAI_API_KEY" | head -50

Поширені запитання

Як підключити Aider до OpenAI-сумісного ендпоінта?

Експортуйте OPENAI_API_BASE з URL ендпоінта і OPENAI_API_KEY з його ключем, тоді запустіть aider --model openai/<model-id>. Це задокументований шлях openai-compat Aider; префікс openai/ каже його шару litellm спілкуватись за chat-completions з вашим base URL.

Чи може Aider запускати моделі Claude чи DeepSeek через це налаштування?

Так. ID після openai/ передається до ендпоінта як звичайний рядок, тож працює будь-яка модель, яку обслуговує шлюз: aider --model openai/claude-sonnet-4-6 чи openai/deepseek-v4-pro. Зберігайте префікс, інакше провайдер визначиться за ID і маршрутизація піде повз ваш base.

Що означає попередження "Unknown context window size and costs"?

Aider не розпізнає модель, тож припускає необмежене контекстне вікно і нульову вартість. Сесії працюють, але бюджетування контексту та індикатор вартості неправильні. Зареєструйте модель у .aider.model.metadata.json з ключем за її повною кваліфікованою назвою openai/, і попередження та обидві проблеми зникнуть.

Чи маршрутизуються слабка модель і модель редактора теж через шлюз?

Так, якщо ви їх туди спрямуєте: --weak-model openai/<fast-id> для повідомлень комітів і резюмування, і --editor-model openai/<id> у режимі архітектора. Усі три слоти приймають префікс, тож один ключ може покрити мультипостачальницьку комбінацію основна/слабка/редактор.

Чому Aider досі запитує ключ Anthropic?

Назва моделі потрапила без префіксу openai/. litellm визначив постачальника за назвою і спробував нативний шлях Anthropic, який хоче ANTHROPIC_API_KEY. Додайте префікс, і запит натомість піде на OPENAI_API_BASE з вашим ключем шлюзу.

Чи варто встановлювати edit_format для моделей шлюзу?

Для моделей, які Aider не розпізнає, — так. edit_format у .aider.model.settings.yml контролює, як Aider запитує зміни коду, і передові моделі зазвичай найкраще працюють з форматом diff. Залишення невідомої моделі на значеннях за замовчуванням може зробити сильну модель гіршою, ніж вона є.