Версия 1.8.2 Март 2026
Настоящее руководство предназначено для администраторов системы оценки профессиональных компетенций ЗНАЙ (ZNAI). Документ содержит исчерпывающую информацию по установке, настройке и сопровождению системы на серверах под управлением операционных систем Linux и Windows.
Система ЗНАЙ предназначена для комплексной оценки компетенций сотрудников организаций различных сфер деятельности. Она обеспечивает объективную оценку уровня специалистов по картам компетенций, определяет соответствие грейдам, формирует персонализированные планы развития с использованием искусственного интеллекта и предоставляет инструменты для управления процессом оценки через административную панель.
Руководство охватывает следующие основные задачи администратора:
Для работы с данным руководством администратор должен обладать базовыми навыками работы с командной строкой Linux или Windows, понимать принципы работы веб-приложений и иметь представление о системе управления базами данных SQLite.
Перед началом установки необходимо убедиться, что серверное окружение соответствует приведённым ниже требованиям. Несоблюдение минимальных требований может привести к нестабильной работе системы или невозможности её запуска.
Система ЗНАЙ реализована на платформе Node.js с использованием фреймворка Next.js и системы управления базами данных SQLite. Для функционирования системы необходимо следующее программное обеспечение:
| Компонент | Минимальная версия | Рекомендуемая версия |
|---|---|---|
| Node.js | 20.0.0 | 22.x LTS |
| Bun (пакетный менеджер) | 1.3.10 | 1.2.x |
| npm (альтернатива Bun) | 10.0.0 | 10.x |
| SQLite | 3.0.0 | 3.45.x |
Внимание: Вин версии 1.3.10 и выше обязателен для корректной установки зависимостей. В более старых версиях флаг --production=false не поддерживается, что может привести к ошибкам при сборке.
Система ЗНАЙ является кроссплатформенным приложением и может быть развёрнута на серверах под управлением следующих операционных систем:
Linux (рекомендуется для промышленной эксплуатации):
Windows:
Ресурсы сервера должны обеспечивать обработку запросов пользователей и выполнение обращений к LLM-провайдерам. Рекомендуемые параметры зависят от режима использования:
| Параметр | Разработка (Development) | Промышленная эксплуатация (Production) |
|---|---|---|
| Процессор (CPU) | 2 ядра | 4 ядра и выше |
Для обеспечения доступа пользователей к системе и взаимодействия с внешними LLM-провайдерами необходимо открыть следующие сетевые порты:
| Порт | Назначение | Обязательность |
|---|---|---|
| 3000 | Основное веб-приложение (Next.js) | Обязательно |
| 80 | HTTP (через Nginx/IIIS) | Рекомендуется |
| 443 | HTTPS (через Nginx/IIIS) | Рекомендуется |
| 22 | SSH (для удалённого администрирования) | Рекомендуется для Linux |
Для полноценного функционирования системы ЗНАЙ требуется доступ к следующим внешним сервисам:
В данном разделе описан процесс установки и развёртывания системы ЗНАЙ на серверах под управлением операционных систем Linux и Windows. Рекомендуется выполнять установку последовательно, не пропуская этапы.
Перед началом установки убедитесь, что на сервере установлены все необходимые компоненты. Для проверки наличия Node.js выполните команду:
node --version Ожидаемый результат: версия 20.x или выше. Если Node.js не установлен, загрузите его с официального сайта https://nodejs.org или установите через пакетный менеджер операционной системы.
Для установки пакетного менеджера Bun выполните:
curl -fsSL https://bun.sh/install | bash Далее необходимо получить исходный код системы. Если используется репозиторий Git:
git clone <URL_репозитория> /opt/znaiik Если установка производится из архивного дистрибутива, распакуйте архив в целевую директорию:
unpack znaik-distrib.zip -d /opt/znaiik Установка на Linux-сервер является рекомендуемым вариантом для промышленной эксплуатации. Процедура установки состоит из следующих шагов:
Перейдите в директорию проекта и установите зависимости:
cd /opt/znaiik
bun install Система использует ORM Prisma для работы с базой данных. Необходимо сгенерировать клиентский код:
bun run db:generate При первом запуске необходимо создать структуру базы данных:
bun run db:setup Эта команда создаст файл базы данных SQLite и применит все необходимые миграции.
Для промышленной эксплуатации необходимо собрать оптимизированную версию приложения:
bun run build Сборка создаёт standalone-версию приложения в директории .next/standalone, которая содержит только необходимые для работы файлы и не включает исходный код.
После сборки необходимо скопировать статические файлы и публичные ресурсы в standalone-директорию:
cp -r .next/static .next/standalone/.next/
cp -r public .next/standalone/ Внимание: Без копирования директории .next/static приложение будет возвращать ошибку 404 на все статические файлы (CSS, JavaScript, изображения).
Создайте файл .env.production в корневой директории проекта со следующими параметрами:
| Переменная | Описание | Пример значения |
|---|---|---|
| DATABASE_URL | Путь к файлу базы данных SQLite | file:/var/lib/znaik/production.db |
| NODE_ENV | Режим работы приложения | production |
| NEXT_PUBLIC_APP_URL | URL приложения для пользователей | https://znaik.company.com |
| PORT | Порт веб-сервера | 3000 |
| HOSTNAME | Адрес привязки сервера | 0.0.0.0 |
| SESSION_SECRET | Секретный ключ для сессий (минимум 32 символа) | super-secure-secret-key... |
| COOKIE_MAX_AGE | Время жизни cookie в секундах | 28800 |
Для автоматического запуска и управления приложением создайте службу systemd. Создайте файл /etc/systemd/system/znaik.service:
Укажите в файле службы путь к директории приложения, путь к Node.js и файл переменных окружения. Установите параметры автоматического перезапуска (Restart=always, RestartSec=10) и лимиты ресурсов (LimitNOFILE=65536).
После создания файла службы выполните команды:
sudo systemctl daemon-reload
sudo systemctl enable znaik
sudo systemctl start znaik Проверьте статус службы:
Установка на Windows-сервер возможна в двух вариантах: через службу Windows Service или через планировщик задач. Рекомендуемый вариант — использование службы Windows Service.
Установите Node.js и npm, затем выполните установку зависимостей проекта:
cd C:\znai k npm install npm run db:generate npm run db:setup npm run build Скопируйте статические файлы аналогично инструкции для Linux:
xcopy .next\static .next\standalone\.next\static\ /E /I xcopy public .next\standalone\public\ /E /I Для работы приложения в качестве службы Windows используется пакет node-windows. Создайте файл service.js в корневой директории проекта, в котором укажите параметры службы: имя, описание, путь к исполняемому файлу server.js из директории .next/standalone и переменные окружения.
Установите службу командой:
node service.js После установки служба будет доступна через стандартные средства управления службами Windows (services.msc или команды sc).
Создайте файл .env.production в корневой директории проекта. Параметры аналогичны Linux-версии, за исключением пути к базе данных, который должен использовать Windows-путь:
DATABASE_URL="file:C:\znai k\db\production.db" Для обеспечения безопасного доступа пользователей к системе рекомендуется настроить обратный прокси-сервер, который будет обрабатывать HTTPS-соединения и перенаправлять запросы к приложению.
Настройте виртуальный хост Nginx, который слушает порты 80 и 443, перенаправляет HTTP-запросы на HTTPS и проксирует запросы к приложению на порту 3000. В конфигурации укажите SSL-сертификаты, заголовки безопасности (X-Frame-Options, X-Content-Type-Options, Strict-Transport-Security) и параметры проксирования (включая поддержку WebSocket).
После настройки проверьте конфигурацию и перезагрузите Nginx:
sudo nginx -t sudo systemctl reload nginx На сервере Windows для организации обратного прокси используется IIS с модулями URL Rewrite и Application Request Routing (ARR). Создайте сайт в IIS, укажите физический путь к директории приложения и настройте правило обратного прокси для перенаправления запросов на localhost:3000. В файле web.config укажите правила перезаписи URL и заголовки безопасности.
После успешной установки и запуска системы необходимо выполнить первоначальную настройку, которая включает первый вход, смену пароля администратора, настройку LLM-провайдеров и создание пользователей.
Для доступа к административной панели откройте веб-браузер и перейдите по адресу:
http://<IP_сервера>:3000/admin Для первого входа используются учётные данные суперапдминистратора, заданные по умолчанию. После ввода логина и пароля вы попадёте на главный дашборд административной панели.
Внимание: Обязательно смените пароль суперапдминистратора перед предоставлением доступа к системе другим пользователям!
Смена пароля суперапдминистратора является обязательным шагом для обеспечения безопасности системы. Для смены пароля выполните следующие действия:
Система ЗНАЙ использует внешние LLM-провайдеры для оценки открытых ответов, генерации карт компетенций и вопросов, а также для работы AI Coach. Без настроенного LLM-провайдера система будет функционировать в ограниченном режиме с использованием fallback-оценки.
Для настройки LLM-провайдера выполните следующие действия:
| Провайдер | Код | Модели | Авторизация |
|---|---|---|---|
| z.ai Subscription | zai_subscription | glm-4.7, glm-4.6, glm-4.5, glm-5 | Bearer token |
| z.ai Pay-as-you-go | zai_payg | Те же модели | API key |
Система ЗНАЙ использует настраиваемые промпты (инструкции) для взаимодействия с LLM. Каждый тип операции имеет свой промпт, который можно отредактировать под специфические потребности организации.
Промпты разделены на 4 категории:
| Категория | Промпты | Назначение |
|---|---|---|
| evaluation | answer_evaluation, training_analysis | Оценка ответов пользователей |
| generation | competency_generation, question_generation | Генерация контента (карты, вопросы) |
| reports | report_generation, resume_generation | Генерация отчётов и резюме |
| coaching | coach_system, coach_checklist | AI-коучинг и чек-листы |
Для редактирования промпта перейдите в раздел «Инструкции ИИ» (/admin/prompts), выберите нужный промпт из списка и отредактируйте его шаблон. Промпты поддерживают переменные в формате {variableName}, которые автоматически заменяются при обработке запроса.
Внимание: Некорректные изменения промптов могут нарушить работу системы. Рекомендуется сохранять резервные копии перед внесением изменений. Для восстановления стандартных промптов выполните команду: bun run seed:prompts
Для предоставления доступа сотрудникам к системе оценки необходимо создать учётные записи пользователей. Для этого выполните следующие действия:
Для тиражирования системы на другие серверы или передачи заказчику необходимо создать установочный архив (дистрибутив), содержащий все файлы, необходимые для работы приложения, за исключением исходного кода.
Процедура создания дистрибутива для Linux-серверов включает следующие шаги:
Структура дистрибутива должна выглядеть следующим образом:
znaik-dist/
.next/standalone/ # Исполняемые файлы приложения
.next/static/ # Статические файлы (CSS, JS, изображения)
public/ # Публичные ресурсы
prisma/ # Схема БД и миграции
package.json # Метаданные проекта
.env.example # Шаблон конфигурации
install.sh # Скрипт установки
README.txt # Краткая инструкция Для Windows-серверов процедура аналогична, но вместо tar.gz создаётся ZIP-архив. Шаги по подготовке:
Получатель дистрибутива должен выполнить следующие действия для развёртывания системы из архива:
В данном разделе описаны основные функции администратора по управлению системой ЗНАЙ через административную панель. Все действия выполняются через веб-интерфейс.
Административная панель предоставляет полный контроль над учётными записями пользователей. Для каждого пользователя настраиваются:
Система поддерживает 4 тарифных плана с различным набором возможностей:
| Тариф | Код | Типы сессий | AI Coach |
|---|---|---|---|
| Стандарт | standard | Обычное прохождение | Недоступен |
| ПРО | pro | Обычное + Обучение | Доступен |
| Корпоративный | corporate | Все типы | Доступен |
| Аудит | audit | Аудит | Недоступен |
При необходимости администратор может сбросить пароль пользователя, заблокировать учётную запись или скорректировать лимиты сессий.
Карты компетенций являются основой системы оценки. Каждая карта определяет набор компетенций, релевантных для определённой должности, и содержит пороговые значения для определения грейда сотрудника.
Карты компетенций создаются двумя способами:
Для каждой компетенции в карте настраиваются: название, код (уникальный идентификатор), описание, максимальный балл (от 1 до 5, по умолчанию 3) и дескрипторы уровней (описание ожидаемого поведения для каждого уровня от 0 до 3).
Карты компетенций поддерживают экспорт и импорт в форматах JSON (полная структура для обмена между экземплярами системы) и Markdown (для документирования).
Система поддерживает 5 типов вопросов для оценки компетенций:
| Тип | Код | Описание | Способ проверки |
|---|---|---|---|
| Выбор ответа | single_choice | Выбор одного правильного варианта | Автоматическая |
| Множественный выбор | multiple_choice | Выбор нескольких правильных вариантов | Автоматическая |
| Кейс | case_study | Решение профессиональной ситуации | LLM-оценка |
| Открытый вопрос | open | Развёрнутый ответ | LLM-оценка |
| Интерактивное задание | interactive | Drag-and-drop задания | Автоматическая + LLM |
Каждый вопрос привязывается к одной или нескольким компетенциям из карты. Для вопросов настраивается максимальный балл (maxPoints) в диапазоне от 0.5 до 10. Интерактивные задания включают три типа: конструктор User Story, сортировка приоритетов и игра на соответствие.
Раздел «Сессии» (/admin/sessions) предоставляет полную информацию о результатах оценок, проведённых в системе. Администратор может:
Все операции с ИИ логируются и доступны для анализа. Для каждого запроса к LLM сохраняется промпт, модель, провайдер, время ответа, количество использованных токенов и результат (успех/ошибка).
Регулярное резервное копирование базы данных является обязательным условием безопасной эксплуатации системы. Система ЗНАЙ использует базу данных SQLite, что значительно упрощает процедуру резервного копирования.
Для автоматизации резервного копирования на Linux рекомендуется использовать следующий скрипт, который выполняет проверку целостности базы данных перед созданием копии:
Скрипт выполняет следующие действия:
Для автоматического выполнения бэкапа ежедневно в 2:00 добавьте задачу в cron:
Ø 2 * * * /opt/znaik/backup-db.sh >> /var/log/znaik/backup.log 2>&1 На Windows-сервере используется PowerShell-скрипт, который аналогичным образом проверяет целостность базы данных, создаёт копию и упаковывает её в ZIP-архив. Для автоматического выполнения можно создать задачу в планировщике задач Windows (Task Scheduler), настроенную на ежедневный запуск.
Для восстановления базы данных из резервной копии выполните следующие действия:
Процедура обновления системы ЗНАЙ до новой версии должна выполняться в следующем порядке:
Внимание: Миграция bunx prisma migrate deploy является безопасной — она только добавляет новые поля и таблицы, не затрагивая существующие данные. Тем не менее, резервная копия обязательна.
В случае неудачного обновления выполните откат:
В данном разделе описаны наиболее распространённые проблемы и способы их решения.
Если при оценке ответов появляется сообщение «Автоматическая оценка (LLM недоступен)», выполните следующие проверки:
При недоступности LLM система автоматически переключается на fallback-оценку, которая анализирует длину, структуру и ключевые слова ответа. Данная оценка является приблизительной, и рекомендуется провести повторную оценку после восстановления доступа к LLM.
Ошибка доступа к базе данных. Решение:
Linux: chmod 777 db/ && chmod 666 db/production.db
Windows: icacls db /grant Everyone:F && icacls db\production.db /grant Everyone:F
Порт 3000 занят другим процессом. Для решения проблемы:
Не сгенерирован Prisma-клиент. Выполните команду:
bun run db:generate Система имеет встроенный endpoint для проверки состояния:
GET /api/health Ответ содержит информацию о статусе приложения, версии, состоянии подключения к базе данных и времени непрерывной работы. Рекомендуется регулярно проверять данный endpoint для мониторинга доступности системы.
— Конец документа —