Personal, local-first AI work-memory desktop app for macOS. Siphon runs
screenpipe as an unmodified, supervised sidecar engine (24/7 screen +
audio capture, OCR/a11y text, local Whisper STT, REST API on localhost:3030) and builds its own
app layer on top: timeline & search, meetings with good diarization, a note-taker popup, AI chat
over history with citations, scheduled automations, long-horizon rollups, and a capture-audit
surface.
Personal use only. Single user, single machine, no cloud accounts. See SPEC.md for
the binding product/technical spec and CLAUDE.md for the build rules.
apps/desktop/ Tauri v2 + React/TS desktop shell (Rust backend in src-tauri/)
packages/ Shared TS packages (engine-adapter lands here — the ONLY caller of :3030)
workers/ Python 3.12 workers (uv): diarization, rollups, meeting-detect, automations
engine/ Pinned screenpipe version + supervision (VERSION is the source of truth)
tests/engine-contract/ Contract smoke tests against the pinned engine (adapter slice)
docs/ devlog.md and other docs
.claude/skills/ Project skills (run-siphon, engine-contract, …)
- Node ≥ 22 + pnpm 11 · Rust (
source ~/.cargo/env) · uv (Python 3.12)
pnpm install # JS/TS workspace
cd workers && uv sync && cd .. # Python workers env (3.12)
source ~/.cargo/env
pnpm --filter @siphon/desktop tauri:dev # run the desktop app
cd workers && uv run python -m siphon_workers # run the workers (separate terminal)pnpm typecheck && pnpm lint && pnpm format:check # TS
cd workers && uv run ruff check . && uv run pytest # PythonUnder active construction, milestone by milestone (SPEC §11). Current: M0 — Foundation.
See docs/devlog.md for what has shipped.