Skip to content

Configuration

ramacharanreddy-k edited this page Apr 27, 2026 · 2 revisions

Config file lives at ~/.wikinow/config.yaml. Created with defaults on first run.


Every Setting Explained

projects.active

The currently active project name. Changed by wn use <name> or wn init <name>. All commands operate on this project.

ollama.api_key

API key for Ollama web search. The search_web() MCP tool uses this to search the internet. Leave empty if you don't need web search -- the AI can use its own built-in search as a fallback.

Can also be set via OLLAMA_API_KEY environment variable (takes priority over config file).

whisper.model

Which Whisper model to use for audio transcription. Default is turbo -- fast and accurate for English. Other options: tiny, base, small, medium, large-v3 (slower but more accurate for difficult audio).

ingestion.jina_api_key

API key for Jina Reader. Without a key, you get 20 requests per minute. With a key, 500 RPM. Only needed if you're ingesting many URLs in a short time.

Can also be set via JINA_API_KEY environment variable (takes priority over config file).

ingestion.auto_compile

Default true. Reserved for future use -- will control whether the AI automatically compiles sources after ingest.

ingestion.auto_watch

Default false. Reserved for Phase 2 -- will enable a file watcher on raw/ that triggers ingest when new files are added.

search.max_results

Default 10. How many results search() and wn search return. Increase if you have a large wiki and want broader results.


Changing Config

Via CLI

$ wn config whisper.model large-v3
╭─ Config Updated ────────────────────────────────────╮
│ whisper.model = large-v3                            │
╰─────────────────────────────────────────────────────╯

$ wn config search.max_results 20
╭─ Config Updated ────────────────────────────────────╮
│ search.max_results = 20                             │
╰─────────────────────────────────────────────────────╯

Values are automatically coerced: "true" becomes boolean true, "20" becomes integer 20.

Via Environment Variables

Env vars override config file values. Useful for CI or shared environments where you don't want keys in files:

export OLLAMA_API_KEY="your-key-here"
export JINA_API_KEY="your-key-here"

By Editing the File

You can also edit ~/.wikinow/config.yaml directly. WikiNow reads it fresh on every startup.


Resilience

  • Missing config file -- created with defaults automatically on first run
  • Missing keys -- if you upgrade WikiNow and new settings are added, the missing keys get filled with defaults. Your existing settings are preserved.
  • Extra keys -- if you add custom keys to the YAML file, they're preserved across reads/writes. WikiNow won't delete what it doesn't recognize.
  • Corrupted YAML -- if the config file has invalid syntax, WikiNow falls back to defaults silently instead of crashing. Your next wn config key value will write a clean file.

Viewing Current Config

$ wn config
╭─ Configuration ─────────────────────────────────────╮
│ projects:                                           │
│   active: ml-research                               │
│ ollama:                                             │
│   api_key: ''                                       │
│ whisper:                                            │
│   model: turbo                                      │
│ ingestion:                                          │
│   jina_api_key: ''                                  │
│   auto_compile: true                                │
│   auto_watch: false                                 │
│ search:                                             │
│   max_results: 10                                   │
╰─────────────────────────────────────────────────────╯

Clone this wiki locally