Skip to content

Rendles/proactive-assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Proactive Assistant

Фоновый демон для Windows, который следит за твоей активностью, анализирует её локально через AI и даёт пинок, если ты залип в соцсетях или забыл сделать перерыв.

Никакого облака. Никакой телеметрии. Всё работает локально.


Как это работает

 Каждые 15 сек                Каждые 15 мин
      │                             │
      ▼                             ▼
 Смотрим, какое             Берём логи за 15 мин
 окно активно                      │
      │                             ▼
      ▼                      Отправляем в Ollama
 Пишем в SQLite              (локальная AI-модель)
 (activity.db)                     │
                             ответ = "SKIP"?
                               │          │
                              ДА         НЕТ
                               │          │
                             тихо    🔔 Уведомление
                                      Windows

Всё хранится локально в файле activity.db. Логи старше 24 часов удаляются автоматически.


Требования

Компонент Версия
Node.js v18 или выше
npm v8 или выше
OS Windows 10 / 11
Ollama последняя
RAM для модели ~4 GB свободно

Часть 1 — Установка Ollama и модели

Ollama — это локальный сервер для запуска AI-моделей. Работает полностью офлайн, данные никуда не уходят.

1.1 Скачай и установи Ollama

Перейди на официальный сайт и скачай установщик для Windows:

https://ollama.com/download/windows

Запусти .exe и следуй инструкции установщика. После установки Ollama появится в системном трее.

1.2 Скачай модель qwen3:4b

Открой PowerShell или CMD и выполни:

ollama pull qwen3:4b

Модель весит около 2.6 GB. Скачается один раз, дальше всё работает офлайн.

Чтобы убедиться, что модель скачалась:

ollama list

Должна быть строчка с qwen3:4b.

1.3 Запусти сервер Ollama

ollama serve

Сервер поднимется на http://127.0.0.1:11434. Оставь это окно открытым (или настрой автозапуск — см. раздел ниже).

Проверь, что всё работает:

curl http://127.0.0.1:11434
# Должен вернуть: Ollama is running

Важно: Ollama должна быть запущена до старта демона. Если она не работает — демон не крашится, просто пишет ошибку в консоль и продолжает трекинг.


Часть 2 — Установка и запуск демона

2.1 Клонируй репозиторий

git clone https://github.com/ВАШ_НИК/proactive-assistant.git
cd proactive-assistant

2.2 Установи зависимости

npm install

npm скачает три пакета: sqlite3, active-win, node-notifier.

2.3 Запусти демон

node index.js

В консоли появится:

🤖 Proactive Assistant запущен
   Трекинг: каждые 15 сек
   Анализ:  каждые 15 мин
   Модель:  qwen3:4b
   Нажми Ctrl+C для остановки

Первое уведомление (если есть что сказать) придёт через 15 минут — модели нужно накопить данные для анализа.


Часть 3 — Автозапуск (опционально, но удобно)

Чтобы демон и Ollama запускались сами при старте Windows — используй pm2.

3.1 Установи pm2 глобально

npm install -g pm2
npm install -g pm2-windows-startup

3.2 Добавь демон в pm2

# Перейди в папку проекта
cd proactive-assistant

# Добавь процесс
pm2 start index.js --name "proactive-assistant"

# Сохрани список процессов
pm2 save

# Настрой автозапуск при входе в Windows
pm2-startup install

3.3 Полезные команды pm2

pm2 list                          # список процессов
pm2 logs proactive-assistant      # смотреть логи в реальном времени
pm2 stop proactive-assistant      # остановить
pm2 restart proactive-assistant   # перезапустить
pm2 delete proactive-assistant    # удалить из pm2

3.4 Автозапуск Ollama через Task Scheduler

Чтобы Ollama тоже стартовала автоматически:

  1. Открой Планировщик задач (Task Scheduler) — Win + Rtaskschd.msc
  2. Создать задачу → вкладка Общие → дай имя OllamaServe
  3. Триггер: При входе в систему
  4. Действие: Запустить программу
    • Программа: C:\Users\ВАШ_НИК\AppData\Local\Programs\Ollama\ollama.exe
    • Аргументы: serve
  5. Галочка Не запускать, если уже запущена
  6. Сохрани

Настройка под себя

Все параметры находятся в объекте CONFIG в начале файла index.js:

const CONFIG = {
  OLLAMA_URL:             "http://127.0.0.1:11434/api/generate",
  OLLAMA_MODEL:           "qwen3:4b",
  TRACK_INTERVAL_MS:      15_000,        // интервал трекинга
  ANALYZE_INTERVAL_MS:    15 * 60_000,   // интервал анализа
  LOG_TTL_HOURS:          24,            // сколько хранить логи
  ANALYZE_WINDOW_MINUTES: 15,            // за какой период анализировать
  APP_NAME:               "Proactive Assistant",
};

Что можно изменить

Параметр По умолчанию Описание
OLLAMA_MODEL qwen3:4b Модель Ollama. Можно поменять на llama3:8b, mistral, gemma3:4b и т.д. Чем больше модель — тем умнее советы, но дольше ответ
TRACK_INTERVAL_MS 15000 (15 сек) Как часто писать в БД. Уменьши до 5000 для точности, увеличь до 30000 для экономии ресурсов
ANALYZE_INTERVAL_MS 900000 (15 мин) Как часто спрашивать AI. Можно поставить 10 * 60_000 (10 мин) если хочешь чаще
LOG_TTL_HOURS 24 Сколько часов хранить историю. 48 — двое суток, 168 — неделя
ANALYZE_WINDOW_MINUTES 15 За какой последний период анализировать. Совпадает с ANALYZE_INTERVAL_MS — логично
APP_NAME Proactive Assistant Имя в уведомлениях Windows

Как сменить модель

# Скачай другую модель
ollama pull llama3.2:3b   # быстрее, легче
ollama pull gemma3:4b     # хорошая альтернатива

# В index.js поменяй строку:
OLLAMA_MODEL: "llama3.2:3b",

Как изменить характер ассистента

Промпт живёт в константе SYSTEM_PROMPT (сразу после CONFIG). Это многострочная строка — просто отредактируй её:

const SYSTEM_PROMPT = `Ты — [твоё описание персонажа].
...
Если всё ок — ответь СТРОГО одним словом: SKIP
Если нужен пинок — [твои правила для уведомлений]`;

Важно: Правило про SKIP менять не нужно — на нём завязана вся логика фильтрации. Остальное — полностью на твой вкус.


Структура проекта

proactive-assistant/
├── index.js          # весь код демона
├── activity.db       # SQLite база (создаётся автоматически при первом запуске)
├── package.json
├── package-lock.json
└── README.md

activity.db создаётся автоматически — коммитить её в git не нужно. Убедись, что она есть в .gitignore.


.gitignore

Создай файл .gitignore в корне проекта:

node_modules/
activity.db

Возможные проблемы

Error: ECONNREFUSED в консоли

Ollama не запущена. Выполни ollama serve и оставь окно открытым.

Уведомления не приходят

Проверь настройки уведомлений Windows: Параметры → Система → Уведомления. Убедись, что уведомления включены глобально.

Cannot find package 'active-win'

Убедись, что в package.json есть "type": "module". Active-win — ESM-only пакет.

Модель отвечает слишком долго

Попробуй более лёгкую модель: ollama pull qwen3:1.7b и поменяй OLLAMA_MODEL в конфиге.

sqlite3 не устанавливается (ошибка компиляции)

Установи Python и Visual Studio Build Tools:

npm install --global windows-build-tools

Или скачай напрямую: https://visualstudio.microsoft.com/visual-cpp-build-tools/


Лицензия

MIT — делай что хочешь.

About

Local-first AI activity coach for Windows — watches activity, analyzes it with a local LLM, nudges you. No cloud, no telemetry.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors