Codex: кодовый агент для Linux

Установка Codex на Linux Debian 12

Сначала обновим Node.js до последней версии (если установлен):

npm update -g npm
sudo npm install -g n
sudo n stable
hash -r

Установим Codex:

sudo npm install -g @openai/codex

Настройка

Создадим файл конфигурации в домашнем каталоге:

mkdir -p ~/.codex
nano ~/.codex/config.json

И поместим туда следующее содержимое:

{
  "model": "/srv/models/DeepSeek-Coder-V2-Lite-Instruct-Q5_K_M.gguf",
  "provider": "ollama",
  "providers": {
    "ollama": {
      "name": "Ollama",
      "baseURL": "http://address:port",
      "envKey": "OPENAI_API_KEY"
    }
  },
  "approvalMode": "full-auto",
  "fullAutoErrorMode": "ask-user",
  "notify": true,
  "history": {
    "maxSize": 1000,
    "saveHistory": true,
    "sensitivePatterns": []
  }
}

Где:
model: полное имя файла модели (без пути), точно так, как оно задано при запуске llama-server
provider: ollama - и только ollama (и name у провайдера должно быть Ollama)*
baseURL: http://address:port своего сервера llama-serverenvKey”: “OPENAI_API_KEY” - обязательный параметр
Все остальные ключи - по необходимости, см. Configuration guide.

  • Это не баг, а фича Codex: он всегда требует ввода OPENAI_API_KEY (и он должен быть правильной длинны), даже при использовании своего провайдера. Но, по многочисленным жалобам пользователей, для случая, когда у своего провайдера нет ключа, сделали исключение, но только для провайдера с именем ollama и name у провайдера должно быть Ollama.

В принципе, на этом можно и закончить настройку, но можно создать ещё файл ~/.codex/AGENTS.md:

nano ~/.codex/AGENTS.md
и записать туда указания для поведения Codex, например:
- Always respond with emojis
- Only use git commands when explicitly requested
Читать руководство тут и тут.

Запуск llama-server для работы с codex

llama-server должне запускаться с ключём --jinja (либо нужно указать этот ключ в templates), например:

./llama-server --host 0.0.0.0 --port 8080 --ctx-size 8192 --gpu-layers 99 --parallel 4 --jinja --model /path/to/models/DeepSeek-Coder-V2-Lite-Instruct-Q5_K_M.gguf

Запуск Codex

export OPENAI_API_KEY="any"   
codex

OPENAI_API_KEY="any" можно (как и другие константы для Codex, например DEBUG=true) записать в файл .env, находящейся в каталоге запуска Codex. Фразу “any” можно изменить на любую не пустую. Более подробно о настройках Codex читать тут.