«Модель» в 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 можно подключаться к файлам проекта напрямую, из любого файлового менеджера. Подробности — на странице Файлы.
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-сертификаты;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. Задаётся в конфигурации модели. Что такое обвязки и чем они отличаются — на странице Обвязки;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). См. страницу Удалённое управление;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 и др.) большинство переменных заполняется автоматически — включая обвязку. От вас нужен только ключ доступа: шаблон подставит названия моделей, адрес, цены и параметры поведения. См. раздел Настройка первой модели в руководстве «Начало работы».
Пиковые часы
Некоторые провайдеры берут повышенную плату в часы пиковой нагрузки. Модель может объявить свои пиковые периоды — тогда агент предупредит о них в интерфейсе и не будет тратить деньги на автоматические запуски в это время.
Переменные пиковых часов
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 в составе модели, поэтому можно держать несколько моделей на разных движках и переключаться между ними. Подробнее — на странице Обвязки.
Просмотр моделей
Модели открываются из диалога «Модели» в главном меню (значок модели в шапке). Диалог показывает список всех настроенных моделей с цветами и основными настройками. Нажмите на модель, чтобы открыть её редактор и посмотреть или изменить все переменные.
Редактирование модели
Редактор показывает все переменные в виде пар «имя — значение». Настраивайте модель здесь, а изменения сохранятся сами.
Изменить переменную: нажмите на поле значения и введите новое. Изменение сохраняется автоматически через короткую паузу — кнопка сохранения не нужна.
Добавить переменную: нажмите «Добавить переменную», чтобы создать новую пару «имя — значение».
Добавить ссылочную переменную: нажмите «Добавить ссылочную переменную», чтобы создать переменную, чьё значение ссылается на другую переменную. Удобно для упорядоченной конфигурации (см. раздел «Подстановка переменных» ниже).
Изменить порядок: перетаскивайте переменные вверх или вниз. Это нужно только для порядка — на работу переменных расположение не влияет.
Контекстное меню: клик правой кнопкой мыши по переменной открывает дополнительные действия — редактирование, удаление, копирование.
Подстановка переменных
Переменные могут ссылаться на другие переменные — синтаксис $ИМЯ_ПЕРЕМЕННОЙ. При использовании модели ссылки автоматически раскрываются в реальные значения.
Например:
API_KEY=sk-abc123...(ваш настоящий ключ доступа)BASE_URL=https://api.example.comFULL_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 и передавать коллегам.
Создание новой модели
- Откройте диалог «Модели» из главного меню;
- Нажмите «Создать модель»;
- Выберите шаблон провайдера (Anthropic, z.ai, OpenRouter, DeepSeek, Codex, Reasonix, OpenCode, Pi, Oh My Pi, DeepSeek Harness, Kimi Code и др.) — шаблон сам заполнит обвязку, ключевые переменные, модели и цены;
- Укажите свой ключ доступа (или войдите в аккаунт, если шаблон предполагает подписку);
- Введите имя модели (например, «Claude» или «GPT-5»);
- Модель готова — переключитесь на неё из поля ввода чата.
Переименование модели
Нажмите на имя модели в редакторе, введите новое имя и подтвердите. Изменение применится везде, где модель упоминается, — включая селектор в поле ввода чата.
Переключение моделей в чате
Самый быстрый способ переключить модель — прямо из области ввода чата:
- Найдите выпадающий список моделей рядом с полем ввода чата;
- Нажмите на него — откроется список доступных моделей;
- Выберите нужную модель;
- Все последующие сообщения пойдут уже через неё.
Переключение мгновенное — перезапускать чат или обновлять страницу не нужно: ИИ применит новые настройки уже в следующем сообщении. Подробнее об области ввода — в разделе Чат.