Подключение Codex к удалённой машине через Ollama
1. Узнаём IP сервера
Первым делом нужно узнать IP выбранного сервера.
Linux:
hostname -I
Первый адрес в выводе — это ваш IP.
Windows:
ipconfig
Ищешь строку:
IPv4 Address: 192.168.x.x
2. Устанавливаем Ollama
Linux:
curl -fsSL https://ollama.com/install.sh | sh
Windows: самый удобный способ установки — через официальный сайт через установщик (.exe).
ВАЖНО: Если у сервера недостаточно мощная GPU или её вообще нет, то отвечать модели будут очень долго.
3. Скачиваем модель
Заходим на сайт https://ollama.com/library и выбираем любую/любые модели для установки. Внимательно смотрите на её объём (он измеряется в миллиардах параметров) и на то, совместима ли она с Codex (это можно узнать, кликнув на модель и внизу под Applications будет написан codex, если совместима, и ничего если нет).
Копируем название модели (для примера я взял qwen3:0.6b). Теперь на сервере пишем:
ollama pull qwen3:0.6b
Пойдёт установка модели на сервер.
4. Настройка переменных окружения (самое важное)
Зачем это нужно
По умолчанию Ollama:
- слушает только
localhost(другие устройства не видят) - может выгружать модель из памяти
- может обрабатывать несколько запросов и падать (на слабых устройствах)
Переменные
| Переменная | Значение | Описание |
|---|---|---|
OLLAMA_HOST |
0.0.0.0 |
ОБЯЗАТЕЛЕН. Открывает доступ к серверу по сети. |
OLLAMA_KEEP_ALIVE |
30m или -1 |
ОБЯЗАТЕЛЕН. Держит модель в памяти. 30m — выгрузит через 30 минут, если запросов не будет, -1 — не выгружает вообще. Без этого модель будет постоянно перезагружаться. |
OLLAMA_NUM_PARALLEL |
1, 2, 3 или 4 |
Количество одновременных запросов. Можно не ставить, если не нужны параллельные запросы. |
OLLAMA_FLASH_ATTENTION |
1 |
Ускоряет инференс на GPU (если поддерживается). Полезен, если есть GPU. |
OLLAMA_KV_CACHE_TYPE |
q8_0 / f16 / q4_0 |
Кэш ключ-значение (KV cache), который модель использует для контекста. |
Типы KV-кэша:
| Значение | Память | Скорость |
|---|---|---|
f16 |
много | быстрее |
q8_0 |
средне | нормально |
q4_0 |
мало | чуть медленнее |
Как задать переменные
Linux
sudo systemctl edit ollama
Появится панель в nano — что-то вроде такой:
### Editing /etc/systemd/system/ollama.service.d/override.conf
### Anything between here and the comment below will become the contents of the drop-in file
### Edits below this comment will be discarded
### /etc/systemd/system/ollama.service
# [Unit]
# Description=Ollama Service
# ...
Необходимо между строками Anything between here and the comment below... и Edits below this comment will be discarded вставить:
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_KEEP_ALIVE=30m"
(ну и другие Environment если нужно)
Сохраняем и выходим: Ctrl+O → Enter → Ctrl+X.
Далее перезагружаем Ollama, чтобы она запускалась как "сервер":
sudo systemctl daemon-reload
sudo systemctl restart ollama
Windows
PowerShell (от имени администратора):
setx OLLAMA_HOST "0.0.0.0" /M
setx OLLAMA_KEEP_ALIVE "30m" /M
И в новой консоли запускаем:
ollama serve
5. Проверка, что Ollama запущена
На самом сервере:
curl http://localhost:11434/api/tags
И с другого ноутбука или ПК пишем в терминале:
curl http://<IP_СЕРВЕРА>:11434/api/tags
Так мы узнаем, запущен ли сервер.
6. Настройка Codex на клиентском устройстве
Переходим к другому устройству. Предварительно необходимо установить Node.js и Codex.
После установки нужно изменить конфиг Codex'а, чтобы Codex отправлял запросы не к openai.com, а к нам на сервер.
На Linux просто пишем в терминал:
nano ~/.codex/config.toml
Windows: файл находится в директории:
C:\Users\<user>\.codex\config.toml
Далее написан пример конфига с обязательными переменными для заполнения (но можете сами корректировать названия моделей):
model = "qwen3:0.6b" # по умолчанию стоит auto, теперь при запуске будет запускаться наша установленная модель
model_provider = "ollama_direct"
[model_providers.ollama_direct]
name = "Ollama"
base_url = "http://192.168.1.50:11434/v1" # указываем ip сервера - http://ip:11434/v1
wire_api = "responses"
# Поле для дополнительных моделей — чтобы можно было работать с множеством моделей.
# Название "small" можно заменить на какое угодно.
[profiles.small]
model = "qwen2.5-coder:0.5b" # или любая другая, главное — заранее установить на сервер (ollama pull)
model_provider = "ollama_direct"
ВАЖНО: если в конфиге есть поле
OPENAI_API_KEY, то удалите его.
7. Запуск
Всё, теперь пишем в терминале:
codex
И работаем с выбранной нами по умолчанию моделью.
Можно также выбрать другую модель, которую написали в доп поле как [profiles.]:
codex --profile small
Тогда будете работать с, как у меня в примере, qwen2.5-coder:0.5b или своей другой скачанной моделью.