1
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Configuration
2
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Navegador has minimal required configuration. The only thing you typically need to set is where the graph database lives.
4
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
6
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
7
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Database path
8
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
9
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### SQLite (default)
10
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
11
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
By default navegador writes a `navegador.db` file in the current working directory. Override with the `--db` flag or the `NAVEGADOR_DB` environment variable:
12
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
13
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
14
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# flag (takes precedence)
15
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
navegador ingest ./repo --db ~/.navegador/myproject.db
16
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
17
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# environment variable
18
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
export NAVEGADOR_DB=~/.navegador/myproject.db
19
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
navegador ingest ./repo
20
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
21
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
22
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
The `.navegador/` directory convention keeps the database alongside your project:
23
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
24
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
25
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
my-project/
26
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
.navegador/
27
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
navegador.db ← graph database
28
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
src/
29
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
...
30
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
31
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
32
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Add `.navegador/` to `.gitignore` — the database is a build artifact, not source.
33
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
34
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Redis (production)
35
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
36
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
For team or CI environments, point `NAVEGADOR_DB` at a Redis instance running FalkorDB:
37
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
38
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
39
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
export NAVEGADOR_DB=redis://localhost:6379
40
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
41
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
42
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
With authentication:
43
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
44
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
45
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
export NAVEGADOR_DB=redis://:[email protected] :6379
46
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
47
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
48
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Install the Redis extra if you haven't already:
49
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
50
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
51
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
pip install "navegador[redis]"
52
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
53
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
54
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
55
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
56
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## SQLite vs Redis: when to use which
57
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
58
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| | SQLite (falkordblite) | Redis (FalkorDB) |
59
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|
60
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Setup | Zero config | Requires a Redis server |
61
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Use case | Local dev, single developer | Team, CI, shared context |
62
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Persistence | Local file | Redis persistence config |
63
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Performance | Fast for single-user workloads | Scales to large codebases |
64
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Extra required | None (included) | `navegador[redis]` |
65
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
66
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Both backends implement the same `GraphStore` interface. You can migrate by re-ingesting against the new backend.
67
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
68
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
69
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
70
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## GitHub token
71
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
72
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Required for `navegador wiki ingest --repo owner/repo` to access private wikis or to avoid rate limits on public repos.
73
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
74
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
75
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
export GITHUB_TOKEN=ghp_...
76
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
navegador wiki ingest --repo myorg/myrepo
77
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
78
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
79
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
For public repos, wiki ingestion works without a token but will hit GitHub's unauthenticated rate limit (60 req/hr).
80
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
81
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
82
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
83
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Project-local config
84
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
85
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Drop a `.navegador/config.toml` in your project root for project-specific defaults:
86
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
87
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```toml
88
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[database]
89
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
path = ".navegador/navegador.db"
90
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
91
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[ingest]
92
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
exclude = ["node_modules", "dist", ".venv", "migrations"]
93
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
incremental = true # use content hashing by default
94
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
redact = false # strip secrets from ingested content
95
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
96
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[mcp]
97
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
read_only = false # set true to prevent agents from writing to the graph
98
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
max_query_complexity = 100 # Cypher query complexity limit
99
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## LLM provider config
104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Configure LLM providers used by `navegador ask`, `navegador docs`, and `navegador semantic-search`. Requires `pip install "navegador[llm]"`.
106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```toml
108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[llm]
109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
provider = "anthropic" # "anthropic", "openai", or "ollama"
110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
model = "claude-3-5-haiku-20241022"
111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[llm.anthropic]
113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
api_key_env = "ANTHROPIC_API_KEY" # env var name (not the key itself)
114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[llm.openai]
116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
api_key_env = "OPENAI_API_KEY"
117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
model = "gpt-4o-mini"
118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[llm.ollama]
120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
base_url = "http://localhost:11434"
121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
model = "llama3"
122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Cluster config
127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
For team deployments using a shared Redis graph with pub/sub, task queue, and session coordination:
129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```toml
131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[cluster]
132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
enabled = true
133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
redis_url = "redis://redis.internal:6379"
134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
graph_name = "navegador-team"
135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[cluster.pubsub]
137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
channel = "navegador:events"
138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[cluster.queue]
140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
name = "navegador:tasks"
141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[cluster.sessions]
143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ttl_seconds = 3600
144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
See the [Cluster mode](../guide/cluster.md) guide for full setup instructions.
147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Environment variable reference
151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Variable | Default | Description |
153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|
154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `NAVEGADOR_DB` | `./navegador.db` | Path to SQLite file or `redis://` URL |
155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `GITHUB_TOKEN` | — | GitHub personal access token for wiki ingestion |
156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `ANTHROPIC_API_KEY` | — | Anthropic API key for LLM features |
157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `OPENAI_API_KEY` | — | OpenAI API key for LLM features |
158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `NAVEGADOR_CONFIG` | `.navegador/config.toml` | Override config file path |
159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!