Skip to content

Configuration ​

Global settings live in doru.json in the app's config directory:

OSPath
macOS~/Library/Application Support/Doru/doru.json
Windows%APPDATA%\Doru\doru.json
Linux~/.config/Doru/doru.json

The file is created with defaults on first run. It is plain JSON with comments allowed — edit it with any editor; changes are picked up live while the app is running. The AI provider is normally configured from the in-app Settings (gear icon in the left bar) — see AI and agents.

Full reference:

jsonc
{
  // AI provider — set from Settings (gear icon) or here directly.
  "ai": {
    // openai | anthropic | gemini | openrouter | ollama | lmstudio | custom | acp
    "provider": "openai",
    "baseUrl": "",   // optional override of the provider's default endpoint
    "model": "",
    // For "acp" only: the agent binary to spawn.
    // "command": "my-agent",
    // "args": []
  },

  // External MCP servers whose tools the in-app agent may use.
  "mcp": {
    "servers": [
      {
        "name": "web",
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-brave-search"],
        "env": { "BRAVE_API_KEY": "…" }
      }
    ]
  },

  // Themes: pick one per OS appearance. The OS decides which is used.
  "theme": {
    "dark": "doru-dark",
    "light": "doru-light"
  }
}

Environment variables (useful for secrets): DORU_AI_API_KEY and DORU_AI_MODEL override the corresponding values.

Dóru — local-first genealogy for the AI era.