Personal activity tracking daemon with LLM summarization.
- Keyboard and mouse event capture
- Automatic screenshots (on click and/or cron schedule)
- LLM-powered activity summarization
- Cross-platform (macOS, Windows, Linux)
- Background daemon with CLI control
pip install lifelogger-daemon# Initialize configuration
lifelogger init
# (Optional) Set your OpenAI API key for summarization
lifelogger config-set --openai-key YOUR_API_KEY
# Start the daemon
lifelogger start
# Check status
lifelogger status
# View activity summary
lifelogger summary
# Stop the daemon
lifelogger stop| Command | Description |
|---|---|
lifelogger init |
Initialize configuration and data directories |
lifelogger start |
Start the background daemon |
lifelogger start -f |
Run in foreground (for debugging) |
lifelogger stop |
Stop the daemon |
lifelogger status |
Show daemon status and statistics |
lifelogger summary |
Show current activity summary |
lifelogger events |
Show recent events |
lifelogger chunks |
Show chunk summaries |
lifelogger config-show |
Display current configuration |
lifelogger config-set |
Update configuration |
Configuration is stored in ~/.lifelogger/config.json. You can modify it via CLI:
# Enable/disable capture types
lifelogger config-set --keypress/--no-keypress
lifelogger config-set --mouseclick/--no-mouseclick
lifelogger config-set --screenshot-on-click/--no-screenshot-on-click
# Configure cron screenshots
lifelogger config-set --cron-screenshot/--no-cron-screenshot
lifelogger config-set --cron-schedule "*/5 * * * *"
# Configure summarization
lifelogger config-set --summarizer/--no-summarizer
lifelogger config-set --model gpt-4o-mini
lifelogger config-set --openai-key YOUR_KEYEnvironment variables are also supported:
LIFELOGGER_OPENAI_API_KEYLIFELOGGER_CAPTURE_ENABLE_KEYPRESSLIFELOGGER_CAPTURE_ENABLE_MOUSECLICK- etc.
Requires accessibility permissions for keyboard/mouse capture. Grant permissions in System Preferences > Privacy & Security > Accessibility.
May require running as root or adding user to the input group for keyboard/mouse capture.
Should work out of the box. Some antivirus software may flag keyboard monitoring.
# Clone the repo
git clone https://github.com/JacobFV/lifelogger.git
cd lifelogger
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Type checking
mypy lifelogger
# Linting
ruff check lifeloggerMIT