Skip to main content

What config.json Stores

Located at brain/config.json, this file stores application-level settings. It’s read on startup and can be modified via the Settings UI or by editing the file directly.

Configuration Fields

{
  "mind": {
    "provider": "deepseek",
    "model": "deepseek-v4-pro"
  },
  "providers": {
    "deepseek": {
      "apiKey": "",
      "model": "deepseek-v4-pro"
    },
    "anthropic": {
      "apiKey": "",
      "model": "claude-sonnet-4-20250514"
    },
    "openai": {
      "apiKey": "",
      "model": "gpt-4o"
    },
    "ollama": {
      "host": "http://localhost:11434",
      "model": "gemma3:4b"
    }
  },
  "language": "en"
}

Field Reference

FieldDescription
mind.providerActive LLM provider: deepseek, anthropic, openai, or ollama
mind.modelActive model name
providers.deepseek.apiKeyDeepSeek API key
providers.anthropic.apiKeyAnthropic API key
providers.openai.apiKeyOpenAI API key
providers.ollama.hostOllama server URL (default: http://localhost:11434)
languageUI language: en (English) or ar (Arabic)

Model Selection

Wolffish runs on an explicitly selected model — there is no automatic fallback. In Settings → Modes, you choose your Brain model (provider + model), and that’s the model that runs. The model you pick is the one that answers; if it fails, the turn fails rather than silently routing to another provider. Optionally, enable orchestrator mode to add a second Worker model the Brain can delegate parallel work to. See Orchestrator Mode for how that works. Even then there’s no cascade — the Brain and Worker models you selected are the ones that run. All providers are optional — you only need the one (or two) you actually select. To use Ollama, select it as your Brain model; there’s no automatic fall-through to local.
API keys are stored in plain text in config.json. This is by design — Wolffish is a local-first app and your workspace is your own. If you version-control your workspace with git, add brain/config.json to .gitignore.