💻 Lifeios — установка на Windows

Все команды по порядку. Открой PowerShell от администратора и вставляй по одной.

📌 Подготовка (1 раз)

0Открыть PowerShell от администратора
Нажми клавишу Win → введи powershellправый клик на «Windows PowerShell» → «Запуск от имени администратора». Появится синее окно.
1Разрешить выполнение скриптов
Set-ExecutionPolicy Bypass -Scope Process -Force
2Установить Python (если ещё не стоит)
Открой в браузере python.org/downloads → скачай → при установке ОБЯЗАТЕЛЬНО поставь галку «Add Python to PATH» внизу окна. Потом проверь:
python --version
Если пишет Python 3.13.x — всё ок. Если «не распознано» — перезагрузи комп и попробуй снова.
3Установить ActivityWatch (если ещё не стоит)
Открой activitywatch.net/downloads → скачай Windows .exe → установи → запусти (иконка часов появится в трее рядом с часами).

🚀 Установка (главное)

4Создать папку и скачать скрипт
mkdir C:\lifeios -Force
curl.exe -L -o C:\lifeios\aw.py https://files.77-91-123-194.nip.io/raw/aw-lifeios-sync.py
Проверим что файл скачался:
dir C:\lifeios
5Сбросить состояние (выгрузить ВСЮ историю)
'{"last_sync": "2025-01-01T00:00:00+00:00"}' | Out-File -Encoding utf8 $env:USERPROFILE\lifeios_sync_state.json
6Первый запуск — отправка данных
python C:\lifeios\aw.py once
Если пишет «total sent: N» где N > 0 — данные пошли! 🎉
Если «0 events» — смотри секцию «Если не работает» ниже.
7Поставить на автозапуск (чтобы работало само)
3 команды по очереди:
schtasks /Create /TN "LifeiosAwSync" /TR "python C:\lifeios\aw.py" /SC ONLOGON /RL HIGHEST /F
schtasks /Change /TN "LifeiosAwSync" /SC MINUTE /MO 5 /RI 5
schtasks /Run /TN "LifeiosAwSync"
Всё! Синхронизация работает в фоне, будет отправлять данные каждые 5 минут.

🔍 Если «0 events» или не работает

8Проверить что ActivityWatch запущен
curl.exe -s http://127.0.0.1:5600/api/0/buckets/
Видишь JSON с aw-watcher-window и aw-watcher-afk → AW работает ✅
Connection refused или ошибка → ActivityWatch не запущен. Открой его из меню Пуск, дождись иконки в трее.
Видишь бакеты, но 0 events → поработай за компом 5-10 минут (AW должен записать что ты делаешь), потом снова запусти шаг 6.
9Проверить интернет и сервер
curl.exe -s https://api.77-91-123-194.nip.io/health
Должно показать {"status":"ok",...} или похожий JSON.
10Посмотреть состояние скрипта
type $env:USERPROFILE\lifeios_sync_state.json
Покажет когда последний раз отправлялись данные, например: {"last_sync":"2026-07-26T..."}

📋 Управление фоновой службой

# Статус службы schtasks /Query /TN "LifeiosAwSync" /V /FO LIST
# Остановить schtasks /End /TN "LifeiosAwSync"
# Запустить вручную schtasks /Run /TN "LifeiosAwSync"
# Удалить службу schtasks /Delete /TN "LifeiosAwSync" /F

⚠️ Частые проблемы

«python не является внутренней командой»
→ Python не в PATH. Перезапусти PowerShell или весь компьютер.

«irm заблокирован» / «выполнение сценариев отключено»
→ Сначала выполни команду из шага 1 (Set-ExecutionPolicy).

«Access denied» / «Отказано в доступе»
→ PowerShell не от администратора. Закрой и открой от администратора (шаг 0).

«0 events» после шага 6
→ ActivityWatch пустой. Поработай за компом 10 минут, проверь что AW в трее активен, потом снова запусти шаг 6.

Скачивается HTML вместо файла
→ Используй именно curl.exe (с .exe), не просто curl.

После запуска скажи тому, кто помогает — он проверит что данные пошли на сервер.