Обвязки

Pastukhov Agent нейтрален к движку: он оборачивает любой CLI-агент программирования и превращает его в полноценный веб-интерфейс с чатом, файлами, diffs, сборками, сессиями и аналитикой. Из коробки доступны пять встроенных обвязок — Claude Code (по умолчанию), Codex, Reasonix, OpenCode и Pi, — а подключение любой новой занимает около суток по запросу.

Все обвязки реализуют единый интерфейс IAgentBackend, поэтому для вас они выглядят одинаково: тот же интерфейс чата, те же навыки, хуки, сборки и статистика. Меняется только «движок» под капотом — какой CLI-бинарник реально запускается на каждое сообщение.


Как это работает

Обвязка выбирается переменной окружения AGENT_BACKEND, которая задаётся в конфигурации окружения (см. Окружения). Разрешение происходит по тому же принципу, что и остальные переменные:

  1. Берётся окружение, выбранное для чата;
  2. Если не задано — используется настройка selectedEnvironment;
  3. Если и её нет — берётся окружение default;
  4. Из результирующего набора переменных читается AGENT_BACKEND. Если её нет — используется claude-code.

Допустимые значения: claude-code (по умолчанию), codex, reasonix, opencode, pi. Таким образом, переключить движок можно для каждого чата отдельно — достаточно сменить у него окружение.

Авто-установка. Если нужного бинарника нет в PATH, Pastukhov Agent установит его сам при первом сообщении через npm install -g <пакет>, а прогресс в реальном времени покажет прямо в чате. Устанавливать что-либо вручную обычно не нужно.


Встроенные обвязки

  • Claude Code@anthropic-ai/claude-code. Базовая обвязка, по умолчанию. Полная поддержка: внутренний прокси, сабагенты, навыки, переключение моделей.
  • Codex@openai/codex. Модели GPT-5 от OpenAI. Вход через подписку ChatGPT (Go/Plus/Pro, безлимит) либо по prepaid API-ключу. Протестирован отлично — работает полностью.
  • OpenCodeopencode-ai. Движок-агностик: подключаете любой свой провайдер (Anthropic, OpenAI, Gemini, локальная модель).
  • Pi@earendil-works/pi-coding-agent. Минимальный расширяемый агент из pi.dev. Тоже работает с любым провайдером по вашему ключу.
  • Reasonixreasonix. DeepSeek-native агент (reasonix.io): модели DeepSeek-V4 Flash/Pro, контекст 1М токенов. Ключ DeepSeek, без подписки. Протестирован отлично — работает полностью.

Как подключить обвязку

Подключение сводится к созданию окружения с правильной переменной AGENT_BACKEND и аутентификационными данными нужного движка:

  1. Откройте Настройки → Окружения и нажмите «Создать»;
  2. Выберите готовый шаблон провайдера — Codex, Reasonix, OpenCode или Pi (они уже содержат AGENT_BACKEND и нужные переменные);
  3. Заполните API-ключ или выполните вход (для Codex — кнопка /login с подпиской ChatGPT);
  4. Выберите это окружение у чата — при первом сообщении бинарник установится автоматически.

Либо создайте окружение типа Custom и задайте переменные вручную — это даёт полный контроль. Пример для Codex:

AGENT_BACKEND=codex
CODEX_API_KEY=$CODEX_API_KEY      # или вход через ChatGPT вместо ключа
MODEL=gpt-5.6-sol

Claude Code (по умолчанию)

Эталонная обвязка, на которой работает всё остальное. Пакет @anthropic-ai/claude-code (по умолчанию 2.1.217), бинарник claude. Поддерживает внутренний прокси-сервер для логгирования трафика и подсчёта стоимости, сабагенты, навыки и переключение моделей Opus/Sonnet/Haiku на лету.

Аутентификация — через стандартные переменные Anthropic:

  • ANTHROPIC_API_KEY — прямой ключ Anthropic;
  • ANTHROPIC_AUTH_TOKEN — токен для совместимых прокси (например, z.ai);
  • ANTHROPIC_BASE_URL — адрес upstream-провайдера или прокси.

Codex

OpenAI Codex CLI — модели GPT-5. Пакет @openai/codex (по умолчанию 0.146.0), бинарник codex, запускается в режиме codex exec --json: один процесс на сообщение, события стримятся как NDJSON, завершение — по выходу процесса. Сессии сохраняются и возобновляются через resume.

Два способа аутентификации, управляемые переменной CODEX_AUTH (auto по умолчанию):

  • Подписка ChatGPT (CODEX_AUTH=chatgpt) — безлимитное использование по плану Go/Plus/Pro. Вход выполняется командой /login через device-code: открывается ссылка auth.openai.com, вводится код, учётка сохраняется в ~/.codex/auth.json. Квота подписки отслеживается встроенным сервисом.
  • API-ключ (CODEX_AUTH=apikey или когда логина нет) — prepaid-кредиты. Переменные OPENAI_API_KEY/CODEX_API_KEY и опционально OPENAI_BASE_URL для прокси.

В режиме auto (по умолчанию) Pastukhov Agent сам выбирает: если есть логин ChatGPT — идёт подписка, иначе — API-ключ.

Доступные модели: gpt-5.6-sol (флагман), gpt-5.6-luna (быстрая и недорогая). Задаются переменной MODEL.

Codex протестирован отлично и работает полностью — чат, инструменты, сессии, аналитика и трекинг квоты подписки.


OpenCode

Движок-агностик с opencode.ai. Пакет opencode-ai (актуальная версия), бинарник opencode, запуск opencode run --format json. Альтернативная установка одним скриптом: curl -fsSL https://opencode.ai/install | bash.

Аутентификация — свой ключ провайдера (подписок нет):

  • ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY — ключ нужного провайдера;
  • LOCAL_ENDPOINT — для локальной модели;
  • любые переменные с префиксом OPENCODE_.

Модель задаётся в формате «провайдер/модель», например MODEL=anthropic/claude-sonnet-4-20250514.


Pi

Минимальный расширяемый агент из pi.dev. Пакет @earendil-works/pi-coding-agent (актуальная версия), бинарник pi, запуск в режиме pi --mode rpc — Pastukhov Agent общается с ним по RPC-протоколу (команды set_model и т. п.), сессии сохраняются в JSONL и возобновляются после перезапуска.

Аутентификация — свой ключ провайдера, как у OpenCode:

  • ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, LOCAL_ENDPOINT;
  • любые переменные с префиксом PI_.

Модель — в формате «провайдер/модель:мышление», например MODEL=anthropic/claude-sonnet-4-20250514:medium (суффикс :thinking задаёт уровень размышлений).


Reasonix

DeepSeek-native coding-агент (reasonix.io). Пакет reasonix (актуальная версия), бинарник reasonix, запуск reasonix run --output-format stream-json --auto: один процесс на сообщение, события стримятся как NDJSON, завершение — по выходу процесса. Сессии сохраняются в JSONL и возобновляются через --resume.

Аутентификация — ключ DeepSeek (без подписки, prepaid-кредиты):

  • DEEPSEEK_API_KEY — ключ для api.deepseek.com;
  • для произвольного OpenAI-compatible провайдера (OpenRouter и т. п.) — REASONIX_BASE_URL, REASONIX_API_KEY и модель (REASONIX_MODEL либо MODEL).

Reasonix читает ключи провайдера только из своего конфига (<REASONIX_HOME>/.env), а не из переменных окружения — но Pastukhov Agent сам подкладывает туда разрешённые ключи перед запуском, вручную ничего настраивать не нужно.

Модели DeepSeek — Flash (быстрая, по умолчанию) и Pro. Контекстное окно — 1М токенов. Задаются переменной MODEL в формате «провайдер/модель» (например deepseek/deepseek-v4-pro); готовые шаблоны окружения Reasonix уже содержат правильное значение.

Reasonix протестирован отлично и работает полностью — чат, инструменты, рассуждения, сессии и аналитика.


Справочник переменных

  • AGENT_BACKEND — выбор обвязки: claude-code (по умолчанию), codex, reasonix, opencode, pi
  • CLAUDE_PATH / CODEX_PATH / REASONIX_PATH / OPENCODE_PATH / PI_PATH — путь к конкретному бинарнику (переопределение авто-поиска)
  • CLAUDE_CODE_VERSION / CODEX_VERSION / REASONIX_VERSION / OPENCODE_VERSION / PI_VERSION — зафиксировать версию при авто-установке
  • CODEX_AUTH — способ входа в Codex: auto (по умолчанию), chatgpt, apikey
  • OPENAI_API_KEY / CODEX_API_KEY — prepaid-ключ OpenAI для Codex (+ OPENAI_BASE_URL для прокси)
  • DEEPSEEK_API_KEY — ключ DeepSeek для Reasonix; либо REASONIX_BASE_URL + REASONIX_API_KEY для OpenAI-compatible провайдера (OpenRouter и т. п.)
  • MODEL — модель в формате, принятом обвязкой (имя для Codex, провайдер/модель для OpenCode и Reasonix, провайдер/модель:thinking для Pi)

Установка и версии

По умолчанию бинарники ставятся автоматически через npm при первом использовании. Если нужно поставить вручную:

npm install -g @anthropic-ai/claude-code   # Claude Code
npm install -g @openai/codex               # Codex
npm install -g reasonix                    # Reasonix (либо: brew install esengine/reasonix/reasonix)
npm install -g opencode-ai                 # OpenCode (либо: curl -fsSL https://opencode.ai/install | bash)
npm install -g @earendil-works/pi-coding-agent  # Pi

Версию можно зафиксировать переменной окружения (например CODEX_VERSION=0.146.0), либо указать точный путь к бинарнику через *_PATH — тогда авто-установка не понадобится вовсе.


Статус и поддержка

  • Claude Code — обвязка по умолчанию, работает идеально: полный функционал без ограничений.
  • Codex протестирован отлично — стабильная полноценная работа: чат, инструменты, сессии, аналитика, трекинг квоты ChatGPT.
  • Reasonix протестирован отлично — стабильная полноценная работа: чат, инструменты, рассуждения DeepSeek, сессии и аналитика.
  • OpenCode и Pi реализованы и подключаются, но как более свежие обвязки могут содержать мелкие шероховатости. Любые баги в них поправимы буквально за пару часов по запросу.
  • Новая обвязка по запросу — нужно подключить ещё какой-нибудь CLI-агент (Gemini CLI, Cursor, Aider и т. п.)? Архитектура IAgentBackend это предусматривает: подключение любой новой обвязки занимает около 1 суток.