Personal intelligence and communications triage system.
Ingests messages from Telegram, WhatsApp, Matrix/Beeper legacy data, Microsoft Graph (Outlook), and Google Calendar into PostgreSQL/pgvector, then exposes everything via an MCP API for Hermes Agent.
Status: Phase 1 complete. See SPEC.md for full roadmap.
cp .env.local.example .env.local
# Set LIFERADAR_MATRIX_HOMESERVER_URL in .env.local
bin/localdev/matrix-up.sh
bin/localdev/matrix-auth.sh
bin/localdev/matrix-smoke.shIf you set LIFERADAR_API_KEY, include it as Authorization: Bearer ... or X-API-Key
when calling write endpoints such as POST /messages/send or when proxying through /mcp.
In production, MCP is exposed at https://liferadar.nothing.pink/mcp; do not publish a
separate MCP subdomain.
The local Matrix harness is self-contained and uses docker-compose.local.yaml. It keeps local state under ./data/ and intentionally disables Outlook, Google Calendar, and the legacy SQLite Matrix backfill path by default so Matrix testing stays isolated.
cp .env.example .env
# Fill in credentials (see .env.example)
docker compose up -d
docker compose logs -f worker- life-radar-worker — probe pipeline running every 5 minutes
- life-radar-db — pgvector:pg17 with connector state tables
- life-radar-api (Phase 2) — FastAPI HTTP API
- life-radar-chat-gateway — direct Telegram/WhatsApp auth, sync, and send runtime
- life-radar-matrix-bridge — internal Matrix send bridge
- MCP server (Phase 3) — OpenAPI-generated MCP tools for Hermes
- Telegram uses a direct personal-account connector with browser-assisted login.
- WhatsApp uses a persistent consumer multi-device session with QR login.
- Matrix runs through the first-class
liferadar-matrixclient path and is controlled byLIFERADAR_MATRIX_ENABLED. - Matrix sync now persists a global
matrix_sync_checkpointplus per-conversationmatrix_room_checkpointmetadata to avoid re-walking full history each cycle. - The raw HTTP Matrix path is retained as an explicit recovery mode, not the normal ingest path.
POST /messages/sendperforms direct sends forsource='telegram'andsource='whatsapp'.- Matrix send remains available when
LIFERADAR_MATRIX_ENABLED=trueand a valid Matrix session is present.
- Phase 1 (done) - Standalone Docker Compose, all probe scripts
- Phase 2 - FastAPI HTTP API server
- Phase 3 - MCP server (OpenAPI to MCP generation)
- Phase 4 - On-demand agent for deep-dive tasks
- Phase 5 - Full task management with Linear/project tool integration
- SPEC.md - Full specification and roadmap
- schema/ - PostgreSQL schema with pgvector
Utility scripts live in bin/. For the Nextcloud legacy migration compare status, run:
./bin/nextcloud-statusFor local Matrix work, use:
bin/localdev/matrix-up.sh
bin/localdev/matrix-auth.sh
bin/localdev/matrix-smoke.sh --decryption
bin/localdev/matrix-reset.sh