Explore Connections, Not Just Results

Interactive graph visualization of document connections across your local knowledge base. Explore wiki links, markdown links, and semantic similarity, then jump straight into the source note.

Key Benefits

  • Interactive force-directed visualization
  • Wiki links, markdown links, and similarity edges
  • Filter by collection
  • Click nodes to navigate to documents
  • Zoom, pan, and explore
  • CLI and REST API access

Example Commands

gno graph gno graph --collection notes gno serve # then /graph

Get Started

Ready to try Knowledge Graph?

Visualize Your Knowledge

See your document connections at a glance. The Knowledge Graph renders your notes as an interactive constellation—nodes are documents, edges are links between them.

Knowledge Graph

What You’ll See

  • Wiki links: [[Document Name]] connections shown as teal edges
  • Markdown links: [text](path.md) shown as lighter edges
  • Similar documents: Optional gold edges for semantically related notes (requires vector index)

Web UI

Access the graph at http://localhost:3000/graph after starting the server:

gno serve
  • Click a node to navigate to that document
  • Hover to see document title and connection count
  • Scroll to zoom in/out
  • Drag to pan the view
  • Use the +/- buttons for zoom controls

Filtering

  • Collection filter: Focus on a single collection
  • Similar toggle: Show/hide semantic similarity edges (golden lines)

Legend

The bottom-right legend shows edge types:

  • Teal: Wiki links ([[...]])
  • Light teal: Markdown links ([...](...))
  • Gold: Similarity connections (when enabled)

CLI Access

Generate graph data from the command line:

# Full graph
gno graph

# Filter by collection
gno graph --collection notes

# JSON output
gno graph --json

# Include similarity edges
gno graph --similar

# Limit nodes/edges
gno graph --limit 500 --edge-limit 2000

Options

Flag Description Default
--collection Filter to single collection all
--limit Max nodes to return 2000
--edge-limit Max edges to return 10000
--similar Include similarity edges false
--threshold Similarity threshold (0-1) 0.7
--linked-only Exclude isolated nodes true
--json JSON output false

REST API

Programmatic access via HTTP:

# Basic graph
curl http://localhost:3000/api/graph

# With options
curl "http://localhost:3000/api/graph?collection=notes&includeSimilar=true&limit=1000"

Query Parameters

Param Description Default
collection Filter to collection -
limit Max nodes 2000
edgeLimit Max edges 10000
includeSimilar Include similarity edges false
threshold Similarity threshold (0-1) 0.7
linkedOnly Exclude isolated nodes true
similarTopK Similar docs per node 5

Response

{
  "nodes": [
    {
      "id": "doc-123",
      "uri": "notes/my-note.md",
      "title": "My Note",
      "collection": "notes",
      "relPath": "my-note.md",
      "degree": 5
    }
  ],
  "links": [
    {
      "source": "doc-123",
      "target": "doc-456",
      "type": "wiki",
      "weight": 1
    }
  ],
  "meta": {
    "totalNodes": 150,
    "totalEdges": 320,
    "truncated": false
  }
}

Use Cases

  • Knowledge exploration: Discover unexpected connections
  • Documentation audit: Find orphaned or poorly-connected docs
  • Research navigation: Follow citation chains visually
  • Onboarding: Help new team members understand doc structure
  • Content planning: Identify gaps in your knowledge base

Performance

The graph handles large collections efficiently:

  • Default limits: 2000 nodes, 10000 edges
  • Particle animations disabled for 500+ edges
  • Lazy-loaded graph library (~250KB)
  • Client-side caching for smooth navigation

For very large graphs, filter by collection or adjust limits.

Getting Started

# Index your documents
gno index

# Start the web server
gno serve

# Open the graph
# http://localhost:3000/graph

Or via CLI:

gno graph --json | jq '.nodes | length'
# 142