Find the paragraph, not just the file
Keyword and semantic retrieval fused and reranked, with structured intent controls, metadata filters, and an explain mode that shows exactly how a result was ranked.
GNO — local knowledge engine
One local index across your notes, code, PDFs, and Office docs. Hybrid search, a real workspace, and agents that can cite their sources.
Point GNO at your folders and you get keyword and semantic retrieval fused and reranked, a workspace to browse, edit, capture and graph it all, a CLI, an SDK, a REST API, and one-command hookup to ten AI clients. Then you get the part that is harder to find: retrieval that can show its work. Bounded Context Capsules carrying exact line spans and content hashes, answers that abstain instead of filling the gap, evidence that tells you when it goes stale, and a setup command that refuses to claim success until search really returns your own documents. Open source, MIT, zero telemetry.
bun install -g @gmickel/gno && gno setup ~/notes --name notes| Parameter | Value | Notes |
|---|---|---|
| File types | Markdown · PDF · Office · code | Plus plain text, portable mail and calendar exports, transcripts, JSONL, and browser exports |
| Search modes | 3 | Keyword (BM25), semantic (vector), and hybrid — fused, reranked, and explainable |
| AI clients | 10 | Claude Code, Claude Desktop, Cursor, Codex, Zed, Windsurf, OpenCode, Amp, LM Studio, LibreChat — one command each |
| Interfaces | 6 | CLI, web UI, REST API, TypeScript SDK, MCP server, and a desktop shell, all reading one index |
| Where your corpus lives | Local | Your machine. The index and built-in models never leave it; the three network boundaries are all explicit |
| Telemetry events | 0 | Nothing recorded, phoned home, or personalized by default |
Everything above is the free, open-source local product. Hosted gno.sh publishing is optional and separate. Full detail in the documentation.
§1 — Workspace
Installs into the tools you already use
§2 — One index, five real surfaces
GNO is not a search sidecar bolted onto a note app. A fast CLI, a web UI with browse and graph, an SDK and REST API, integrations for ten supported agent clients, and an optional hosted reader all read one index with one ranking behavior.
Keyword and semantic retrieval fused and reranked, with structured intent controls, metadata filters, and an explain mode that shows exactly how a result was ranked.
A real workspace, not a search box. Cross-collection tree, safe editing, provenance-carrying quick capture, and a knowledge graph you can navigate into the source note.
MCP and agent skills for Claude Code, Claude Desktop, Cursor, Codex, Zed, Windsurf, OpenCode, Amp, LM Studio, and LibreChat. 25 read-only tools by default; writes are a separate opt-in.
Script it, embed it in a Bun app, or keep one warm process serving every client through a shared Streamable HTTP MCP gateway.
Export an explicit snapshot and publish it as a reading-first page: public URL, secret link, invite-only space, or encrypted before upload. Everything outside the artifact stays local.
§3 — Why not another local RAG tool
A ranked list is a guess with formatting. These four properties are what make retrieval something you can hand to an agent, or to a reviewer, without crossing your fingers.
Compile one bounded evidence bundle for a goal: exact line spans, source hashes, one global token budget, collapsed duplicates, and an explicit list of what it could not find. Your agent reads it once instead of searching five times and guessing.
How Capsules workVerified Ask generates against one closed Capsule, classifies every substantive claim as supported, contradicted, insufficient, or uncertain, and withholds the draft unless support reaches 100%. An abstention is a valid result, not a failure.
See verified answersSaved Capsules can be watched. When their sources move, the resident runtime reverifies the exact spans and writes a canonical, non-generative freshness receipt. Knowledge Delta shows what changed and which decisions depended on it.
Read about Knowledge Deltagno setup returns only after lexical search finds a real result derived from your own corpus. No green checkmark for a folder that indexed but cannot be searched. Semantic readiness is tracked separately and honestly.
Verified setup§4 — Characterization
What compiling evidence once buys an agent, measured across the whole benchmark rather than a favourable slice of it.
The agent stops re-searching for context it already has
Same answers reached on a smaller token budget
No completion loss against the paired baseline
Conditions. Measured across all 48 paired tasks in the agentic retrieval benchmark, not a selected task. The baseline lane is normalized to 100. Raw receipts, fingerprints, and the limitations of the run are published with the result.
§5 — What the handoff looks like
# Activate a folder. Returns only after lexical search proves a real hit.
gno setup ~/notes --name notes# Compile one bounded evidence bundle for a goal.
gno context build 'why did we drop the queue rewrite' --budget 12000 --json --output capsule.json# Re-check the evidence later. Non-mutating; reports stale, missing, or reranked spans.
gno context verify capsule.json# Generate only what the Capsule supports. Abstains below full claim coverage.
gno ask 'why did we drop the queue rewrite' --verify --show-sourcesAsk a question and GNO answers from your own documents with citations that resolve to the source passage. Turn on verification and every substantive claim gets bound to an evidence ID, a line range, and a content hash before the draft is released.
Move through collections and nested folders, keep separate browse context per tab, and jump from folder structure straight into the note you want. Markdown stays editable, converted binaries stay read-only, and PDFs retain their native page layout in the viewer.
§6 — How we argue
Every benchmark artifact behind these numbers is committed to the repository, pinned to a corpus, and reproducible on your machine.
Every number on this site resolves to a committed benchmark artifact you can download and recompute, pinned to a fixed corpus with its limitations stated alongside the result.
Corpus, index, and built-in models stay on your machine with zero telemetry. Each collection carries a fail-closed local, LAN, or remote egress policy, and derived Capsules and exports inherit the most restrictive one.
CLI, SDK, REST, web UI, desktop shell, and every agent integration hit the same index with the same ranking behavior. Nothing drifts in the handoff between you and your agent.
Retrieval tracing is off by default. Only judgments you make explicitly become qrels, replay is read-only, and no ranking, prompt, model, or file is ever mutated without you asking for it.
§7 — Feature index
Browse and edit notes, then read PDFs as native pages with selectable text, zoom, fit modes, and an extracted-text fallback.
One deterministic, token-budgeted evidence handoff with exact spans, declared gaps, and reproducibility fingerprints.
Generate against one closed Capsule, classify every substantive claim, and abstain when the evidence is incomplete.
See what changed, trace which decisions depend on it, and reverify saved evidence when its sources move.
Turn a real miss into a content-free regression fixture, then replay a ranking change before you adopt it.
Prove lexical retrieval before setup succeeds, then keep project intent portable in a checked-in profile.
Fail-closed local, LAN, and remote policies that follow evidence through inference, publishing, exports, and traces.
BM25 and vectors fused, reranked, and explainable, over Markdown, code, PDFs, Office files, and portable exports.
Skills and MCP for ten clients, plus one warm resident gateway they can share instead of each cold-starting.
Capture a selection or Reader projection through visible loopback pairing, with no history, cookie, or background access.
Export from GNO, upload the artifact, and get a page with editorial typography, outline navigation, scoped search, and backlinks restricted to what you published. Public URLs, secret links, invite-only spaces, or shares encrypted before they leave your machine.
§8 — Top questions
Point GNO at folders on your machine and it builds one local index across them. From there you get keyword, semantic, and hybrid search; a browsable workspace with a folder tree, a markdown editor, and a knowledge graph; AI answers that cite the passage they came from; and one-command hookup so Claude Code, Cursor, Codex, and seven other clients can retrieve from the same index. It is open source, MIT licensed, and runs entirely on your machine.
Markdown, PDF, Office documents, plain text, and source code, plus portable mail and calendar exports, transcripts, JSONL, and browser exports. Markdown stays editable in the workspace; converted binaries stay read-only, and the interface never blurs the two. Point it at a folder that mixes all of them and it handles the mix.
Those match the words you typed. GNO also matches meaning, so a search for “how we handle retries” finds the paragraph that talks about exponential backoff without the word “retry” in it. It reads inside PDFs and Office files rather than just their filenames, it spans every folder you have added rather than one vault, it answers questions in natural language with citations, and it exposes all of that to your AI tools. If your material is one folder of Markdown and you only ever search for exact strings, ripgrep is genuinely fine.
No GPU required and no account required. Local GNO is free and MIT licensed. Indexing and keyword search are CPU-only. Semantic search and AI answers use built-in local models that run on CPU, and will use Apple Silicon or a GPU if you have one. You can point inference at an external endpoint instead, which is an explicit opt-in, and the only paid thing anywhere is the optional gno.sh hosted publishing layer.
Not by default. Indexing, search, and the built-in models run on your machine with zero telemetry, and work offline once models are cached. There are exactly three boundaries, all explicit: downloading a model, configuring an HTTP inference endpoint (which then receives the text for that model role), and uploading an artifact you exported for gno.sh. Each collection also carries a fail-closed egress policy that authentication cannot override.
One command per client. gno mcp install --target <client> pins the exact runtime, index, and workspace roots so the client opens the same workspace regardless of shell environment, and gno skill install gives coding agents CLI-level retrieval with no protocol overhead. MCP exposes 25 read-only tools by default, including Capsule build, Capsule verification, Knowledge Delta, and the opt-in verified Ask tool. The 15 mutating tools require a separate flag.
Yes, and that is the design center. Your agent retrieves the passages it needs on demand instead of loading a knowledge base into every session. Run gno daemon and several clients share one warm resident runtime, one index, and one model lifecycle over a Streamable HTTP MCP gateway, so the second agent does not pay the first agent's cold start.
Most of them return a ranked list and hope for the best. GNO produces evidence you can check: a Context Capsule with exact line spans and content hashes under one token budget, an answer path that abstains unless every substantive claim is supported, freshness receipts when sources move, and a setup command that refuses to report success until lexical search returns a real result from your corpus. The benchmark artifacts behind those claims ship in the repository. If you only need search and a workspace, that all works without ever touching the evidence layer.
No, and GNO will not claim otherwise. Verified Ask checks a draft only against the exact evidence retained in its closed local Capsule. It binds verdicts to evidence IDs, line ranges, and hashes, reports stale evidence and verifier degradation, and abstains when support is incomplete. It does not prove anything beyond your corpus, and it cannot make a wrong source right.
An optional publishing layer. Export a note or collection locally, upload the artifact, and get a reading-first page: public URL, secret link, invite-only space, or a share encrypted before it leaves your machine. Public snapshots can also expose the shipped read-only agent projection. Private agent API access is deferred: secret-link, invite-only, and encrypted spaces remain human-reader surfaces. The five-partner knowledge-room pilot is a consented concierge validation program, not a generally available service. Nothing outside the artifact you exported ever reaches the server.
Yes to both. Point GNO at an Obsidian vault and it indexes wiki links, frontmatter tags, and the whole tree, adding hybrid search, cited answers, and agent access on top of what you already have. For an LLM Wiki, where an agent compiles raw sources into a persistent markdown knowledge base, GNO indexes both the compiled wiki and the raw sources, so retrieval spans both layers.