---
title: "Модели"
id: "348"
type: "page"
slug: "models"
published_at: "2026-05-19T11:30:47+00:00"
modified_at: "2026-09-04T08:09:34+00:00"
url: "https://pastukhov.com/agents/agent/docs/models"
markdown_url: "https://pastukhov.com/agents/agent/docs/models.md"
excerpt: "«Модель» в Pastukhov Agent — это не только сама ИИ-модель, а полный «паспорт подключения» к…"
---

# Модели

[https://pastukhov.com/agents/agent/docs/models.md](https://pastukhov.com/agents/agent/docs/models.md)

**«Модель» в Pastukhov Agent — это не только сама ИИ-модель, а полный «паспорт подключения» к поставщику ИИ:** какой агент-исполнитель обслуживает чаты, какой у вас ключ доступа, на какой адрес отправляются запросы, какие цены считать. Вы можете завести несколько таких паспортов (например, для Claude, GPT и недорогой модели на каждый день) и переключаться между ними прямо из чата — без перезапуска программы.

Почти все настройки агента задаются через **переменные окружения** — это технические параметры запуска, которые вы указываете один раз, а программа применяет их автоматически. Они делятся на два типа:

- **Переменные уровня приложения** — настраивают сам Pastukhov Agent (логин и пароль для входа, путь к проекту, лицензия, ключи). Задаются до запуска — через системные переменные окружения, аргументы командной строки или файл `.env` — и со страницы «Модели» не меняются;
- **Переменные уровня модели** — настраивают подключение к ИИ и управляются полностью через страницу **Модели**. Каждая модель — именованный набор переменных (ключи, названия моделей, адреса, цены) и агента-обвязки. Модели можно создавать, копировать и переключать в любой момент.

## Переменные уровня приложения

Эти переменные настраивают сам Pastukhov Agent и должны быть заданы до запуска. Их нельзя поменять со страницы «Модели» — используются системные переменные окружения, аргументы командной строки (`KEY=VALUE` при запуске) или файл `.env` (подключается через `--env имя_файла`).

### Основные настройки

- `AGENT_LOGIN` — имя пользователя для входа в интерфейс. Если не задано, автоматически подставляется `agent`;
- `AGENT_PASSWORD` — пароль в виде хеша SHA256 (хеш — это «отпечаток» текста, восстановить по нему исходный пароль нельзя). Если не задан, генерируется автоматически и выводится в консоль до перезапуска. Хеш для своего пароля можно получить на странице входа — по ссылке «▸ SHA256 generator» под кнопкой входа;
- `AGENT_PROJECT_PATH` — путь к папке проекта. Нужен при ручной установке и в Docker. Папка может быть пустой или ещё не существовать — тогда агент сам получит проект из настроенного Git-адреса;
- `AGENT_LICENSE` — ключ лицензии. Если не задан, используется пробная лицензия;
- `AGENT_API_KEY` — хеш SHA256 ключа API для удалённого доступа. Если не задан, удалённый доступ отключён;
- `AGENT_DATABASE` — путь к базе данных программы или строка подключения PostgreSQL. По умолчанию — файл `.pastukhov/project.db` (SQLite), лежащий рядом с проектом, чтобы его можно было сохранять в Git. Для серьёзной эксплуатации лучше PostgreSQL — она быстрее и надёжнее SQLite;
- `JWT_SECRET_KEY` — секретный ключ подписи «пропусков» входа (JWT; минимум 32 символа). Не задали — ключ сгенерируется сам. Это важная деталь безопасности: кто знает ключ, тот может сам создавать действительные пропуска. Без своего ключа при пересоздании Docker-контейнера он перегенерируется и всем пользователям придётся входить заново;
- `AGENT_CLICKHOUSE_URL` — адрес системы ClickHouse для сбора статистики чатов в единое хранилище. Позволяет строить общие графики по всем проектам сразу (например, в Grafana) вместо разрозненного просмотра проектов по отдельности. Пример: `Host=172.17.0.1;Port=8127;Protocol=http;Database=;Username=;Password=`;
- `MANAGER_PASSWORD` — пароль менеджера: при задании открывает доступ к чатам для централизованного управления агентом (используется MultiAgent);
- `AGENT_BRAND` — торговая марка интерфейса. По умолчанию определяется по имени исполняемого файла (`XedantAgent` → Xedant, прочее — Pastukhov). Меняет название продукта, логотип и папку конфигурации.

### Подключение Git-репозитория

- `AGENT_GIT_URL` — адрес Git-репозитория проекта (хранилища истории изменений), откуда клонировать проект. По умолчанию берётся демонстрационный репозиторий;
- `AGENT_GIT_LOGIN` — логин для доступа к репозиторию;
- `AGENT_GIT_PASSWORD` — пароль для доступа к репозиторию;
- `AGENT_GIT_USER_NAME` — имя автора, которое будет стоять в записях об изменениях;
- `AGENT_GIT_USER_EMAIL` — email автора для записей об изменениях.

### Встроенный FTP-сервер

В Docker-образы встроен FTP-сервер — по FTP можно подключаться к файлам проекта напрямую, из любого файлового менеджера. Подробности — на странице [Файлы](/agents/agent/docs/files)
.

- `AGENT_FTP_USER` — имя пользователя для FTP-доступа. Сервер запускается, только если заданы обе переменные (пользователь и пароль);
- `AGENT_FTP_PASSWORD` — пароль для FTP-доступа;
- `AGENT_FTP_MIN_PORT` — нижняя граница диапазона портов для передачи данных (по умолчанию `30000`);
- `AGENT_FTP_MAX_PORT` — верхняя граница диапазона (по умолчанию `30009`);
- `AGENT_FTP_ADDRESS` — адрес сервера для подключений; по умолчанию определяется автоматически.

### SSL и размещение

- `AGENT_SSL` — режим сертификата безопасности: `auto` автоматически включает защищённое соединение (HTTPS), даже без своего домена. Подробнее — на странице [SSL-сертификаты](/agents/agent/docs/ssl) ;
- `AGENT_SSL_PORT` — порт для HTTPS в режиме `AGENT_SSL=auto` (по умолчанию — номер HTTP-порта + 1);
- `AGENT_SSL_DOMAINS` — явный список доменов/IP через запятую, которые включить в сертификат;
- `AGENT_BASE_PATH` — размещение приложения в подпапке домена (например, `/agent1`), без отдельного домена. Работает вместе с `X-Forwarded-Prefix` за обратным прокси.

### Разное

- `AGENT_CLAUDE_PATH` — путь к программе (исполняемому файлу) Claude Code, если она установлена не в стандартном месте;
- `AGENT_BACKEND` — выбор агента-обвязки для чатов: `claude-code` (по умолчанию), `codex`, `opencode`, `pi`, `oh-my-pi`, `reasonix`, `deepseek-harness`, `kimi-code`, `mini` или `command-code`. Задаётся в конфигурации модели. Что такое обвязки и чем они отличаются — на странице [Обвязки](/agents/agent/docs/backends) ;
- `CODEX_PATH`, `OPENCODE_PATH`, `PI_PATH`, `OMP_PATH`, `REASONIX_PATH`, `KIMI_CODE_PATH` — пути к программе соответствующей обвязки (если она не найдена автоматически);
- `AGENT_YANDEX_DISK_TOKEN`, `AGENT_YANDEX_DISK_FOLDER`, `AGENT_YANDEX_DISK_POLL_INTERVAL` — удалённое управление агентом через Яндекс.Диск (включая десктопное приложение AgentRemote). См. страницу [Удалённое управление](/agents/agent/docs/remote-control) ;
- `AGENT_ICON_PATH` — путь к своей иконке, которая будет показана в интерфейсе (и в окне установленного приложения);
- `DISABLE_AUTOUPDATER` — установите `1`, чтобы отключить автоматическое обновление Claude Code (обычно нужно в Docker);
- `DOTNET_ROOT` — путь к среде выполнения .NET (используется системой сборки).

## Переменные уровня модели

Эти переменные настраивают подключение к ИИ и управляются со страницы «Модели». Они хранятся в `.pastukhov/models.yml` и передаются программе-исполнителю (обвязке) при запуске сеанса чата. Переменные модели имеют приоритет над системными, а системные используются как запасной вариант.

### Ключи доступа и адреса

- `ANTHROPIC_API_KEY` — ключ доступа к API Anthropic для прямой работы с Anthropic;
- `ANTHROPIC_AUTH_TOKEN` — ключ доступа для сторонних поставщиков (z.ai, OpenRouter, xAI, MiniMax, Kimi). Альтернатива `ANTHROPIC_API_KEY`;
- `ANTHROPIC_BASE_URL` — адрес API. По умолчанию — адрес Anthropic; для сторонних поставщиков меняется на их адрес;
- `MAX_MCP_OUTPUT_TOKENS` — максимальный объём ответа (в токенах) для вспомогательных серверов MCP, которые дают агенту дополнительные возможности. По умолчанию `100000`.

### Конфигурация модели

- `ANTHROPIC_MODEL` — основная модель для ответов в чате;
- `ANTHROPIC_DEFAULT_OPUS_MODEL` — модель для сложных подзадач, требующих максимальных возможностей;
- `ANTHROPIC_DEFAULT_SONNET_MODEL` — модель для сбалансированных подзадач (оптимум скорости и качества);
- `ANTHROPIC_DEFAULT_HAIKU_MODEL` — модель для быстрых и лёгких подзадач;
- `CLAUDE_CODE_SUBAGENT_MODEL` — модель для вспомогательных агентов, которых Claude Code запускает для параллельной работы над мелкими задачами;
- `MODEL` — модель для обвязок не от Anthropic (OpenCode, Pi, Oh My Pi, Reasonix, Codex, MiniAgent, Command Code и др.) в формате, принятом в этой обвязке;
- `MODEL_CONTEXT_LENGTH` — размер окна контекста (рабочей памяти) в токенах. Используется для расчёта стоимости и отображения заполнения.

### Цены (за миллион токенов)

Токены — это «единицы текста», за которые вы платите поставщику. Здесь задаются тарифы, по которым агент считает ваши расходы:

- `MODEL_INPUT_PRICE` — цена текста, отправляемого модели (ваши сообщения, содержимое файлов);
- `MODEL_OUTPUT_PRICE` — цена текста, сгенерированного моделью в ответ;
- `MODEL_CACHE_READ_PRICE` — цена обращения к кэшу: повторная обработка уже знакомого модели текста обходится дешевле;
- `MODEL_CACHE_WRITE_PRICE` — цена записи текста в кэш.

### Управление поведением

- `CLAUDE_DISABLE_EXPERIMENTAL_BETAS` — `true` отключает экспериментальные функции (рекомендуется для сторонних поставщиков, которые их не поддерживают);
- `DISABLE_NON_ESSENTIAL_MODEL_CALLS` — `true` отключает второстепенные обращения к модели (тоже рекомендуется для сторонних поставщиков — экономит и деньги, и время);
- `ENABLE_TOOL_SEARCH` — `false` отключает поиск инструментов (используется некоторыми поставщиками, которые его не поддерживают);
- `MODEL_PEAK_HOURS` — периоды «часов пик», когда провайдер берёт повышенную плату. Вместе с `MODEL_PEAK_DAYS` определяет, когда рядом с выбором модели появляется значок-предупреждение. Подробности — в разделе «Пиковые часы» ниже.

**Примечание:** при создании модели из встроенного шаблона провайдера (Anthropic, z.ai, OpenRouter, DeepSeek и др.) большинство переменных заполняется автоматически — включая обвязку. От вас нужен только ключ доступа: шаблон подставит названия моделей, адрес, цены и параметры поведения. См. раздел [Настройка первой модели](/agents/agent/docs/getting-started#setting-up-your-first-environment)
 в руководстве «Начало работы».

## Пиковые часы

Некоторые провайдеры берут повышенную плату в часы пиковой нагрузки. Модель может объявить свои пиковые периоды — тогда агент предупредит о них в интерфейсе и не будет тратить деньги на автоматические запуски в это время.

### Переменные пиковых часов

- `MODEL_PEAK_HOURS` — периоды «начало-конец» через запятую в формате `H:MM-H:MM`. Время задаётся по Гринвичу (GMT/UTC). Пример: `3:00-5:00,7:00-12:00`. Поддерживается переход через полночь — период `23:00-1:00` действует с 23:00 до 1:00. Если переменная не задана, пиковых часов у модели нет — она никогда не считается «в пике»;
- `MODEL_PEAK_DAYS` — дни недели английскими названиями через запятую, полные или сокращённые (`monday, tuesday` или `mon, tue` и т.д.). По умолчанию пиковые дни — понедельник–пятница; задав свою переменную, вы переопределяете их (например, `saturday,sunday`).

Обе переменные задаются в редакторе модели обычным способом: кнопка «Добавить переменную» и пара «имя — значение». Работают и наследование по сегментам имени, и подстановка `$ИМЯ` — включая системные переменные окружения (см. разделы «Наследование настроек» и «Подстановка переменных» ниже).

### Индикатор в интерфейсе

- **Где:** рядом с селектором модели в панели ввода сообщения;
- **Когда:** только если у выбранной модели сейчас пиковый период (часы и дни из её переменных);
- **Вид:** значок-предупреждение — градиентный треугольник с восклицательным знаком;
- **Подсказка:** «Пиковые часы модели с HH:MM до HH:MM, дороже» — время показывается в вашем локальном часовом поясе (значение из GMT конвертируется);
- **Обновление:** каждые 30 секунд и при переключении модели.

### Настройки поведения в пиковые часы

Две настройки управляют автоматикой в пиковые часы — автоотправкой промптов и автокликом кнопок. Обе по умолчанию включены.

| Настройка | По умолчанию | Где в интерфейсе | Когда выключена |
| --- | --- | --- | --- |
| promptsIgnorePeakHours | включено | AutoSend на странице Промпты | промпты, чья модель сейчас в пике, ждут в очереди; промпты непиковых моделей отправляются |
| autoclickDuringPeakHours | включено | карточка «Кнопки» на странице Настройки | кнопки с автонажатием в чатах пиковой модели не срабатывают сами — ждут ручного нажатия |

**`promptsIgnorePeakHours`.** Переключатель «Пиковые часы» в настройках AutoSend («AutoSend settings» рядом с переключателем автоотправки). Пока включена (по умолчанию), автоотправка работает как обычно и пики не учитываются: промпты отправляются, даже если модель в пике. Выключив её, вы запрещаете автоотправку промптов, чья модель сейчас в пике: такие строки ждут в очереди и отправятся после окончания пика.

**`autoclickDuringPeakHours`.** Переключатель «Автоклик в часы пик» в карточке «Кнопки» (Настройки → Автоматизация). Пока включена (по умолчанию), кнопки с автонажатием срабатывают по расписанию даже в пиковые часы модели чата. Выключите её — кнопки в чатах, чья модель сейчас в пике, не сработают сами и останутся доступными для ручного нажатия.

### Пример: пики в выходные

Модель «Weekend» с переменными `MODEL_PEAK_HOURS=18:00-22:00` и `MODEL_PEAK_DAYS=saturday,sunday`:

- каждую субботу и воскресенье с 18:00 до 22:00 по Гринвичу рядом с селектором модели появляется значок-предупреждение (подсказка покажет эти же часы в локальном времени);
- пока `promptsIgnorePeakHours` включена, промпты этой модели отправляются как обычно; если выключить — в выходные вечером они ждут в очереди до конца пика, а промпты других моделей продолжают отправляться;
- если выключить `autoclickDuringPeakHours`, кнопки с автонажатием в чатах на модели «Weekend» в эти часы не сработают сами — останутся только ручные нажатия.

## Что такое модель?

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

Например, можно завести:

- **Claude** — обвязка Claude Code, ключ Anthropic и модель Claude;
- **GPT** — обвязка Codex, подписка ChatGPT или ключ OpenAI и модель GPT-5;
- **GLM** — обвязка Claude Code, ключ z.ai и модель GLM;
- **DeepSeek** — обвязка Reasonix или DeepSeek Harness, ключ DeepSeek, оплата за токены (недорогой вариант для повседневной работы);
- **Testing** — дешёвая или быстрая модель для экспериментов.

У каждой модели свой набор переменных. При переключении ИИ немедленно начинает работать по новой конфигурации — уже со следующего сообщения.

**Наследование настроек.** Названия моделей поддерживают наследование по сегментам, разделённым дефисом. Модель `glm-5-turbo` автоматически наследует переменные моделей `glm-5` и `glm`. Это позволяет задать общие настройки (например, ключ и адрес) один раз в «родительской» модели, а в «дочерних» переопределять только отличия (название модели или цены). Собственные переменные всегда важнее унаследованных.

**Обвязки.** Каждая модель может работать на любом из десяти агентов-исполнителей: Claude Code, Codex, OpenCode, Pi, Oh My Pi, Reasonix, DeepSeek Harness, Kimi Code, MiniAgent или Command Code. Обвязка задаётся переменной `AGENT_BACKEND` в составе модели, поэтому можно держать несколько моделей на разных движках и переключаться между ними. Подробнее — на странице [Обвязки](/agents/agent/docs/backends)
.

## Просмотр моделей

Модели открываются из диалога «Модели» в главном меню (значок модели в шапке). Диалог показывает список всех настроенных моделей с цветами и основными настройками. Нажмите на модель, чтобы открыть её редактор и посмотреть или изменить все переменные.

 ![Список моделей Pastukhov Agent](https://pastukhov.com/wp-content/uploads/2026/06/environments-viewing-environments.png) ## Редактирование модели

Редактор показывает все переменные в виде пар «имя — значение». Настраивайте модель здесь, а изменения сохранятся сами.

 ![Редактор модели с парами ключ-значение](https://pastukhov.com/wp-content/uploads/2026/06/environments-detail-page.png) **Изменить переменную:** нажмите на поле значения и введите новое. Изменение сохраняется автоматически через короткую паузу — кнопка сохранения не нужна.

**Добавить переменную:** нажмите «Добавить переменную», чтобы создать новую пару «имя — значение».

**Добавить ссылочную переменную:** нажмите «Добавить ссылочную переменную», чтобы создать переменную, чьё значение ссылается на другую переменную. Удобно для упорядоченной конфигурации (см. раздел «Подстановка переменных» ниже).

**Изменить порядок:** перетаскивайте переменные вверх или вниз. Это нужно только для порядка — на работу переменных расположение не влияет.

**Контекстное меню:** клик правой кнопкой мыши по переменной открывает дополнительные действия — редактирование, удаление, копирование.

## Подстановка переменных

Переменные могут ссылаться на другие переменные — синтаксис `$ИМЯ_ПЕРЕМЕННОЙ`. При использовании модели ссылки автоматически раскрываются в реальные значения.

Например:

- `API_KEY` = `sk-abc123...` (ваш настоящий ключ доступа)
- `BASE_URL` = `https://api.example.com`
- `FULL_ENDPOINT` = `$BASE_URL/v1/chat` (ссылается на BASE_URL)

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

**Совет по безопасности:** синтаксис `$ИМЯ_ПЕРЕМЕННОЙ` работает и с системными переменными окружения. Это значит, что секреты (ключи доступа, лицензии, пароли) можно передавать через переменные окружения Docker, системные переменные или аргументы запуска, а в `models.yml` лишь ссылаться на них — и в репозиторий секреты не попадут:

```
# .pastukhov/models.yml — безопасно для сохранения в Git
models:
  production:
    variables:
      - ANTHROPIC_API_KEY=$MY_API_KEY          # берётся из системной переменной при запуске
      - ANTHROPIC_AUTH_TOKEN=$MY_AUTH_TOKEN     # секрет не хранится в файле
      - ANTHROPIC_BASE_URL=https://api.anthropic.com  # не секрет — можно хранить открыто
```

Настоящие секретные значения остаются в конфигурации Docker (файл compose, `.env` или флаги `-e`), а `models.yml` можно спокойно сохранять в Git и передавать коллегам.

## Создание новой модели

 ![Мастер новой модели Pastukhov Agent](https://pastukhov.com/wp-content/uploads/2026/06/environments-new-environment.png) 1. Откройте диалог «Модели» из главного меню;
2. Нажмите «Создать модель»;
3. Выберите шаблон провайдера (Anthropic, z.ai, OpenRouter, DeepSeek, Codex, Reasonix, OpenCode, Pi, Oh My Pi, DeepSeek Harness, Kimi Code и др.) — шаблон сам заполнит обвязку, ключевые переменные, модели и цены;
4. Укажите свой ключ доступа (или войдите в аккаунт, если шаблон предполагает подписку);
5. Введите имя модели (например, «Claude» или «GPT-5»);
6. Модель готова — переключитесь на неё из поля ввода чата.

## Переименование модели

Нажмите на имя модели в редакторе, введите новое имя и подтвердите. Изменение применится везде, где модель упоминается, — включая селектор в поле ввода чата.

## Переключение моделей в чате

Самый быстрый способ переключить модель — прямо из области ввода чата:

 ![Селектор моделей в области ввода сообщений](https://pastukhov.com/wp-content/uploads/2026/06/environments-switching-environments-chat.png) 1. Найдите выпадающий список моделей рядом с полем ввода чата;
2. Нажмите на него — откроется список доступных моделей;
3. Выберите нужную модель;
4. Все последующие сообщения пойдут уже через неё.

Переключение мгновенное — перезапускать чат или обновлять страницу не нужно: ИИ применит новые настройки уже в следующем сообщении. Подробнее об области ввода — в разделе [Чат](/agents/agent/docs/chat)
.

**[← Навыки](/agents/agent/docs/skills)**

**[Промпты →](/agents/agent/docs/prompts)**
