Privacy-first literature review

Find, verify, and weigh the literature.
Locally.

Winnow searches open scholarly indexes, resolves every DOI against a registry, ranks what survives, and can turn the verified set into a review draft where every evidence claim carries a quote. The model writes; it never invents a reference.

v0.1 scaffold · MIT licensed · Node 24+ · no accounts, no telemetry

OpenAlex + Crossref DOI resolution via cite-sight-core SQLite on your machine BibTeX + CSL-JSON Unit + integration tests
Why Winnow

Retrieval is cheap. Sifting it honestly is not.

Search tools return lists. Deep-research tools write fluently from whatever they found, and sometimes from what they remember. Winnow is built for the part in between: identity, evidence, and the case against your own thesis.

01 — VERIFY

Verified, never generated

Five orthogonal axes: identity, match category, integrity notices, link status and check completeness. A DOI is resolved, not guessed. No model participates in deciding whether a paper exists.

02 — GROUND

Provenance, not vibes

Every evidence sentence carries a source and a quoted span. Synthesis needs two or more claims, gap claims come from corpus queries, and framing prose carries no facts. Weak support is flagged, not hidden.

03 — WEIGH

Ranked, not worshipped

Reciprocal rank fusion across providers, deterministic selection, and every candidate recorded with its provider ranks. Citation counts are shown, not treated as a quality score.

04 — ARGUE

Counter-evidence, with quotes

Inverted queries, citation chasing and stance labels (supports, opposes, mixed, unclear) with a quote behind each. A null result is a valid answer, not a failure.

What works now

A real CLI, verified against real indexes.

The v0.1 scaffold retrieves, deduplicates, verifies and ranks. It stores the raw provider payloads, every verification axis and the ranked set in one SQLite database. Replay checks payload hashes and re-derives the deterministic snapshot.

Search saves to the nearest project by default. Use --no-save for an ephemeral run, or --format json|csv|bibtex|csl for exports.

# install and link the CLI
npm install && npm run build
npm link ./packages/cli

# create a project and search
winnow init phd-review
cd phd-review
winnow search "retrieval augmented generation" --limit 20

# verify one DOI, or every DOI in a file
winnow verify 10.1038/s41586-020-2649-2

# replay a run from its stored payloads
winnow replay <run-id>
Roadmap

Small steps, each one testable.

VersionScopeStatus
v0.1 CLI: init, search, verify, replay; orthogonal verification, citability, RRF ranking, BibTeX/CSL export Scaffolded
v0.2 Screening and extraction: human decisions, evidence table, stage gates, PRISMA-inspired counts Next
v0.3 Review and Argue: evidence bundle, sentence checks, support triage, counter-evidence, citation rendering Planned
v0.4 Local web UI: browse, triage, read, edit drafts, review queue Planned
v0.5 Desktop shell, installers, first-run local model setup Planned
Scope, stated plainly

Narrative and scoping reviews. Not a systematic-review engine.

v1 is honest about what a bounded search can support. A relevance-ranked top-N is not an exhaustive search. Winnow reports PRISMA-inspired flow counts, and says so. Exhaustive retrieval, per-database search strings, full-text eligibility and dual independent screening are deliberately deferred.

The design decisions are recorded in ADR 0001–0011, including the 2026-11-11 specification audit and its disposition.