Начнём с того, что обычно узнают в середине процесса: готового подписанного установщика у Persona нет. Нет файла, который скачивается и ставится двойным щелчком. Установка идёт через менеджер пакетов и командную строку.
Это текущее состояние, а не временная накладка: подписанный установщик требует сертификата подписи кода и сборочного конвейера, и ни того ни другого сейчас нет. Если работа в терминале для вас неприемлема — честно скажем, что этот гайд вам не подойдёт; альтернативные пути описаны в статье про личный ИИ без программирования.
Всем остальным дальше нужно минут пятнадцать.
#Что понадобится
- Windows 10 или 11. Работает и на Windows Server.
- Python 3.12 или новее. Более старая версия не подойдёт.
- Менеджер пакетов
uv— им ставятся зависимости и запускается приложение. - Git — чтобы получить исходники и обновляться одной командой.
- Свободное место: под само приложение немного, под данные — сколько накопите. Захват экрана растёт со временем, и это стоит спланировать заранее.
- Ключ облачного провайдера модели или установленная локально Ollama. Без модели чат не отвечает: Persona не проксирует запросы, языковую модель подключает пользователь.
#Шаг 1. Получить код и поставить зависимости
Репозиторий Persona закрытый, публичной лицензии нет — поэтому первым делом нужен доступ к исходникам оттуда, откуда вы получили саму Persona. Дальше в PowerShell, в каталоге, где будет жить приложение:
git clone <адрес-репозитория> Persona
cd Persona
uv sync
uv sync создаёт виртуальное окружение в .venv и ставит туда зависимости из описания пакета. Первый запуск занимает минуты — качаются пакеты. Дальше эта команда почти мгновенная.
#Шаг 2. Создать файл конфигурации
copy .env.example .env
.env.example — шаблон с пустыми значениями. Заполнять его целиком не нужно: почти всё имеет разумные значения по умолчанию. Что стоит проверить сразу:
PERSONA_DATA_DIR=C:/Users/<вы>/.persona
PERSONA_HOST=127.0.0.1
PERSONA_PORT=8765
Первая строка — важнее остальных. Каталог данных должен лежать вне рабочей копии кода: тогда git clean, переустановка или смена ветки не тронут вашу базу. Путь задавайте абсолютный — относительный однажды приведёт к тому, что приложение стартует со свежесозданной пустой базой, потому что было запущено из другого каталога.
Вторая строка: держите привязку к локальному адресу. 0.0.0.0 открывает приложение на всю сеть, и делать это без аутентификации на программном интерфейсе нельзя.
Файл .env не попадает в репозиторий — он в списке игнорируемых. Если вы собираетесь что-то дорабатывать, поставьте заодно защиту от случайного коммита секретов:
powershell -ExecutionPolicy Bypass -File ops\install_hooks.ps1
#Шаг 3. Первый запуск
uv run uvicorn app.web.main:app --host 127.0.0.1 --port 8765 --reload
Откройте http://127.0.0.1:8765. При первом запуске вы попадёте на мастер настройки /setup, который проведёт по пяти шагам:
- подтверждение расположения каталога данных;
- тема оформления и частота захвата;
- путь к движку распознавания текста — необязательно;
- ключ провайдера модели — необязательно на этом шаге, но без него чат молчит;
- мастер-пароль хранилища для шифрованных заметок и копий — необязательно.
После мастера захват не начинается сам: его нужно включить в настройках отдельной кнопкой. Это сделано намеренно — приложение, которое начинает писать экран без явного разрешения, вело бы себя неприлично.
Ключ провайдера удобнее подключать не в мастере, а отдельно и осознанно — порядок в гайде про подключение ключа в Persona.
#Шаг 4. Включить распознавание текста, если оно нужно
Без распознавания захват работает, но поиск по тексту с экрана — нет. Движок ставится отдельно:
- Установите Tesseract для Windows (сборка UB Mannheim — стандартный вариант).
- Допишите в
.env:
PERSONA_TESSERACT_PATH=C:\Program Files\Tesseract-OCR\tesseract.exe
PERSONA_OCR_ENABLED=true
PERSONA_TESSERACT_LANGS=eng+rus
- Перезапустите приложение.
Новые снимки индексируются сразу, старые — фоново, порциями. Языковые пакеты обязательны: без нужного языка распознавание формально работает и выдаёт мусор, что хуже отключённого.
#Проверка результата
Чек-лист после первого запуска — семь пунктов, каждый с наблюдаемым результатом.
http://127.0.0.1:8765/healthzотдаёт{"status":"ok","version":"..."}.- Файл базы появился там, где вы указали, а не в каталоге с кодом: проверьте, что
persona.dbлежит вPERSONA_DATA_DIR. - Мастер настройки пройден, приложение открывает главный экран.
- Захват включён — на таймлайне появляются записи в течение минуты.
- Если включали распознавание — поиск находит слово, которое видно на экране прямо сейчас (подождите минуту, обработка идёт порциями).
- Модель подключена — чат отвечает. Если молчит, дело в модели, а не в установке.
- Приложение перезапускается и данные на месте: остановите, запустите заново, откройте таймлайн.
Пункт 2 проваливают чаще остальных, и последствия у него отложенные: вы полгода копите данные, потом переустанавливаете приложение и обнаруживаете, что база лежала внутри рабочей копии.
#Что может пойти не так
uv не найден. Менеджер пакетов не установлен или не попал в переменную PATH. Перезапустите терминал после установки — переменные окружения не обновляются в уже открытых окнах.
Ошибка версии Python. Нужен 3.12 или новее. Проверьте python --version; если в системе несколько версий, uv может выбрать не ту — укажите нужную явно.
Порт занят. Другой процесс на 8765 либо ваш собственный предыдущий запуск, который не завершился. Найдите слушателя по порту и завершите его, прежде чем запускать второй экземпляр: два процесса на одной базе дают самые непонятные симптомы из возможных.
Приложение стартовало с пустой базой. Относительный путь в PERSONA_DATA_DIR плюс запуск из другого каталога. Данные целы, приложение смотрит не туда.
Чат не отвечает, ошибок нет. Модель не подключена. Это не поломка установки.
Захват не начинается. Он не включается сам после мастера — нужна кнопка в настройках.
После закрытия терминала всё останавливается. Так и должно быть: --reload — режим разработки. Для постоянной работы нужен автозапуск, и на Windows там есть отдельная ловушка со значением по умолчанию «только для вошедшего пользователя» — разбор в гайде про автозапуск на Windows. Установка — это первый этап из шести; остальные пять, вплоть до домена и мониторинга, разобраны в статье о том, как поднять свой ИИ-сервис.
Антивирус мешает. Приложение, которое снимает экран и пишет на диск, попадает под эвристики. Добавьте каталог в исключения осознанно, а не «на всякий случай отключу защиту».
#Частые вопросы
#Почему нет обычного установщика?
Подписанный установщик требует сертификата подписи кода и сборочного конвейера, который собирает и подписывает выпуски. Ни того ни другого сейчас нет, поэтому установка идёт из исходников. Неподписанный установщик был бы хуже: он вызывал бы предупреждение системы, и приучать пользователей игнорировать такие предупреждения — плохая идея.
#Можно ли поставить Persona на сервер и не держать на своём компьютере?
Можно, но захвата экрана там не будет: у серверной машины нет графической сессии. Серверная установка — это веб-часть и приём данных, отправленных с вашего компьютера. Подробности и файл сборки — в гайде про запуск Persona в контейнере.
#Как обновляться?
git pull, затем uv sync, затем перезапуск. Перед обновлением, меняющим схему базы, снимите копию: обратных миграций нет, вернуться назад можно только из копии.
#Сколько места это займёт?
Само приложение — немного. Данные растут в зависимости от частоты захвата, включённого звука и политики хранения. Все эти параметры настраиваются, и планировать объём стоит до того, как он станет проблемой.
#Нужна ли видеокарта?
Для самой Persona — нет. Видеокарта нужна, только если вы хотите крутить языковую модель локально. Альтернатива — ключ облачного провайдера, и тогда требования к железу определяются только захватом и распознаванием.
#Что делать сразу после установки?
Разобраться с базовым сценарием, а не с настройками: включить захват, задать характер ассистента, подключить модель и посмотреть, как это работает вместе. Короткий вход — в статье о том, как начать за пять минут.