~/.niom/config.json. That’s it. No .env files, no environment variables to juggle.
Common setups
Minimal (cloud AI, no extras)
Minimal (cloud AI, no extras)
The bare minimum to get running. Uses Claude with DuckDuckGo search (no API key needed):
Power user (multi-model + search + MCP)
Power user (multi-model + search + MCP)
Fast analysis with Groq, main work with Claude, vision with GPT-4o, Brave search, and GitHub connected:
Fully offline (Ollama, zero network)
Fully offline (Ollama, zero network)
Everything runs locally. No API keys, no cloud, no network calls:
Full reference
Core settings
| Field | Type | Default | What it does |
|---|---|---|---|
workspace | string | Home directory | Root directory for file operations — NIOM works within this folder |
gateway_key | string | — | Your AI Gateway API key (required for cloud models) |
provider | string | "anthropic" | Which LLM provider to use |
model | string | "anthropic/claude-4-sonnet-20250514" | The main model for execution |
sidecar_port | number | 3001 | Port the AI sidecar listens on |
Search
NIOM can search the web during conversations. Two providers are supported:| Field | Type | Default | What it does |
|---|---|---|---|
search.provider | "brave" or "duckduckgo" | "duckduckgo" | DuckDuckGo works without a key. Brave is faster and richer. |
search.api_key | string | — | Brave Search API key (free tier: 2,000 searches/month) |
Model roles
NIOM uses different models for different jobs — so you’re not paying premium prices for simple analysis:| Field | Used for | Default | Why |
|---|---|---|---|
model (your selection) | Main execution | Claude Sonnet | The workhorse. Handles tool calls, reasoning, and responses |
models.fast | Analysis + evaluation | Groq Llama 3.3 70B | Sub-second, cheap. Used for intent classification and quality checks |
models.vision | Screenshot understanding | GPT-4o | Needed for computer use — reads what’s on your screen |
File watching (Cortex)
NIOM watches your workspace for file changes to build context. You can tune what it watches:| Field | Type | Default | What it does |
|---|---|---|---|
cortex.watch_paths | string[] | [] | Extra directories to watch beyond your workspace |
cortex.excluded | string[] | Common excludes | Folder names to ignore (e.g., node_modules, .git, target) |
cortex.max_events | number | 1000 | How many file events to keep in memory |
MCP servers
Connect external tools by adding MCP servers. They auto-start when the sidecar boots:Where your data lives
All data in
memory/ is encrypted with AES-256-GCM. Even if someone accesses your ~/.niom/ directory, they can’t read your conversations, tasks, or learned facts.How to update your config
Three ways, pick whichever suits you:- Settings UI — open the overlay and go to Settings
- API call —
POST /providers/configure(docs) - Edit the file directly — change
~/.niom/config.json(requires sidecar restart)