# GNO > A local knowledge engine for notes, code, PDFs, and Office documents. GNO indexes your files on your own machine and gives you hybrid keyword-plus-semantic search, a browsable workspace with knowledge graph and editor, a CLI, an SDK, a REST API, and MCP or agent-skill integration for ten AI clients. What sets it apart is that its retrieval can show its work: deterministic evidence with exact line spans and content hashes, answers that abstain when support is incomplete, and receipts you can re-verify later. Open source, MIT licensed, zero telemetry. ## What makes it different - **Context Capsules**: one bounded, deterministic evidence bundle per goal, with exact line ranges, three levels of content hash, declared coverage gaps, and explained omissions, all under a single global token budget. Measured on 48 paired agentic benchmark tasks: 100% task completion accuracy retained, 48.94% fewer retrieval calls, 44.12% less model-visible context. - **Verified answers**: `gno ask --verify` generates against one closed Capsule, classifies every substantive claim as supported, contradicted, insufficient, or uncertain, and withholds the draft below 100% support. Abstention is a valid outcome, not a failure. - **Verified setup**: `gno setup` returns only after lexical search proves a real corpus-derived hit. Semantic readiness is tracked separately and honestly. - **Knowledge Delta**: bounded metadata-only change journal, structural diffs, dependency impact paths, and freshness reverification for saved Capsules. - **Private retrieval learning**: opt-in local traces, explicit judgments only, content-free qrels export, read-only baseline-versus-candidate replay. Nothing is recorded or personalized by default. - **Collection egress policies**: fail-closed `local_only`, `lan`, or `remote` boundaries per collection. Derived Capsules, traces, and exports inherit the most restrictive source policy, and authentication never overrides it. ## Boundaries and honest limits - Corpus, index, and built-in models stay local. The three explicit network boundaries are: downloading a model, configuring an HTTP inference endpoint, and uploading an artifact you exported for gno.sh publishing. - Verified Ask checks claims only against the evidence retained in its local Capsule. It is not a general fact-check and cannot make an incorrect source correct. - CJK lexical normalization is NOT shipped. The benchmark lane is published, it missed its frozen Chinese promotion gates, and the no-ship decision is recorded. Multilingual semantic retrieval is separate and does work. - File and export adapters read local export files only. They never authenticate to accounts, read live browser databases, fetch URLs, or open attachments. ## Install ```bash bun install -g @gmickel/gno # requires Bun >= 1.3 gno setup ~/notes --name notes gno mcp install --target cursor # or claude-code, zed, windsurf, ... ``` ## Documentation ### Getting Started - [Quickstart](https://gno.sh/docs/quickstart): Go from a local folder to proven lexical retrieval, hybrid search, browsing, and AI answers in under five minutes. - [Installation](https://gno.sh/docs/installation): Install GNO via Bun, prove local retrieval with gno doctor, and configure vector search on macOS. - [Configuration](https://gno.sh/docs/configuration): Configure GNO via user config or a portable project profile, manage collections, and pick the right model preset. ### Reference - [CLI commands](https://gno.sh/docs/cli): Reference for every gno command, global option, retrieval mode, background service, and integration surface. - [Packaging proof](https://gno.sh/docs/packaging): How GNO proves the npm tarball users install contains the runtime files and doctor contract needed for release. - [Web UI](https://gno.sh/docs/web-ui): The local browser workspace started by gno serve: search, browse, graph, edit, capture, API, and live indexing. - [REST API](https://gno.sh/docs/api): HTTP endpoints exposed by gno serve for search, documents, graph data, models, jobs, and workspace automation. - [SDK](https://gno.sh/docs/sdk): Import GNO directly into a Bun or TypeScript app with createGnoClient and the same local retrieval engine. - [MCP integration](https://gno.sh/docs/mcp): Install GNO automatically as a local MCP server for exactly 10 named clients; configure Raycast and other compatible clients manually. - [Agent skills](https://gno.sh/docs/skills): Install GNO as a progressive agent skill for Claude Code, Codex, OpenCode, OpenClaw, Hermes Agent, and compatible clients. - [Structured query syntax](https://gno.sh/docs/syntax): Multi-line query documents with term, intent, and hyde for explicit retrieval behavior. - [Fine-tuned models](https://gno.sh/docs/fine-tuned-models): GNO ships a fine-tuned local query-expansion model; it is not trained on your documents or used as the standalone answer model. ### Integrations - [Browser clipper](https://gno.sh/docs/browser-clipper): Capture a visible selection or Reader-style page into local GNO with previewed Markdown and exact provenance. - [Claude Code](https://gno.sh/docs/claude-code): Use GNO with Claude Code via the SKILL.md install or the MCP server. - [Cursor](https://gno.sh/docs/cursor): Install GNO as an MCP server in Cursor for hybrid retrieval while you code. - [Claude Desktop](https://gno.sh/docs/claude-desktop): Install GNO as an MCP server in Claude Desktop for hybrid retrieval over your local documents. ### Guides - [Context Capsules](https://gno.sh/docs/context-capsules): What a Capsule is, how GNO compiles one, every field it contains, how to verify it later, and when to use one instead of a plain query. - [Retrieval learning & replay](https://gno.sh/docs/retrieval-learning): Turn a real retrieval miss into a content-free regression fixture, then replay a candidate pipeline against it before you change anything. - [Knowledge Delta](https://gno.sh/docs/knowledge-delta): Answer change-shaped questions directly: what moved since Tuesday, what structurally changed in this note, and which conclusions depended on it. - [Project setup & profiles](https://gno.sh/docs/project-profiles): Why setup refuses to report success until retrieval works, and how to commit portable retrieval intent to a repository without committing runtime state. - [File & export adapters](https://gno.sh/docs/file-export-adapters): Index mail, calendar, transcript, browser, and JSONL exports as individually searchable records, with no account access and no live connectors. - [Collection egress](https://gno.sh/docs/collection-egress): Give each collection a fail-closed transport boundary that follows its content through inference, publishing, exports, Capsules, and traces. - [How-To](https://gno.sh/docs/how-to): Practical GNO recipes for keeping collections fresh, building personal knowledge bases, connecting AI tools, and recovering stale indexes. - [How search works](https://gno.sh/docs/how-search-works): The GNO retrieval pipeline end to end — BM25, vector, opt-in graph expansion, fusion, and reranking. - [Architecture](https://gno.sh/docs/architecture): How GNO is built — Bun, SQLite, local models, and the shared retrieval core. - [Use cases](https://gno.sh/docs/use-cases): Real workflows people use GNO for — research, coding agents, client work, and more. - [Troubleshooting](https://gno.sh/docs/troubleshooting): Common issues and their fixes — from missing SQLite to model download failures. ### gno.sh Publishing - [Publish a note](https://gno.sh/docs/publish-quickstart): Sign up for gno.sh, import an exported artifact, and publish a versioned reading-first snapshot. - [Visibility modes](https://gno.sh/docs/publish-visibility): Public URLs, secret links, invite-only spaces, and end-to-end encryption — how to choose. ## Features - [Context Capsules](https://gno.sh/features/context-capsules): One bounded, checkable evidence handoff for an agent - [Verified Answers](https://gno.sh/features/local-llm): A cited answer from a local LLM, or an honest abstention - [Knowledge Delta](https://gno.sh/features/knowledge-delta): Know what changed, and which conclusions depended on it - [Private Retrieval Learning](https://gno.sh/features/retrieval-learning): Turn a real miss into a regression test you own - [Verified Setup & Project Profiles](https://gno.sh/features/project-setup-profiles): Activate a folder with proof, then keep its retrieval intent portable - [Collection Egress Governance](https://gno.sh/features/collection-governance): Decide where each collection is allowed to travel - [Hybrid Search](https://gno.sh/features/hybrid-search): Find the right paragraph, not just the right file - [Advanced Retrieval](https://gno.sh/features/advanced-retrieval): Fine-grained control over how you search - [AI Agent Integration](https://gno.sh/features/agent-integration): Your coding agent retrieves from your knowledge base on demand - [AI Tool Integration](https://gno.sh/features/mcp-integration): Give your AI assistant access to your documents - [Daemon Mode](https://gno.sh/features/daemon-mode): Keep GNO fresh without the web UI - [Benchmarks](https://gno.sh/features/benchmarks): Measure before you switch, and publish it either way - [Fine-Tuned Models](https://gno.sh/features/fine-tuned-models): Measured query expansion with a tuned local model - [Web UI](https://gno.sh/features/web-ui): Your knowledge dashboard - [Knowledge Graph](https://gno.sh/features/graph-view): See how your ideas connect - [Note Linking](https://gno.sh/features/note-linking): Navigate your knowledge graph - [Collections](https://gno.sh/features/collections): Organize your knowledge - [Tag System](https://gno.sh/features/tags): Classify and filter your knowledge - [Multi-Format Indexing](https://gno.sh/features/multi-format): Index everything you write - [Browser Clipper](https://gno.sh/features/browser-clipper): Capture the page you can see—without browser surveillance - [Privacy First](https://gno.sh/features/privacy-first): Your data stays yours - [Fast CLI](https://gno.sh/features/fast-cli): Instant startup, lightning search - [REST API](https://gno.sh/features/api): Build anything with your knowledge - [SDK](https://gno.sh/features/sdk): Embed GNO directly - [Publish & Sharing](https://gno.sh/features/publish-sharing): Share your GNO workspace as a reading surface ## Integrations - [Claude Code](https://gno.sh/integrations/claude-code): Give Claude Code a memory that outlives the session - [Claude Desktop](https://gno.sh/integrations/claude-desktop): Ask Claude Desktop about your own files - [Cursor](https://gno.sh/integrations/cursor): Your editor's assistant, reading your actual documentation - [Codex](https://gno.sh/integrations/codex): Codex, with your documentation in reach - [Zed](https://gno.sh/integrations/zed): Local retrieval inside Zed's assistant - [Windsurf](https://gno.sh/integrations/windsurf): Windsurf plus your own reference material - [OpenCode](https://gno.sh/integrations/opencode): OpenCode with retrieval that does not bloat the prompt - [Amp](https://gno.sh/integrations/amp): Amp, connected to your local corpus - [LM Studio](https://gno.sh/integrations/lm-studio): A fully local stack: LM Studio for generation, GNO for evidence - [LibreChat](https://gno.sh/integrations/librechat): Self-hosted chat, self-hosted knowledge - [OpenClaw](https://gno.sh/integrations/openclaw): OpenClaw with a searchable long-term memory - [Obsidian](https://gno.sh/integrations/obsidian): Keep the vault. Add retrieval your agent can use ## Comparisons - [GNO vs Obsidian](https://gno.sh/comparisons/obsidian): Obsidian wins on plugins, Canvas, and visual note-taking. GNO wins on retrieval, agent access, and multi-format indexing. They compose well. - [GNO vs Khoj](https://gno.sh/comparisons/khoj): Khoj is a broader personal AI assistant platform. GNO is a tighter local retrieval and workspace engine for developer workflows. - [GNO vs PrivateGPT](https://gno.sh/comparisons/privategpt): Both are privacy-first local RAG. PrivateGPT is a Python-first server stack. GNO is a local knowledge workspace with stronger retrieval UX and agent integration. - [GNO vs Quivr](https://gno.sh/comparisons/quivr): Quivr is a team-oriented second brain with cloud sync. GNO is a local-first retrieval workspace with CLI, REST API, and agent integration. - [GNO vs AnythingLLM](https://gno.sh/comparisons/anythingllm): AnythingLLM is a full chat app with document upload. GNO is a retrieval engine and workspace that plugs into your existing AI tools. - [GNO vs Reor](https://gno.sh/comparisons/reor): Reor is a local-first note-taking app with built-in AI. GNO is a retrieval engine that works with your existing editor of choice. - [GNO vs GPT4All](https://gno.sh/comparisons/gpt4all): GPT4All is a local LLM chat app with attached document support. GNO is a retrieval workspace for using multiple AI clients with the same local index. - [GNO vs Kotaemon](https://gno.sh/comparisons/kotaemon): Kotaemon is a RAG web UI focused on document Q&A with citations. GNO is a retrieval engine with CLI, REST API, MCP, and agent integrations in addition to a web UI. - [GNO vs Qmd](https://gno.sh/comparisons/qmd): Qmd is the markdown search CLI Karpathy recommends for his LLM Wiki. GNO does everything Qmd does — plus multi-format indexing, a web UI, AI answers, agent skills, and hosted publishing. - [GNO vs grep](https://gno.sh/comparisons/grep): grep finds exact patterns at sub-millisecond speed. GNO finds concepts, handles multi-format content, and feeds AI agents. - [GNO vs Elasticsearch](https://gno.sh/comparisons/elasticsearch): Elasticsearch is a distributed search engine for production workloads. GNO is a single-user local knowledge workspace with embedded SQLite. ## Optional - [Publishing platform](https://gno.sh/publish): export a note or collection locally and publish it as a reading-first page (public, secret link, invite-only, or encrypted before upload). - [Pricing](https://gno.sh/pricing): the local engine is free and MIT licensed; pricing covers hosted publishing only. - [Ecosystem](https://gno.sh/ecosystem): companion tools. - [Source](https://github.com/gmickel/gno)