← Back to Skills Marketplace
gmickel

Gno

by gmickel · GitHub ↗ · v1.2.0 · MIT-0
cross-platform ✓ Security Clean
3369
Downloads
4
Stars
9
Active Installs
7
Versions
Install in OpenClaw
/install gno
Description
Search local documents, files, notes, and knowledge bases. Index directories, search with BM25/vector/hybrid, get AI answers with citations. Use when user wa...
README (SKILL.md)

GNO - Local Knowledge Engine

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 (search/vsearch/query/ask)

-n \x3Cnum>              Max results (default: 5)
-c, --collection      Filter to collection
--tags-any \x3Ct1,t2>    Has ANY of these tags
--tags-all \x3Ct1,t2>    Has ALL of these tags
--since \x3Cdate>        Modified after date (ISO: 2026-03-01)
--until \x3Cdate>        Modified before date (ISO: 2026-03-31)
--exclude \x3Cterms>     Exclude docs containing any term (comma-separated)
--intent \x3Ctext>       Disambiguate ambiguous queries (e.g. "python" = language not snake)
--json                JSON output
--files               URI list output
--line-numbers        Include line numbers

Advanced: Structured Query Modes (query/ask only)

Use --query-mode to combine multiple retrieval strategies in one query (repeatable):

# Combine keyword + hypothetical document
gno query "API rate limiting" \
  --query-mode "term:rate limit" \
  --query-mode "hyde:how to implement request throttling"

# Add intent steering
gno query "python" \
  --query-mode "term:python" \
  --query-mode "intent:programming language"

Modes: term:\x3Ctext> (keyword), intent:\x3Ctext> (disambiguation), hyde:\x3Ctext> (hypothetical doc for semantic matching). Max one hyde per query.

Document Retrieval

# Full document by URI
gno get gno://work/readme.md

# By document ID
gno get "#a1b2c3d4"

# Specific line range: --from \x3Cstart> -l \x3Ccount>
gno get gno://work/report.md --from 100 -l 20

# With line numbers
gno get gno://work/report.md --line-numbers

# JSON output with capabilities metadata
gno get gno://work/report.md --json

# Multiple documents
gno multi-get gno://work/doc1.md gno://work/doc2.md

Editable vs read-only: gno get --json returns a capabilities field showing whether a document is editable at its source. Markdown and plain text files are editable in place. Converted documents (PDF, DOCX, XLSX) are read-only -- to edit their content, create a new markdown note instead of overwriting the binary source.

Search Then Get (common pipeline)

# Search, get full content of top result
gno query "auth" --json | jq -r '.results[0].uri' | xargs gno get

# Get all results
gno search "error handling" --json | jq -r '.results[].uri' | xargs gno multi-get

Document Links & Similarity

# Outgoing links from a document
gno links gno://notes/readme.md

# Find documents linking TO a document (backlinks)
gno backlinks gno://notes/api-design.md

# Find semantically similar documents
gno similar gno://notes/auth.md

# Similar across all collections (not just same collection)
gno similar gno://notes/auth.md --cross-collection

# Stricter threshold (default: 0.7)
gno similar gno://notes/auth.md --threshold 0.85

# Knowledge graph
gno graph --json
gno graph -c notes --similar   # Include similarity edges

Global Flags

--index \x3Cname>    Alternate index (default: "default")
--config \x3Cpath>   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

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)
gno embed travel       # Embed one collection only
# or
gno embed --collection travel

MCP gno.sync and gno.capture do NOT auto-embed. Use CLI for embedding.

Collection-specific embedding models

Collections can override the global embedding model with models.embed.

CLI path:

gno collection add ~/work/gno/src \
  --name gno-code \
  --embed-model "hf:Qwen/Qwen3-Embedding-0.6B-GGUF/Qwen3-Embedding-0.6B-Q8_0.gguf"

Good default guidance:

  • keep the global preset for mixed notes/docs collections
  • use a collection-specific embed override for code-heavy collections when benchmark guidance says so
  • after changing an embed model on an existing populated collection, run:
gno embed --collection gno-code

If you want to remove old vectors after switching:

gno collection clear-embeddings gno-code        # stale models only
gno collection clear-embeddings gno-code --all  # remove everything, then re-embed

MCP-equivalent write tool:

  • gno_clear_collection_embeddings

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
Usage Guidance
This skill is coherent for local document search and appears to do what it says. Before installing or using it: (1) ensure you trust the gno CLI source if you run the curl/npm install commands; (2) be aware that running `gno serve` or `gno mcp install` will start local services and may modify client config files (only enable these when you intend to expose/search those documents); (3) the skill does not request cloud credentials, but `gno models pull` can download models from the network — review what it downloads; (4) if you do not want persistent integration, avoid running MCP install or the web UI. If you want higher assurance, inspect the gno CLI repository linked in the README before installing.
Capability Analysis
Type: OpenClaw Skill Name: gno Version: 1.2.0 The 'gno' skill bundle provides a comprehensive interface for a local semantic search and knowledge management engine. It follows security best practices by restricting the agent's execution environment to a specific command prefix (Bash(gno:*)) and provides clear, well-documented instructions for indexing, searching, and retrieving local documents. While it includes features for modifying AI client configurations (gno mcp install) and exporting data (gno publish export), these are explicitly stated features aligned with its purpose as a RAG (Retrieval-Augmented Generation) tool, and no evidence of malicious intent or prompt injection was found.
Capability Tags
cryptocan-make-purchasesrequires-oauth-tokenrequires-sensitive-credentials
Capability Assessment
Purpose & Capability
Name/description = local document search/indexing. The skill only requires the gno CLI (documented) and Read access; allowed-tools restrict the agent to Bash(gno:*) and reading files. Nothing requests unrelated cloud credentials or unrelated binaries.
Instruction Scope
SKILL.md instructs the agent to index/search local files, manage local models, run `gno serve` (local web UI) and `gno mcp install` (client integration). Those actions are in-scope for a local search skill, but they can start local servers and modify client config files (Claude config paths are documented). User awareness is advised before enabling MCP or serve.
Install Mechanism
Instruction-only skill (no install spec, no files executed by the platform). README shows user-side install commands for the gno CLI (curl pipe or npm), but the skill itself does not download or install code on its own.
Credentials
The skill declares no environment variables, no secrets, and does not ask for unrelated credentials. Model downloads are optional (`gno models pull`), but that is expected for local model management and requires user action.
Persistence & Privilege
always:false and autonomous invocation allowed (normal). The skill documents installing an MCP server and running a local web UI; these create persistent local services that can expose indexed content to client tools — this is expected functionality but should be enabled intentionally by the user.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install gno
  3. After installation, invoke the skill by name or use /gno
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.2.0
Native --detach / --status / --stop for gno serve and gno daemon (gno 1.2.0). New flag table + dedicated `### gno daemon` section in cli-reference.md teaches agents the full lifecycle: --pid-file, --log-file, --status (with --json gating), --stop (silent NOT_RUNNING), and exit code 3. Mutual exclusion of --detach/--status/--stop documented. Live-foreign (version-mismatched detached process) handling explained. Windows --detach gated with WSL guidance. Replaces all stale `nohup gno daemon` recipes.
v1.0.4
### Publishing (new surface) - `gno publish export <target>` ships notes and collections as gno.sh artifacts. Target can be a URI (`gno://coll/path.md`) or a collection name. - Visibility modes: `public`, `secret-link`, `invite-only`, `encrypted`. - `--passphrase` for encrypted exports — ciphertext is produced locally with AES-GCM before upload; gno.sh never sees plaintext. - `--preview` prints the sanitized markdown + per-warning preprocessor report instead of writing an artifact. - Obsidian pre-processor: converts `[[Target|Alias]]` to the alias, strips `[[_internal/...]]` references (privacy guard), drops the `[[Hub]] | [[Related]]` nav-sidebar idiom, warns on `![[image]]` embeds (attachments not bundled yet). - `publish: false` frontmatter is honored — single-note export errors, collection export silently skips. ### Search and retrieval - Tiered search modes: `--fast`, default, `--thorough` — speed vs recall tradeoff on `query` and `ask`. - `--query-mode` repeatable with `term:`, `intent:`, `hyde:` to combine keyword + disambiguation + hypothetical-document search in a single call. - `--intent` steering for ambiguous terms (e.g. `gno query "python" --intent "programming language"`). - `similar`, `backlinks`, `links` commands for navigating the note graph; `--cross-collection` and `--threshold` tuning. - `graph` command for the knowledge graph (JSON, collection-scoped, optional similarity edges). ### Embeddings and models - Default embedding model switched to `Qwen3-Embedding-0.6B-GGUF` (major retrieval-quality win on code + multilingual prose). - Per-collection embedding overrides: `gno collection add --embed-model <uri>` and `gno collection clear-embeddings <name> [--all]`. - Compatibility profiles and batch fallback for more forgiving model support. - `gno embed [collection]` / `gno embed --collection <name>` for scoped re-embedding after model changes. ### Document retrieval - `get --from <line> -l <count>` for line ranges, `--line-numbers`, `--json` with editable-vs-read-only capabilities metadata. - `multi-get` for batching. - `ls` for browsing. ### Agent integration - `gno skill install --target {claude,codex,opencode,openclaw,all}` — OpenCode and OpenClaw targets added. - `gno mcp install/uninstall/status` for MCP server management. - Added `README.md` to the skill package so the ClawHub landing page documents both install paths (`gno skill install` locally vs `openclaw skills install gno` from ClawHub). ### Tags and context - Tag filtering on every search/query/ask: `--tags-any`, `--tags-all`. - `context add/list/rm/check` for collection- or prefix-scoped retrieval hints.
v0.14.3
- Knowledge graph - Note linking/backlinks - Tag system - MCP embed/index tools - Verbose error reporting - Walker improvements
v0.13.0
• Knowledge graph: `gno graph` command for visualizing document connections with similarity edges • Note linking: `gno links`, `gno backlinks`, `gno similar` commands for navigating connections • Tag filtering: `--tags-any` / `--tags-all` flags for filtering search by frontmatter tags
v0.10.2
v 0.10.2 Refactored skill to be more progressively discoverable
v0.10.0
v 0.10.0 Tag System - Organize and filter documents by tags
v0.9.6
SKILL.md frontmatter - allowed-tools now space-delimited per Agent Skills spec
Metadata
Slug gno
Version 1.2.0
License MIT-0
All-time Installs 9
Active Installs 9
Total Versions 7
Frequently Asked Questions

What is Gno?

Search local documents, files, notes, and knowledge bases. Index directories, search with BM25/vector/hybrid, get AI answers with citations. Use when user wa... It is an AI Agent Skill for Claude Code / OpenClaw, with 3369 downloads so far.

How do I install Gno?

Run "/install gno" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Gno free?

Yes, Gno is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Gno support?

Gno is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Gno?

It is built and maintained by gmickel (@gmickel); the current version is v1.2.0.

💬 Comments