Зачем мучиться с Aider, если можно просто взять ChatGPT?
Потому что приватность. Потому что скорость. Потому что контроль. Когда ваш код летит через OpenAI API, вы теряете все три пункта. Aider с локальной моделью - это как иметь личного код-ревьюера, который не рассказывает ваши секреты и работает даже когда интернет отвалился.
Но вот незадача: официальная документация Aider про локальный инференс написана так, будто ее автор никогда сам не пытался это настроить. Вы открываете README, видите "просто укажите endpoint", а через час бьетесь головой об стол, потому что ничего не работает.
На 21 января 2026 года Aider поддерживает локальные модели через OpenAI-совместимые API. Это значит, что ваш локальный сервер должен отвечать на те же запросы, что и OpenAI.
Что ломается в первую очередь
Типичный сценарий: вы ставите Ollama или LM Studio, запускаете модель, прописываете в Aider базовый URL - и получаете кучу непонятных ошибок. Проблема в том, что Aider ожидает определенную структуру ответов, которую не все локальные серверы соблюдают из коробки.
1 Где живут конфиги Aider и почему их три
Aider ищет конфигурацию в трех местах, и это не баг, а фича (хотя иногда хочется думать иначе):
~/.aider.conf.yml- глобальный конфиг пользователя~/.config/aider/aider.conf.yml- альтернативное расположение.aider.conf.ymlв корне проекта - переопределяет все
В теории это позволяет иметь разные настройки для разных проектов. На практике вы полчаса ищете, почему изменения не применяются, пока не поймете, что Aider читает не тот файл.
2 Минимальный рабочий конфиг для локальной модели
Вот как выглядит конфигурация, которая реально работает с локальным сервером на 21 января 2026 года. Не копируйте слепо из документации - там половина параметров устарела.
# ~/.aider.conf.yml
# Работает с Ollama, LM Studio, Open WebUI
model: local-model
oai-api-key: dummy-key # Да, нужно указать что-то, даже если не используете OpenAI
oai-api-base: http://localhost:11434/v1 # Или ваш endpoint
chat-completion-params:
temperature: 0.1 # Для кода лучше низкая температура
max_tokens: 8192 # Зависит от модели
disable-notifications: true # Иначе будет ругаться на отсутствие ключа OpenAI
Ключевой момент: oai-api-key: dummy-key. Aider проверяет наличие этого поля, даже если вы не используете OpenAI. Без него получите ошибку валидации.
http://ваш-сервер:5000/v1 для самописного прокси.3 Почему Aider не видит вашу модель
Самая частая ошибка: Aider отправляет запрос на /v1/models, а ваш локальный сервер отвечает 404 или возвращает список моделей в другом формате. Проверьте:
# Проверяем, что endpoint вообще живёт
curl http://localhost:11434/v1/models
# Должен вернуть что-то типа:
# {"data": [{"id": "llama3.2", "object": "model"}]}
# Если не работает, проверяем сам сервер:
curl http://localhost:11434/api/tags # для Ollama
Если ваш сервер не реализует /v1/models, придется либо найти плагин/расширение, либо использовать прокси. Для Oobabooga есть OpenAI-совместимый API, но его нужно включать отдельно.
Продвинутая конфигурация: когда базового недостаточно
Если вы просто хотите попробовать Aider с локальной моделью, предыдущего раздела достаточно. Но если вы планируете использовать это в работе, вот что нужно настроить дополнительно.
Таймауты и ретраи
Локальные модели могут думать долго. Особенно если у вас не топовое железо или вы запускаете большую модель на виртуалке. Стандартные таймауты Aider слишком агрессивны.
# Расширенный конфиг с таймаутами
model: local-model
oai-api-key: dummy-key
oai-api-base: http://localhost:11434/v1
timeout: 300 # 5 минут вместо стандартных 30 секунд
max-retries: 3 # Количество попыток при ошибках
chat-completion-params:
temperature: 0.1
max_tokens: 8192
timeout: 600 # Таймаут для самого запроса
disable-notifications: true
Контекст и токены
Разные модели имеют разный максимальный контекст. Llama 3.2 (самая популярная на январь 2026 для локального кодинга) работает с 128K, но старые модели могут иметь 4K или 8K. Укажите правильные лимиты:
model: llama3.2:latest # Явное указание модели
max-context-tokens: 122880 # 128K минус запас
max-chat-history-tokens: 4096 # Сколько истории сохранять
Если не указать max-context-tokens, Aider будет использовать значение по умолчанию, которое может быть меньше возможностей вашей модели.
Ошибки, которые заставят вас выть
Вот список проблем, с которыми вы точно столкнетесь, и как их решить без потери нервных клеток.
| Ошибка | Причина | Решение |
|---|---|---|
401: Invalid API key |
Aider требует API key даже для локальных моделей | Добавьте oai-api-key: dummy-key в конфиг |
404: Not Found на /v1/models |
Сервер не реализует OpenAI-совместимый API | Используйте Ollama, LM Studio или добавьте прокси |
Timeout after 30s |
Модель думает дольше таймаута | Увеличьте timeout в конфиге до 300+ |
Model not available |
Aider не находит указанную модель | Проверьте имя модели через curl /v1/models |
Прокси для несовместимых серверов
Если ваш LLM-сервер не поддерживает OpenAI API, но вы хотите использовать его с Aider, поставьте простой прокси на Python:
from flask import Flask, request, jsonify
import requests
app = Flask(__name__)
# Ваш реальный endpoint
LLM_URL = "http://localhost:8080/generate"
@app.route('/v1/chat/completions', methods=['POST'])
def chat_completions():
data = request.json
# Конвертируем формат OpenAI в формат вашего сервера
payload = {
"prompt": data['messages'][-1]['content'],
"max_tokens": data.get('max_tokens', 512)
}
response = requests.post(LLM_URL, json=payload)
# Конвертируем обратно в OpenAI формат
return jsonify({
"choices": [{
"message": {
"content": response.json()['text']
}
}]
})
@app.route('/v1/models')
def models():
return jsonify({
"data": [{"id": "custom-model", "object": "model"}]
})
if __name__ == '__main__':
app.run(port=5001)
Теперь в Aider укажите oai-api-base: http://localhost:5001/v1 и модель custom-model.
Производительность: как не ждать по 5 минут за каждый запрос
Локальные модели медленнее облачных. Особенно если у вас нет GPU или вы используете CPU-инференс на домашнем железе. Вот как ускорить процесс:
- Используйте квантованные модели (Q4_K_M или Q5_K_M дают хороший баланс качества/скорости)
- Установите
num_threadsв Ollama равным количеству физических ядер - Для больших проектов ограничьте контекст через
max-context-tokens - Используйте модели, заточенные под код: CodeLlama, DeepSeek-Coder, StarCoder
На январь 2026 года лучшие модели для кодинга: DeepSeek-Coder-V2 (34B квантованная), Llama 3.2 Coder (11B), Qwen2.5-Coder (7B). CodeLlama устарела, но все еще работает.
Интеграция с другими инструментами
Aider не существует в вакууме. Вот как заставить его работать с вашим стеком:
Git и предкоммитные проверки
Aider отлично интегрируется с Git, но с локальными моделями есть нюанс: проверка кода перед коммитом может занимать много времени. Настройте фильтры:
# В .aider.conf.yml проекта
git:
auto-commit: false # Отключите авто-коммиты для больших изменений
diff-context: 3
# Используйте .aiderignore для исключения файлов
# Например, node_modules, .git, большие бинарные файлы
IDE и редакторы
Хотя Aider - CLI инструмент, его можно интегрировать с VS Code через задачи или использовать вместе с Obsidian для документации. Просто запускайте aider в отдельном терминале, а результаты копируйте в редактор.
Когда все равно не работает
Если после всех манипуляций Aider упорно отказывается работать с вашей локальной моделью, есть радикальное решение: использовать не Aider, а альтернативы. Но прежде чем сдаваться, проверьте:
- Версию Aider (на 21.01.2026 актуальна 0.45.0+)
- Что сервер действительно запущен и отвечает на curl-запросы
- Что модель загружена и работает (проверьте логи сервера)
- Нет ли конфликта портов (11434 для Ollama, 1234 для Oobabooga)
Иногда проблема в самом Aider. Откройте issue на GitHub, но перед этим проверьте, не решили ли ее в последнем релизе.
Итог: стоит ли игра свеч?
Настройка Aider для локального инференса - это не пять минут работы. Это час-два ковыряния в конфигах, тестирования разных моделей и настройки параметров. Но когда все заработает, вы получаете инструмент для рефакторинга и генерации кода, который не отправляет вашу интеллектуальную собственность в облако.
Особенно актуально для бизнеса с требованиями к безопасности или разработчиков, работающих с закрытым кодом.
Главный совет: начните с простой конфигурации, проверьте базовую работу, а потом уже настраивайте продвинутые параметры. И не верьте документации слепо - она часто отстает от реальности на пару версий.