Mirror-Log
An append-only event log for capturing thoughts, notes, and data you do not want to lose.
mirror-log is local-first, SQLite-backed, and designed to be boring in the best way: easy to inspect, easy to script, and hard to accidentally lose context.
Version 0.1.6 includes semantic embedding support and enhanced iteration tracking capabilities.
Quick Start
# Add one event
# Add from file
# Bulk import from stdin (one line = one event)
|
# Show recent
# Search full events
# Search chunked content
# Ingestion stats (total/unique/duplicates)
# Database summary
# Integrity verification (hash + relational checks)
# Generate embeddings for events (coming in next version)
# mirror-log embed --source journal
# Search similar events using embeddings (coming in next version)
# mirror-log search-similar "overhead allocation" --limit 5
Installation
# Clone and build
# Binary location: target/release/mirror-log
# Or install locally
Documentation
- User Guide - Comprehensive documentation with examples, advanced features, and best practices
- API Documentation - Library usage for programmatic access
Core Principles
- Append-only: Events are never updated or deleted
- SQLite is source of truth: Your data stays local and inspectable
- No hidden layers: Direct SQL remains first-class
- Source-aware logging: Every event tracks where it came from
- Semantic Embedding Support: Events can be enriched with vector embeddings for similarity search
Data Model
Main Tables
Events Table
id TEXT PRIMARY KEY(UUID)timestamp INTEGER NOT NULL(event timestamp)source TEXT NOT NULLcontent TEXT NOT NULLmeta TEXT NULLingested_at INTEGER NOT NULLcontent_hash TEXT NULL(SHA256 for dedupe analytics)
Chunks Table
- Stores chunked slices of event content
- Used by
search --chunksand large-content workflows
Direct SQLite Access
# Query events
)
;
# Count by source
)
) ;
# Get stats
)
)
;
# View embeddings (coming in next version)
# SELECT e.id, e.content, emb.embedding
# FROM events e
# JOIN event_embeddings emb ON e.id = emb.event_id
# LIMIT 10;
Development
License
AGPL-3.0-or-later. See LICENSE.