LOKI LogoLOKIv1.10.0

AI Providers (LiteLLM)

Gemini is the bundled default (GEMINI_API_KEY). Use OpenAI, Anthropic, Mistral, Groq, Ollama or any LiteLLM-compatible model.

Configuration (`.loki/config.yaml`)

By default, LOKI uses Gemini (gemini/gemini-flash-latest) and reads GEMINI_API_KEY from your environment. You can override the provider, model, endpoint, or API key variable in .loki/config.yaml:

.loki/config.yaml
ai:
provider: gemini # Default provider (prefixes model if it has no "/")
model: gemini-flash-latest # Default model, or any LiteLLM id (e.g. openai/gpt-4o, ollama/llama3)
api_base: https://host/v1 # Optional: custom or local OpenAI-compatible endpoint
api_key_env: MY_PROVIDER_KEY # Optional: environment variable holding the API key
api_key: AIza... # Optional: inline API key (prefer api_key_env for shared repos)

Model Profiles (`.loki/models.json`)

LOKI also maintains a registry of named AI profiles in .loki/models.json (editable via /model inside loki chat). The active profile takes priority over .loki/config.yaml across every AI feature (chat, business rules evaluation, fix, and --auto-heal).

.loki/models.json
{
"active": "local-llama",
"profiles": [
{
"name": "local-llama",
"model": "ollama/llama3",
"api_base": "http://localhost:11434/v1"
},
{
"name": "work-mistral",
"model": "mistral/mistral-large-latest",
"api_key_env": "MISTRAL_API_KEY"
}
]
}

Resolution Priority

  • 1. Explicit --model CLI flag
  • 2. Active profile in .loki/models.json (managed with /model in loki chat)
  • 3. ai: section in .loki/config.yaml
  • 4. Bundled default (gemini/gemini-flash-latest)

API keys

bash
# Default provider (Gemini)
export GEMINI_API_KEY=AIza...
# Or on Windows PowerShell:
$env:GEMINI_API_KEY="AIza..."

Avoid committing plain-text api_key values in .loki/config.yaml or .loki/models.json to public repositories. Prefer environment variables (api_key_env).