Frequently Asked Questions

Find answers to common questions about GNO.

Getting Started

What is GNO?

GNO is a local knowledge engine that indexes your documents—Markdown, PDF, DOCX, XLSX, PPTX—and lets you search them using BM25 full-text, vector similarity, or hybrid search with query expansion and cross-encoder reranking. Everything runs 100% locally on your machine with zero cloud dependencies.

How do I install GNO?

Install via Bun with bun install -g @gmickel/gno. On macOS, vector search requires Homebrew SQLite (brew install sqlite3). Run gno doctor to verify your installation, or launch gno serve for a guided first-run setup in the browser.

Can I set up GNO without remembering the CLI?

Yes. After install, run gno serve and open localhost:3000. The dashboard walks you through adding a folder, choosing a speed-vs-quality preset, downloading local models if needed, and checking health for indexing, models, and disk.

Can GNO keep indexing without the browser open?

Yes. Run gno daemon for headless continuous indexing. It keeps the same watch, sync, and embed loop alive without starting the Web UI. In v0.30 it stays in the foreground, so use nohup, launchd, or systemd if you want supervision.

What file formats does GNO support?

GNO indexes Markdown (.md) with frontmatter extraction, PDF (.pdf), Microsoft Word (.docx), Excel (.xlsx), PowerPoint (.pptx), and plain text files. It also detects document language across 30+ languages.

Can I edit PDFs or Word docs directly in GNO?

Not in place. GNO can view and search converted PDF/DOCX/PPTX/XLSX content, but those source files stay read-only. If you want to work on the content, use Create editable copy to generate a markdown note with source provenance.

Is my data sent to the cloud?

No. GNO is 100% local and privacy-first. All indexing, embedding, search, and AI answers run on your machine. Zero telemetry, zero tracking. Your documents never leave your computer. It works completely offline.

Does GNO work with Obsidian?

Yes. Point GNO at your Obsidian vault directory and it indexes everything. GNO understands wiki links ([[note]]), frontmatter tags, and can discover semantic connections between notes that Obsidian’s built-in search misses. It adds hybrid search, AI answers, and a knowledge graph on top of your existing vault. The app now previews likely Obsidian vault imports before indexing so users can see what will happen first.

Can GNO preview a folder before importing it?

Yes. In the app, use Collections > Add Collection and GNO will preview the folder before indexing. It detects likely Obsidian vaults, mixed work-doc folders, and obvious duplicate conflicts so you can understand the import before it starts.

Search & Querying

What is the difference between search, vsearch, and query?

gno search uses BM25 keyword matching (instant, ~5-20ms). gno vsearch uses vector similarity for semantic meaning (~0.5s). gno query combines both with query expansion, reciprocal rank fusion, and cross-encoder reranking for best results (~2-3s default, ~0.7s fast mode).

How do I get AI-generated answers?

Use gno ask “your question” –answer. This searches your documents using the hybrid pipeline and generates a cited answer using a local LLM. No cloud APIs needed.

Can I search specific collections only?

Yes, use –collection or -c flag, for example gno search “term” -c notes. You can also filter by tags (–tags-any, –tags-all), dates (–since, –until), and exclude specific documents (–exclude).

What are structured query modes?

GNO supports multi-line query documents using term: (exact keywords), intent: (semantic intent steering), and hyde: (hypothetical document passages). These give you explicit control over the retrieval pipeline for complex queries.

Configuration

Where is the config file located?

On macOS and Linux it is at ~/.config/gno/config.yaml. On Windows it is at %APPDATA%\gno\config.yaml. Run gno doctor to see your exact path.

How do I add multiple document folders?

Use gno collection add path –name name for each folder, then run gno update to index them all. You can add Obsidian vaults, project docs, research folders, and code repos—any directory on your machine.

When should I use gno serve versus gno daemon?

Use gno serve when you want the browser dashboard, REST API, or desktop shell integration. Use gno daemon when you only want headless continuous indexing. In v0.30 avoid running both against the same index at the same time.

Can I exclude certain files or folders?

Yes, add them to the exclude array in your collection config, for example exclude node_modules, .git, and temporary files. You can also use the –exclude flag at query time to skip specific documents from results.

AI & Models

What LLM models does GNO use?

GNO uses local models via node-llama-cpp. The default preset is slim-tuned (~1GB) with the fine-tuned local expansion model plus the same embed, rerank, and answer stack as slim. Other built-in presets are slim, balanced (~2GB), and quality (~2.5GB).

Do I need an API key?

No. GNO runs entirely locally with no API keys or cloud services required. Models are downloaded once and run on your machine.

How do I change the model?

Use gno models use preset then gno models pull to download, or switch presets directly in the web UI. Presets are slim-tuned, slim, balanced, or quality. You can also offload inference to a remote GPU server on your network via HTTP backends.

What is the fine-tuned model?

GNO publishes a fine-tuned retrieval model (gno-expansion-slim-retrieval-v1) on Hugging Face, trained locally on Apple Silicon with MLX LoRA. It achieves nDCG@10 of 0.925 and Ask Recall@5 of 0.875. Install it with gno models use slim-tuned.

Integration

How do I use GNO with Claude Code or Codex?

Install GNO as a skill with gno skill install –scope user. This works with Claude Code, Codex, OpenCode, and OpenClaw. Your agent can then search your knowledge base on demand with zero context window pollution.

How do I use GNO with Cursor, Zed, or Windsurf?

Install GNO as an MCP server with gno mcp install –target cursor (or zed, windsurf, amp, etc.). GNO provides 19 MCP tools for search, retrieval, indexing, and graph exploration.

What is MCP?

Model Context Protocol (MCP) is a standard for AI assistants to access external tools. GNO provides an MCP server so Claude Desktop, Cursor, Zed, Windsurf, Amp, Raycast, and more can search your documents.

Can I use GNO in scripts?

Yes, use –json flag for machine-readable output, for example gno search “term” –json piped to jq. GNO also supports CSV, Markdown, XML, and URI output formats. For TypeScript apps, use the SDK to embed GNO directly.

Can I embed GNO in my own app?

Yes. The SDK lets you import GNO directly into any Bun or TypeScript app with createGnoClient(). Run search, query, ask, index, and more without CLI subprocesses or a local server.


Still Have Questions?