Pastukhov Code использует два типа переменных окружения, которые служат различным целям:
- Переменные уровня приложения — настраивают сам Pastukhov Code (учетные данные для входа, путь к проекту, лицензия, ключи API для аутентификации). Они должны быть установлены до запуска приложения — через системные переменные окружения, аргументы CLI или файлы
.env— и не могут быть изменены через страницу “Окружения”. - Переменные уровня Claude Code — настраивают ИИ-модель и управляются полностью через страницу Окружения. Каждое окружение — это именованный набор переменных (ключи API, названия моделей, базовые URL-адреса, цены), который передается процессу CLI Claude Code. Вы можете создать несколько окружений и переключаться между ними в любое время.
Переменные окружения уровня приложения
Эти переменные настраивают сам Pastukhov Code и должны быть установлены до запуска приложения. Они не могут управляться через страницу “Окружения” — используйте системные переменные окружения, аргументы CLI (KEY=VALUE) или файл .env (загружаемый через --env filename).
Основные настройки
PASTUKHOV_CODE_LOGIN— Имя пользователя для входа. Автоматически генерируется какcode, если не задано.PASTUKHOV_CODE_PASSWORD— Пароль в виде хеша SHA256. Автоматически генерируется, если не задано, и выводится в консоль (временно до перезапуска). Вы можете сгенерировать хеш с помощью встроенного генератора SHA256 на странице входа — нажмите ссылку “▸ SHA256 generator” под кнопкой входа.PASTUKHOV_CODE_PROJECT_PATH— Путь к каталогу проекта. Требуется для ручной установки и Docker. Папка может быть пустой или не существовать — в этом случае приложение автоматически проверяет проект из настроенного Git URL.PASTUKHOV_CODE_LICENSE— Ключ лицензии. Используется пробная лицензия, если не задано.PASTUKHOV_CODE_API_KEY— Хеш SHA256 ключа API для удаленного API. Отключено, если не задано.PASTUKHOV_CODE_DATABASE— Пользовательский путь к базе данных или строка подключения PostgreSQL. По умолчанию.pastukhov/project.db(SQLite), хранится относительно папки проекта, чтобы вы могли закоммитить его в репозиторий. Дляproduction использования рекомендуется база данных PostgreSQL — она быстрее и надежнее SQLite.JWT_SECRET_KEY— Пользовательский ключ подписи JWT (минимум 32 символа). Автоматически генерируется, если не задано. Этот ключ не должен быть легко угадываем — любой, кто знает его, может генерировать действительные токены аутентификации. Если вы не предоставите свой ключ, он будет перегенерирован при пересоздании контейнера Docker, что потребует всем пользователям повторного входа.PASTUKHOV_CODE_CLICKHOUSE_URL— Строка подключения ClickHouse для отправки статистики чатов в централизованное хранилище для визуализации и мониторинга. Позволяет создавать дашборды Grafana или пользовательские графики вашей продуктивности по всем проектам сразу, а не просматривать каждый проект изолированно. Пример:Host=172.17.0.1;Port=8127;Protocol=http;Database=;Username=;Password=
Интеграция с Git
PASTUKHOV_CODE_PROJECT_GIT_URL— Git URL для клонирования репозитория проекта. По умолчанию репозиторий демо-проекта.PASTUKHOV_CODE_PROJECT_GIT_LOGIN— Логин Git для репозитория проекта.PASTUKHOV_CODE_PROJECT_GIT_PASSWORD— Пароль Git для репозитория проекта.PASTUKHOV_CODE_SKILLS_GIT_URL— Git URL для клонирования репозитория навыков. По умолчанию репозиторий демо-навыков.PASTUKHOV_CODE_SKILLS_GIT_LOGIN— Логин Git для репозитория навыков.PASTUKHOV_CODE_SKILLS_GIT_PASSWORD— Пароль Git для репозитория навыков.PASTUKHOV_CODE_GIT_USER_NAME— Имя пользователя Git, используемое для коммитов.PASTUKHOV_CODE_GIT_USER_EMAIL— Email пользователя Git, используемый для коммитов.
Разное
PASTUKHOV_CODE_CLAUDE_PATH— Пользовательский путь к исполняемому файлу CLI Claude Code.PASTUKHOV_CODE_ICON_PATH— Путь к пользовательскому значку, отображаемому в интерфейсе.DISABLE_AUTOUPDATER— Установите в1, чтобы отключить автообновление Claude Code (часто используется в Docker).DOTNET_ROOT— Путь к среде выполнения .NET (используется системой сборки).DEV_BASE_PATH— Базовый путь для конфигурации dev proxy.
Переменные уровня Claude Code
Эти переменные настраивают ИИ-модель и управляются через страницу “Окружения”. Они хранятся в .pastukhov/environments.yml и передаются напрямую процессу CLI Claude Code при запуске сессии чата. Переменные окружения переопределяют системные переменные, а системные переменные служат резервными.
Аутентификация & API
ANTHROPIC_API_KEY— Ключ API Anthropic. Используется прямым API Anthropic.ANTHROPIC_AUTH_TOKEN— Токен аутентификации для сторонних поставщиков (z.ai, OpenRouter, xAI, MiniMax, Kimi). АльтернативаANTHROPIC_API_KEY.ANTHROPIC_BASE_URL— Базовый URL API. По умолчанию endpoint 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_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, чтобы отключить несущественные вызовы API модели (рекомендуется для сторонних поставщиков).ENABLE_TOOL_SEARCH— Установите вfalse, чтобы отключить поиск инструментов (используется некоторыми поставщиками, которые не поддерживают его).
Примечание: При создании окружения из встроенного поставщика (Anthropic, z.ai, OpenRouter и т. д.) большинство переменных предварительно настраивается автоматически. Вам нужно только предоставить свой ключ API — шаблон поставщика заполняет названия моделей, базовый URL, цены и флаги поведения. См. раздел Настройка первого окружения в руководстве “Начало работы”.
Что такое окружения?
Окружение — это именованная коллекция переменных уровня Claude Code, которые ИИ использует при ответе на ваши сообщения. Вместо жесткого кодирования одного ключа API или названия модели вы можете создать несколько окружений и переключаться между ними на лету.
Например, вы можете создать:
- Claude — настроен с ключом API Anthropic и моделью Claude
- GPT-4 — настроен с ключом API OpenRouter и GPT-4
- GLM — настроен с ключом API z.ai и моделью GLM
- Testing — более дешевая или быстрая модель для экспериментов
Каждое окружение имеет свой набор переменных. При переключении окружений ИИ немедленно начинает использовать новую конфигурацию для всех последующих сообщений.
Иерархическое наследование: Названия окружений поддерживают наследование на основе сегментов, разделенных дефисами. Например, окружение с именем glm-5-turbo автоматически наследует переменные из glm-5 и glm. Это позволяет определить общие настройки (например, ключ API и базовый URL) в родительском окружении и переопределить только то, что отличается в дочерних окружениях (например, название модели или цены). Дочерние переменные всегда имеют приоритет над родительскими переменными.
Просмотр окружений
Перейдите в раздел Окружения из главного меню. Страница окружений отображает все настроенные окружения, каждое показывает свое имя и ключевые переменные на первый взгляд. Нажмите на любое окружение, чтобы открыть его страницу подробностей, где вы можете просматривать и редактировать все переменные.
Страница подробностей окружения
Когда вы нажимаете на окружение, открывается его страница подробностей, отображающая все переменные в виде пар “ключ-значение”. Здесь вы настраиваете и точно настраиваете каждое окружение.
Редактирование переменной: Нажмите на поле значения и введите новое значение. Изменения сохраняются автоматически после короткой задержки — не нужно нажимать кнопку сохранения.
Добавление переменной: Нажмите “Add Variable”, чтобы создать новую пару “ключ-значение”. Введите имя переменной и ее значение.
Добавление ссылочной переменной: Нажмите “Add Reference Variable”, чтобы создать переменную, значение которой ссылается на другую переменную. Это полезно для поддержания организации вашей конфигурации (см. раздел Подстановка переменных ниже).
Изменение порядка переменных: Перетаскивайте переменные вверх или вниз, чтобы расположить их в предпочтительном порядке. Это чисто организационная мера — это не влияет на работу переменных.
Контекстное меню: Щелкните правой кнопкой мыши по переменной для дополнительных опций, таких как редактирование, удаление или копирование.
Подстановка переменных
Переменные могут ссылаться на другие переменные, используя синтаксис $VARIABLE_NAME. При использовании окружения ссылки автоматически разрешаются в их фактические значения.
Например, вы можете настроить свои переменные так:
API_KEY=sk-abc123...(ваш фактический ключ API)BASE_URL=https://api.example.comFULL_ENDPOINT=$BASE_URL/v1/chat(ссылается на BASE_URL)
Этот подход поддерживает вашу конфигурацию чистой и поддерживаемой. Измените базовый URL один раз, и каждая переменная, которая ссылается на него, обновляется автоматически. Установите свой ключ API в одном месте и ссылайтесь на него по всей конфигурации.
Совет по безопасности: Синтаксис $VARIABLE_NAME также работает с системными переменными окружения. Это означает, что вы можете предоставить конфиденциальные значения (ключи API, ключи лицензии, пароли) через переменные окружения Docker, системные переменные окружения или аргументы CLI и ссылаться на них в environments.yml, не фиксируя никаких секретов в репозитории:
# .pastukhov/environments.yml — безопасно для коммита
environments:
production:
variables:
- ANTHROPIC_API_KEY=$MY_API_KEY # разрешается из системного env во время выполнения
- ANTHROPIC_AUTH_TOKEN=$MY_AUTH_TOKEN # не зафиксировано в git
- ANTHROPIC_BASE_URL=https://api.anthropic.com # не чувствительно, можно коммитить
Таким образом фактические секретные значения остаются в вашей конфигурации Docker (файл compose, файл .env или флаги -e), а environments.yml остается безопасным для коммита и совместного использования.
Создание нового окружения
Чтобы создать новое окружение:
- Перейдите на страницу Окружения из главного меню
- Нажмите “New Environment” или используйте контекстное меню
- Введите имя для окружения (например: “Claude” или “GPT-4”)
- Добавьте необходимые переменные для вашего поставщика ИИ (обычно ключ API, название модели и базовый URL)
- Добавьте любые дополнительные переменные, необходимые вашему проекту
- Окружение готово к использованию — переключитесь на него из поля ввода чата
Переименование окружения
Нажмите на имя окружения на странице окружений, чтобы открыть редактор имени. Введите новое имя и подтвердите. Переименование применяется везде, где упоминается окружение, включая селектор поля ввода чата.
Переключение окружений в чате
Самый быстрый способ переключения окружений — напрямую из области ввода чата:
- Найдите выпадающий селектор окружений рядом с полем ввода чата
- Нажмите на него, чтобы увидеть список доступных окружений
- Выберите окружение, которое хотите использовать
- Все последующие сообщения будут использовать конфигурацию выбранного окружения
Переключение происходит мгновенно — вам не нужно начинать новую сессию чата или обновлять страницу. ИИ начнет использовать новую модель и настройки немедленно для вашего следующего сообщения. См. раздел Чат для получения более подробной информации об области ввода чата.