GNO - Local Knowledge Engine
SkillSearchSearch local documents, files, notes, and knowledge bases. Index directories, search with BM25/vector/hybrid, get AI answers with citations. Use when user wants to search files, find documents, query notes, look up information in local folders, index a directory, set up document search, build a knowledge base, needs RAG/semantic search, or wants to start a local web UI for their docs.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the GNO - Local Knowledge Engine skill
What this skill tells your AI
The instructions your AI receives, as published by gmickel/gno in skills/gno/SKILL.md and read by ahel’s review.
Fast local semantic search. Index once, search instantly. No cloud, no API keys.
When to Use This Skill
- User asks to search files, documents, or notes
- User wants to find information in local folders
- User needs to index a directory for searching
- User mentions PDFs, markdown, Word docs, code to search
- User asks about knowledge base or RAG setup
- User wants semantic/vector search over their files
- User needs to set up MCP for document access
- User wants a web UI to browse/search documents
- User asks to get AI answers from their documents
- User wants to tag, categorize, or filter documents
- User asks about backlinks, wiki links, or related notes
- User wants to visualize document connections or see a knowledge graph
- User wants to export a note or collection for gno.sh publishing
Quick Start
gno init # Initialize in current directory
gno collection add ~/docs --name docs # Add folder to index
gno index # Build index (ingest + embed)
gno search "your query" # BM25 keyword search
Command Overview
| Category | Commands | Description |
|---|---|---|
| Search | search, vsearch, query, ask | Find documents by keywords, meaning, or get AI answers |
| Links | links, backlinks, similar, graph | Navigate document relationships and visualize connections |
| Retrieve | get, multi-get, ls | Fetch document content by URI or ID |
| Index | init, collection add/list/remove, index, update, embed | Set up and maintain document index |
| Tags | tags, tags add, tags rm | Organize and filter documents |
| Context | context add/list/rm/check | Add hints to improve search relevance |
| Models | models list/use/pull/clear/path | Manage local AI models |
| Serve | serve | Web UI for browsing and searching |
| Publish | publish export | Export gno.sh publish artifacts |
| MCP | mcp, mcp install/uninstall/status | AI assistant integration |
| Skill | skill install/uninstall/show/paths | Install skill for AI agents |
| Admin | status, doctor, cleanup, reset, vec, completion | Maintenance and diagnostics |
Search Modes
| Command | Speed | Best For |
|---|---|---|
gno search | instant | Exact keyword matching |
gno vsearch | ~0.5s | Finding similar concepts |
gno query --fast | ~0.7s | Quick lookups |
gno query | ~2-3s | Balanced (default) |
gno query --thorough | ~5-8s | Best recall, complex queries |
gno ask --answer | ~3-5s | AI-generated answer with citations |
Retry strategy: Use default first. If no results: rephrase query, then try --thorough.
Common Flags
-n <num> Max results (default: 5)
-c, --collection Filter to collection
--tags-any <t1,t2> Has ANY of these tags
--tags-all <t1,t2> Has ALL of these tags
--json JSON output
--files URI list output
--line-numbers Include line numbers
Global Flags
--index <name> Alternate index (default: "default")
--config <path> Override config file
--verbose Verbose logging
--json JSON output
--yes Non-interactive mode
--offline Use cached models only
--no-color Disable colors
--no-pager Disable paging
Index names follow the CLI filesystem-identity contract: 1–64 UTF-16 code
units, letter/number first, no trailing space or ., no .., separators, or
platform-invalid punctuation. NFC/case-equivalent names share one identity.
See docs/CLI.md under Global Options for the complete byte limits.
Non-default index search results may include ?index=<name> on gno:// URIs.
Keep that query string when passing the URI to gno get.
Important: Embedding After Changes
If you edit/create files that should be searchable via vector search:
gno index # Full re-index (sync + embed)
# or
gno embed # Embed only (if already synced)
MCP gno.sync and gno.capture do NOT auto-embed. Use CLI for embedding.
Reference Documentation
| Topic | File |
|---|---|
| Complete CLI reference (all commands, options, flags) | cli-reference.md |
| MCP server setup and tools | mcp-reference.md |
| Usage examples and patterns | examples.md |
Signals
- GitHub stars
- 109
- Forks
- 10
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
gno- Source
- github.com/gmickel/gno