Skip to main content

A local, single-machine retrieval engine over the web pages you read.

Project description

Refindery

A local, single-machine retrieval engine over the web pages you read.

Upstream capture systems (browser extensions, history readers) extract main-body text and POST it here. Refindery chunks, embeds, indexes, clusters, and extracts entities from that text, then serves hybrid retrieval over it via a local HTTP API and an MCP server.

📖 Full documentation: https://hbmartin.github.io/refindery/

Companion projects

This is a retrieval engine, not a Q&A system. It returns ranked, grounded passages with provenance. Synthesis is the caller's job — typically an LLM agent (e.g. Claude via MCP) that treats Refindery as a tool. No generation appears on the query path.

Jobs to be done

  1. Refind — "I read something about X, take me back to it."
  2. Synthesize — "What have I learned about Y?" (agent-mediated; Refindery supplies the passages)
  3. Resurface — "What have I been reading a lot about?" (clusters, similarity)

Quickstart

The fastest path on macOS (Homebrew, no Docker) writes a private .env with a generated auth token and the daemon-free LanceDB profile:

VOYAGE_API_KEY=... ./scripts/setup-macos.sh --start

On later runs, start the server with the generated environment:

uv run --env-file .env refindery serve

Then ingest a page and search it:

curl -s -X POST http://127.0.0.1:8000/v1/pages \
  -H "Authorization: Bearer $REFINDERY_AUTH_TOKEN" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/article", "title": "An Article",
       "body_extracted": "Plain text main body content...",
       "fetched_at": "2026-07-08T10:00:00Z", "source": "extension"}'

curl -s -X POST http://127.0.0.1:8000/v1/search \
  -H "Authorization: Bearer $REFINDERY_AUTH_TOKEN" -H "Content-Type: application/json" \
  -d '{"query": "main body content"}'

Other install paths (Docker/Qdrant, manual, fully containerized) are in the Installation guide.

Documentation

The documentation site is the canonical reference:

  • Getting started — install, quickstart, and validation.
  • Guides — ingest, search, MCP, evaluation, clustering, entities, models, deletion.
  • Configuration — the settings model, deployment profiles, auth, tuning, observability.
  • Architecture — hexagonal ports/adapters, data flow, and the data model.
  • Operations — reset, purge, job leases, and accepted risks.
  • Reference — HTTP API, upstream ingest API, MCP tools, CLI, and the Python API.

Development

See CONTRIBUTING.md and the Contributing docs. TL;DR: uv sync --all-groups --extra ner, then uv run ruff format . && uv run ruff check . && uv run pytest && uv run ty check && uv run pyrefly check.

Preview the docs locally with uv run zensical serve.

License

MIT — see LICENSE.txt.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

refindery-0.2.0.tar.gz (131.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

refindery-0.2.0-py3-none-any.whl (183.1 kB view details)

Uploaded Python 3

File details

Details for the file refindery-0.2.0.tar.gz.

File metadata

  • Download URL: refindery-0.2.0.tar.gz
  • Upload date:
  • Size: 131.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for refindery-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0b8ad889559bc14ab61069fb1839a8625d11ae3f6b5eaa84f0ae40834e0162ef
MD5 d812e342b9cd3cacca60500a74c40ec6
BLAKE2b-256 549af9036ae203ca1b249d41df4eddbe5cb55eaca00302e007e6b79bfaa98ab2

See more details on using hashes here.

Provenance

The following attestation bundles were made for refindery-0.2.0.tar.gz:

Publisher: publish.yml on hbmartin/refindery

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file refindery-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: refindery-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 183.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for refindery-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 db106dce393e9b244386d620a3d2ca2df9a3ae24c2ff2fbb329b29d94911fa16
MD5 80bc7ebe1d983f3e8db21bf41350bfce
BLAKE2b-256 5f89015d114a259014587540e896e59992cb137571bd1aacc8921f3a387a4034

See more details on using hashes here.

Provenance

The following attestation bundles were made for refindery-0.2.0-py3-none-any.whl:

Publisher: publish.yml on hbmartin/refindery

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page