Skip to content

Interleave 0.2.0 — gold-standard local-first

Choose a tag to compare

@antoinefink antoinefink released this 03 Jun 08:32
· 270 commits to main since this release

Interleave 0.2.0 turns the local-first MVP into the full gold-standard incremental-reading system — the entire Part II roadmap (M12–M20) on top of the M1–M10 core loop. Everything runs 100% on-device against native SQLite + a filesystem asset vault; there is no cloud dependency.

Highlights

Capture & import

  • Import by URL — fetch a page in the Electron main process, run Readability, snapshot the original + cleaned HTML to the vault, convert to ProseMirror, and land a clean inbox source. Canonical-URL normalization + content-hash duplicate detection (reuse-or-new-version).
  • Chrome extension (MV3) — save page / save selection / save to inbox, delivered to the app over a token-protected 127.0.0.1 loopback server (no cloud, never writes the DB directly), plus a side panel capture with priority + reason.
  • Documents — PDF (PDF.js, page read-points + page-level source locations), PDF region extraction (figure/table → image card), OCR (Tesseract WASM, on the on-device job runner), EPUB, Markdown & HTML (round-trips), highlight import (Readwise/Kindle), and Anki .apkg/CSV import-export.

Knowledge processing

  • Rich-media cards — image occlusion (masks separate from the base image → sibling cards), formula (KaTeX) + syntax-highlighted code cards, video import with transcript + timestamped read-points, clip extraction, audio review cards.
  • Advanced scheduling & overload — a scoring-based queue, auto-postpone that protects high-priority fragile memory, catch-up & vacation modes, per-concept/priority desired retention, on-device FSRS parameter optimization, workload simulation, and mature-card retirement. (FSRS schedules cards; a separate attention scheduler handles sources/extracts — never crossed.)
  • Analytics & quality — source-yield + extract-stagnation analytics, a leech remediation workflow, and minimum-information-principle card-quality checks.

Intelligence (on-device, off by default)

  • Semantic search via sqlite-vec with on-device embeddings, related-item suggestions, and contradiction detection — degrading gracefully to keyword/FTS when disabled.
  • Trust — fact staleness/expiry, source-reliability metadata, and scheduled verification tasks.
  • AI-assisted distillation runs from a local model or your own API key — output is always a draft (never auto-scheduled), every suggestion is grounded back to the source span. Plus incremental-writing synthesis notes.
  • Review modes — review by concept / source / branch / search / semantic / stale / leeches / random, outside normal scheduling.

Hardening

  • Large-collection maintenance tools (dedup, orphan-media + orphan-vector cleanup, broken-source reports, integrity checks, bulk actions — all undoable; only Trash hard-deletes) and a 100k-element load-test + index audit pass.

Install (macOS, Apple Silicon)

The .dmg is ad-hoc signed, not notarized, so Gatekeeper will warn on first launch:

  1. Open Interleave-0.2.0-arm64.dmg, drag Interleave to Applications.
  2. Right-click the app → Open (once), or run xattr -dr com.apple.quarantine /Applications/Interleave.app.

The Chrome extension is loaded separately: pnpm --filter @interleave/extension build, then load apps/extension/dist/ unpacked in Chrome and pair the token in Settings → Browser capture.

This is a pre-1.0 release: green and fully tested (2,256 tests), but not yet daily-driven/battle-tested. Your data is local — back it up from Settings.