Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

AltStyle によって変換されたページ (->オリジナル) /