Personal activity tracking daemon with LLM summarization
Project description
Lifelogger
Personal activity tracking daemon with LLM summarization.
Features
- 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
Installation
pip install lifelogger-daemon
Quick Start
# 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
Usage
Commands
| 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
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_KEY
Environment variables are also supported:
LIFELOGGER_OPENAI_API_KEYLIFELOGGER_CAPTURE_ENABLE_KEYPRESSLIFELOGGER_CAPTURE_ENABLE_MOUSECLICK- etc.
Platform Notes
macOS
Requires accessibility permissions for keyboard/mouse capture. Grant permissions in System Preferences > Privacy & Security > Accessibility.
Linux
May require running as root or adding user to the input group for keyboard/mouse capture.
Windows
Should work out of the box. Some antivirus software may flag keyboard monitoring.
Development
# 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 lifelogger
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lifelogger_daemon-0.2.1.tar.gz.
File metadata
- Download URL: lifelogger_daemon-0.2.1.tar.gz
- Upload date:
- Size: 26.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db528090bf240b7e811e4b336a037e18fe3e9b26d587f1f9bd093ab795d6d609
|
|
| MD5 |
e2c9b3029f65c830341b8790b28d60c6
|
|
| BLAKE2b-256 |
f6f2f41615ba309174cb9eec6891b7ac4b20a0aae272012357eceb7521b6114e
|
Provenance
The following attestation bundles were made for lifelogger_daemon-0.2.1.tar.gz:
Publisher:
publish.yml on JacobFV/lifelogger
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lifelogger_daemon-0.2.1.tar.gz -
Subject digest:
db528090bf240b7e811e4b336a037e18fe3e9b26d587f1f9bd093ab795d6d609 - Sigstore transparency entry: 774475626
- Sigstore integration time:
-
Permalink:
JacobFV/lifelogger@e3c03b9be9e17abfa71e8a81d363e46d22600705 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/JacobFV
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e3c03b9be9e17abfa71e8a81d363e46d22600705 -
Trigger Event:
release
-
Statement type:
File details
Details for the file lifelogger_daemon-0.2.1-py3-none-any.whl.
File metadata
- Download URL: lifelogger_daemon-0.2.1-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69a3a7f47a2a4a09498b603e173ad619f8b38baba104ea1b16b3144a826acc57
|
|
| MD5 |
ad6bd50f26255b13f638ccd96d513929
|
|
| BLAKE2b-256 |
43ceea223c6196a7f3b897ed0bb4186732c24b41f3f896576afbc0a895e44d70
|
Provenance
The following attestation bundles were made for lifelogger_daemon-0.2.1-py3-none-any.whl:
Publisher:
publish.yml on JacobFV/lifelogger
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lifelogger_daemon-0.2.1-py3-none-any.whl -
Subject digest:
69a3a7f47a2a4a09498b603e173ad619f8b38baba104ea1b16b3144a826acc57 - Sigstore transparency entry: 774475628
- Sigstore integration time:
-
Permalink:
JacobFV/lifelogger@e3c03b9be9e17abfa71e8a81d363e46d22600705 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/JacobFV
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e3c03b9be9e17abfa71e8a81d363e46d22600705 -
Trigger Event:
release
-
Statement type: