В окне «Настройки» собрано то, что можно менять, не трогая сервер: язык интерфейса, размер шрифта, выход из учётной записи, сроки хранения отчётов об утечках. Открывается оно шестерёнкой в шапке — сразу, без промежуточных списков.
Оформление
Группа «Общие» — карточка «Оформление»: здесь выбираются язык интерфейса («Русский» или «English») и размер шрифта. Оба выбора применяются сразу и сохраняются, поэтому переживают перезагрузку страницы.
Тема
Тема переключается только кнопкой в шапке — светлая или тёмная. Выбор сохраняется и применяется до отрисовки страницы, чтобы не было мигания светлым на тёмном. Если раньше было выбрано «как в системе», этот выбор продолжит работать, но в окне «Настройки» такого переключателя больше нет.
Учётная запись
Группа «Учётная запись» — карточка «Выйти»: она завершает сеанс и возвращает к форме входа.
Строка лицензии
Внизу окна — тихая строка с состоянием лицензии (в других местах интерфейса её нет). Нажатие открывает окно «Информация о лицензии»: кому выдана, тип, область, срок действия и состояние. Строка обновляется раз в минуту, пока окно открыто, поэтому ключ с истёкшим сроком перестаёт быть действующим без перезагрузки страницы. Сама лицензия здесь не вводится — она задаётся переменной окружения на сервере. Как именно — в разделе Лицензирование.
Прокси-служба
Настройки прокси-службой больше не занимаются: она настраивается у каждого канала связи отдельно — в разделе «HTTP-прокси», в блоке «Входящий слушатель». Где задать порт и как включить вход по ключу — в разделе Прокси для обычного трафика.
Скрытие секретов и отчёты
Мастер-переключатель скрытия секретов и срок хранения отчётов об утечках (по умолчанию 90 дней) тоже живут здесь. Сам переключатель выключен по умолчанию — это описано в разделе Скрытие секретов.
Служебные кнопки
- Проверка связи — проверяет, отвечает ли служба и доступны ли внешние адреса.
- Восстановить статистику ClickHouse — досылает пропущенные дни, если статистика отправляется во внешнее хранилище. Кнопка появляется, только когда это хранилище настроено.
Что применяется сразу, а что после перезапуска
- Сразу или почти сразу — язык, размер шрифта, настройки скрытия секретов, а также условия входа и порт канала: слушатель применяет изменения примерно за 15 секунд, а правка файла конфигурации — примерно за 300 мс. Правка файла
.envтоже применяется на ходу, но только для переменных, которые читаются при использовании: ссылки на секреты, ключ управления, вход администратора и внешние программы. - Только после перезапуска контейнера — подключение чата к внешнему Pastukhov Agent, адрес ClickHouse, лицензия, папка конфигурации и папка данных. Эти значения читаются один раз при запуске, из окружения или из файла
.env— разницы нет.
Где живут настройки
Настройки из интерфейса хранятся не в базе данных, а в файле settings.yml в папке конфигурации (по умолчанию /project/apps/proxy). Рядом лежат файлы моделей, каналов, ключей доступа и правил скрытия секретов. Это единственный источник правды: править можно и файлом, и из интерфейса, и через управление по API — результат один и тот же.
Правка руками подхватывается примерно за 300 мс, перезапуск не нужен. Папку удобно держать в системе контроля версий: перенос её на другой сервер переносит всю настройку. А секретные поля можно записывать ссылкой на переменную окружения вида $ИМЯ_ПЕРЕМЕННОЙ — тогда сам секрет в файле не лежит.
Секреты удобно держать в одном файле .env рядом с проектом (по умолчанию /project/.env, путь меняется переменной PROXY_APP_ENV_FILE): продукт подмешивает его в окружение при запуске и перечитывает на ходу, а в файлах конфигурации остаются только ссылки вида $ИМЯ_ПЕРЕМЕННОЙ. Файл стоит добавить в список исключений системы контроля версий — он содержит секреты.
Подробнее об этом — в разделе Настройки в файлах.
Пароль администратора
Пароль администратора меняется не в интерфейсе, а переменными окружения на сервере. Причина простая: он хранится не как текст, а его необратимой суммой (SHA-256, записанной строчными буквами), и подставлять его в интерфейсе негде. Готовую строку выдаёт встроенный генератор прямо в форме входа — введите желаемый пароль, скопируйте сумму и подставьте её в переменную окружения.
Переменные читаются на каждом входе, поэтому сменить логин и пароль можно без перезапуска контейнера.
Дальше: что даёт чат с ИИ-агентом внутри продукта — в разделе Чат с ИИ-агентом.