Practical GNO recipes for keeping collections fresh, building personal knowledge bases, connecting AI tools, and recovering stale indexes.
Index a personal knowledge base, research archive, meeting notes, PDFs, or a Karpathy-style memory bank; installed skills search that index before they answer.
For second-brain work, create typed pages with gno capture --preset person, --preset company-project, --preset meeting, or --preset idea-original. Keep the current synthesis above ## Timeline and the evidence trail below it.
Installed skills also include recipes for brain-first lookup, capture/file, meeting ingestion, email context, source summaries, idea capture, and citation/provenance. Preview them with gno skill show --file recipes/brain-first-lookup.md. These recipes use local indexed context and user-supplied/exported external material; they do not add native Gmail, Calendar, Slack, webhook, cron, or background-agent automation.
Use gno daemon when you want local file changes to become searchable without keeping the Web UI open.
gno init ~/Documents/Knowledge --name knowledge
gno index --models-pull
gno daemon --detach
gno daemon --status
gno daemon --stopThe daemon watches configured collections, syncs changed files, and embeds new chunks. It also exposes the resident MCP endpoint at http://127.0.0.1:3000/mcp and safe redacted status routes, without the browser or full REST API. Use --no-sync-on-start if you only want future changes handled. For git-backed folders, run gno update --git-pull or gno index --git-pull when you want remote commits pulled in.
The daemon picks up atomic saves and folder deletions on local disks. It can miss changes on network or removable drives; run gno update after reconnecting or remounting them.
When a deleted file comes back at the same path, the next sync restores it and records one change event, even if its bytes are identical. Unchanged text keeps its existing vectors; a changed title, body, or embedding model needs new embeddings. Run gno embed after gno update when embeddings are pending. Interrupted work resumes where it stopped. Sync also updates links from other collections that point at changed files.
gno index, then keep them fresh with gno daemon --detach.contentTypes:
- id: person
prefixes: [people/]
preset: person
- id: meeting
prefixes: [meetings/]
preset: meetinggno collection add ~/Documents/Research --name research
gno collection add ~/Documents/Notes --name notes
gno collection add ~/Downloads/Papers --name papers
gno index
gno mcp install --target claude-desktop
gno skill install --target all --scope user --forcePick the integration by how you want the assistant to behave.
/gno lookups with low context overhead.gno mcp install --target cursor --scope project
gno skill install --target codex --scope userStart the local workspace, then add folders and manage indexing from the browser.
gno serve
open http://localhost:3000Use Search for retrieval, Ask for cited answers, Browse for document navigation, Graph for relationships, and Collections for folder management.
gno ls --collection notes.gno update.gno embed notes.gno index.gno doctor.If you changed the embedding model, clear stale collection embeddings before rebuilding them:
gno collection clear-embeddings notes
gno embed notesCombine filters when your archive grows beyond simple search.
gno query "learning loops" --collection research --tags-any ai,pkm
gno ask "what are my strongest notes on retrieval?" --since "last month" --answer
gno graph --neighbors gno://notes/llm-memory.md --include-similar
gno graph --from gno://notes/a.md --to gno://notes/b.mdLocal GNO stays private. When you intentionally want to publish a note or collection, export an artifact and upload it through gno.sh Studio.
gno publish export atlas --out ~/Downloads/atlas.jsonThen open /studio, import the artifact, and pick public, secret-link, invite-only, or encrypted sharing.