← Все гайды AI Release
EN Подписаться на @ai_release1

Как программировать без IDE с Qwen Coder: установка и настройка в терминале

Обновлено: 06.11.2026 · AI Release · @ai_release1
Как программировать без IDE с Qwen Coder: установка и настройка в терминале

TL;DR

Требования и подготовка

Иллюстрация к разделу «Требования и подготовка»
Иллюстрация к разделу «Требования и подготовка»

Чек-лист перед стартом:

Шаг 1. Поднять локальный сервер модели на Ollama

Иллюстрация к разделу «Шаг 1. Поднять локальный сервер модели на Ollama»
Иллюстрация к разделу «Шаг 1. Поднять локальный сервер модели на Ollama»

Что сделать: установить Ollama, скачать модель семейства Qwen Coder и убедиться, что она отвечает по HTTP.

Зачем: Ollama поднимает локальный HTTP-сервер с OpenAI-совместимым API на порту 11434. Дальше любой терминальный агент сможет обращаться к модели как к обычному облачному API, но запросы останутся на вашей машине.

Установка (Linux и WSL2; для macOS/Windows есть штатные установщики — сверьтесь с документацией):

curl -fsSL https://ollama.com/install.sh | sh
ollama --version

Ожидаемый вывод: строка вида ollama version is <номер версии>.

Скачивание модели и проверка списка:

ollama pull qwen2.5-coder:7b
ollama list

ollama list печатает таблицу с колонками NAME, ID, SIZE, MODIFIED — в первой строке должна появиться ваша модель. Если нужен более крупный вариант, имя тега берётся из библиотеки моделей (сверьтесь с документацией): чем больше параметров, тем выше требования к RAM/VRAM.

Пример: проверка, что модель вообще отвечает, без всяких агентов:

ollama run qwen2.5-coder:7b "Напиши одну строку: функцию Python sum_list(nums)"

На экране появится код функции и приглашение >>>. Выход — Ctrl+D.

Проверка HTTP-эндпоинта (именно к нему будет ходить CLI):

curl -s http://localhost:11434/v1/models

Как проверить: в ответе должен быть JSON с массивом data, где есть "id", совпадающий с именем скачанной модели. Если curl вернул Connection refused — сервер не запущен, см. раздел проблем.

Почему это работает: Ollama держит демон, который слушает 127.0.0.1:11434 и отдаёт маршруты /v1/* в формате OpenAI API, поэтому клиенту достаточно подменить base URL.

Если позже понадобится ускорять локальный инференс на своей машине, полезна отдельная инструкция: Как ускорить DeepSeek с помощью DeepInfer.

КритерийЛокально (Ollama)Облачный OpenAI-совместимый API
Где обрабатываются данныеНа вашей машинеНа серверах провайдера
Что нужноRAM/VRAM под тег моделиAPI-ключ и `<base-url>`
Порт/адрес для клиента`http://localhost:11434/v1``<base-url>` из панели провайдера
ОплатаНетПо тарифам провайдера (сверьтесь с документацией)
СкоростьЗависит от железаЗависит от провайдера

Шаг 2. Установить и настроить терминальный агент Qwen Code

Что сделать: поставить CLI-агент глобально через npm и связать его с выбранным бэкендом через переменные окружения.

Зачем: сам по себе сервер модели не умеет читать ваш проект и править файлы. CLI-агент — это обёртка, которая добавляет к модели инструменты: чтение файлов, запись, запуск команд в текущем каталоге.

npm install -g @qwen-code/qwen-code
command -v qwen

Пример: command -v qwen печатает путь вида /home/<user>/.npm-global/bin/qwen. Если вывода нет — бинарник не попал в PATH, команда установлена в другой prefix (см. проблему про EACCES).

Проверка версии Node.js перед запуском:

node -v

Если версия слишком старая, агент упадёт на старте с синтаксической ошибкой — мажорную версию сверьте с README проекта.

Настройка подключения. Для локального Ollama:

export OPENAI_API_KEY="ollama"
export OPENAI_BASE_URL="http://localhost:11434/v1"
export OPENAI_MODEL="qwen2.5-coder:7b"

Для облачного провайдера меняются две строки — ключ и адрес из панели:

export OPENAI_API_KEY="<ваш-ключ>"
export OPENAI_BASE_URL="<base-url из панели провайдера, например https://<host>/v1>"
export OPENAI_MODEL="<имя модели из панели>"

Почему ключ ollama для локального варианта: клиент требует непустое значение заголовка Authorization, а локальный сервер его не проверяет.

Чтобы переменные не терялись между сессиями, добавьте те же три строки в профиль шелла:

cat >> ~/.bashrc <<'EOF'
export OPENAI_API_KEY="ollama"
export OPENAI_BASE_URL="http://localhost:11434/v1"
export OPENAI_MODEL="qwen2.5-coder:7b"
EOF
source ~/.bashrc

Для zsh замените ~/.bashrc на ~/.zshrc. Точные имена переменных и возможные альтернативы (QWEN_*) сверьте с README: у форков CLI они отличаются.

Как проверить: echo "$OPENAI_BASE_URL" печатает адрес, qwen запускается и показывает приглашение ввода. Внутри введите /help — появится список слэш-команд (их набор сверьте с документацией) и подтверждение, что агент видит рабочую директорию.

Шаг 3. Проверить работу на реальном файле и зафиксировать результат

Иллюстрация к разделу «Шаг 3. Проверить работу на реальном файле и зафиксировать результат»
Иллюстрация к разделу «Шаг 3. Проверить работу на реальном файле и зафиксировать результат»

Что сделать: создать тестовый проект с заведомой ошибкой, попросить агента её исправить и убедиться, что файл на диске изменился, а программа заработала.

Зачем: это единственная проверка, которая доказывает, что связка «CLI → API → модель» работает не только в чате, но и с файловой системой.

mkdir -p ~/qwen-test && cd ~/qwen-test
cat > report.py <<'EOF'
def average(values):
    total = 0
    for v in values:
        total += v
    return total / len(values)


print(average([]))
EOF
python3 report.py

Пример: на экране появится трейсбек, последняя строка — ZeroDivisionError: division by zero. Теперь запускаем агента:

qwen

В приглашении вводим задачу:

В файле report.py функция average падает на пустом списке.
Исправь: при пустом списке возвращай 0. Покажи изменённый фрагмент.

Агент прочитает report.py, предложит правку и (после подтверждения) запишет файл. Проверка результата:

python3 report.py

Как проверить: на экране 0.0 вместо трейсбека, а cat report.py показывает добавленную проверку на пустой список. Это и есть успех: агент изменил реальный файл, а не выдал текст в чат.

Минимальный чек-лист приёмки:

Возможные проблемы и решения

Проблема. Агент не подключается к модели, запросы висят или сразу падают.

ollama serve &
curl -s http://localhost:11434/v1/models

Если в ответ пришёл JSON, повторите qwen. На macOS проще запустить приложение Ollama из меню и повторить curl.

Проблема. Облачный провайдер отклоняет запросы.

export OPENAI_API_KEY="<ваш-ключ>"
export OPENAI_BASE_URL="<base-url>/v1"
echo "$OPENAI_BASE_URL"

После этого перезапустите qwen. Значение должно быть без угловых скобок и без слова <ваш-ключ>.

Проблема. Глобальная установка npm падает по правам.

npm config set prefix ~/.npm-global
export PATH="$HOME/.npm-global/bin:$PATH"
npm install -g @qwen-code/qwen-code
command -v qwen

Строку с export PATH добавьте в ~/.bashrc, иначе после перезапуска терминала команда снова пропадёт.

Резюме и следующие шаги

Вы получили рабочую связку «локальный или облачный OpenAI-совместимый endpoint + терминальный агент Qwen Coder», которая читает и правит файлы проекта прямо из консоли. Дальше имеет смысл зафиксировать переменные окружения в профиле шелла и прогнать агента на реальной задаче — например, на добавлении тестов в существующий модуль.

FAQ

Нужна ли видеокарта для локального варианта?

Нет, Ollama работает и на CPU, но ответы будут генерироваться медленнее. Требования к RAM/VRAM для конкретного тега модели смотрите на странице модели — сверьтесь с документацией.

Можно ли использовать облачную модель вместо локальной?

Да. Достаточно поменять OPENAI_BASE_URL, OPENAI_API_KEY и OPENAI_MODEL на значения из панели провайдера; остальные шаги не меняются.

Чем это отличается от копирования кода из веб-чата?

Агент работает в каталоге проекта: читает файлы по имени, вносит правки на диск и запускает команды, поэтому не нужно вручную переносить код туда и обратно.

Можно ли запустить ассистента не на ПК, а на телефоне или часах?

В терминале нужен Linux, macOS или WSL2. Для носимых устройств сценарий другой — см. гайд по ИИ-чату на Wear OS.

🤖 Кратко для ИИ