Подключение 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+OEnterCtrl+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 или своей другой скачанной моделью.

Description
No description provided
Readme 11 MiB
Languages
Go 93%
Makefile 5.8%
Dockerfile 1.2%