Установка и первый запуск
Установка и первый запуск
При первом запуске вместо чата открывается мастер установки (setup-wizard). Он скачивает и настраивает всё, что нужно приложению, в каталог ~/.levpro-ai/. После завершения мастер показывает окно чата и больше не появляется — до тех пор, пока не обнаружится недостающий компонент.
Краткий чек-лист — см. конец этой страницы.
Когда показывается мастер
Решение принимается при старте приложения:
needsSetup = !setupManager.isReady()
if (needsSetup && LOCAL_AI_DEV === '1') needsSetup = false
→ createWindow(needsSetup) // setup-wizard или чат
SetupManager.isReady() возвращает true, когда в манифесте записаны установленные Python, ядро и llama-server, путь к модели, и при этом на диске реально существуют venv-Python, config.yaml и файл модели.
При каждом запуске выполняется checkAndUpdate():
- всё готово → проверка оборудования, синхронизация пакетов ядра, проверка Node, копирование встроенных MCP-серверов и синхронизация каталога, загрузка опционального
mmproj, перегенерацияconfig.yaml; - не готово → запускается мастер установки.
Этапы установки
Прогресс транслируется в интерфейс как setup:progress ({stage, message, percent}).
| # | Этап | Что происходит |
|---|---|---|
| 1 | hardware |
Проверка CPU/GPU/RAM. |
| 2 | Python | Переиспользуется системный интерпретатор ≥ 3.11, иначе скачивается автономная сборка; создаётся venv. |
| 3 | Ядро AI | Скачивается архив ядра и выполняется pip install -e для ожидаемых пакетов (local-ai-core, local-ai-mcp, …). |
| 4 | llama-server | Скачивается prebuilt бинарник (Windows zip / Linux tar.gz / macOS tar.gz) плюс CUDA runtime DLL на Windows. |
| 5 | Модель | Загружается GGUF (+ MTP draft-модель, если она возвращается) в ~/.levpro-ai/models/. |
| 6 | MCP | Копируются встроенные MCP-серверы, проверяется Node, синхронизируется встроенный каталог (Context7 устанавливается через npm один раз). |
| 7 | config |
Генерируется ~/.levpro-ai/config.yaml (mcp.external_path → mcp.json), автоматически включается файловый сервер. |
| 8 | done |
Мастер спрашивает имя (поле «Как к вам обращаться AI») — сохраняется в app-settings.json как userName, затем приложение переключается в чат и запускает ядро. |
llama-server — только prebuilt: не нужны Visual Studio Build Tools, CMake или CUDA Toolkit. Проверка инструментов сборки всё равно выполняется и записывается в ~/.levpro-ai/runtime/toolchain.json.
Модели с HuggingFace резолвятся через API-базу; каждая загрузка фиксируется в ~/.levpro-ai/manifest.json с меткой времени — именно это проверяет isReady().
Обновления при следующих запусках
- Синхронизация пакетов ядра повторно выполняет
pip install -e, чтобы обновлённый исходник ядра попал в venv. Полное перекачивание —LOCAL_AI_FORCE_CORE_UPDATE=1. - Node проверяется до синхронизации каталога, потому что npm-устанавливаемые серверы (Context7) нуждаются в нём.
- Каталог MCP повторно проверяется и восстанавливается в офлайн-режиме при каждом старте.
Переменные окружения
| Переменная | Эффект |
|---|---|
LOCAL_AI_DEV=1 |
Пропустить мастер; синхронизировать редактируемые пакеты из исходников ядра. |
LOCAL_AI_PYTHON |
Использовать конкретный интерпретатор вместо системного/автономного. |
LOCAL_AI_CORE_DIR |
Путь к пакету ядра для dev-режима. |
LOCAL_AI_CONFIG |
Использовать конкретный конфиг ядра. |
LOCAL_AI_FORCE_CORE_UPDATE=1 |
Принудительно перекачать/установить ядро. |
LEVPRO_API_BASE |
Изменить API-базу (по умолчанию https://api.levpro.ru). |
Перенос каталога данных
Каталог данных по умолчанию — ~/.levpro-ai/. Он перемещаемый: выбранный путь хранится в указателе вне дерева данных (в userData Electron), поэтому перенос переживает перезапуски приложения.
Краткий чек-лист
- Скачайте установщик на странице Скачать.
- Запустите и дождитесь: проба железа → Python + venv → ядро AI → llama-server → модель → MCP →
config.yaml. - При следующем запуске выполняется синхронизация пакетов ядра и каталога MCP.
- Дождитесь статуса «Готов» в чате и отправьте первое сообщение.
Логи: ~/.levpro-ai/logs/app.log, ~/.levpro-ai/logs/core-stderr.log.
Связанные страницы
- Обзор приложения — возможности и каталог данных.
- Режимы приложения — какие режимы доступны после установки.
- MCP-серверы — что устанавливает этап MCP.
- Ядро AI — установка ядра вручную, без Desktop.